OverviewAs a Peer Reviewer, I want to have a fast and predictable method of checking the quality of application patches so that I do not have to exert a lot of time and energy manually checking these against the application standards.
As a Lead Developer, I want to define and manage the quality standards that comprise the 'Definition of Good' for my application so that they can be applied and reported on in a peer review against an application patch.
Key Features & Functionality
Hi @Stewart Burchell,
Aquaman is not working with latest Appian version 24.2 as we are getting error:
An error occurred while evaluating expression: patchMetaData:rule!AQA_ER_getPatchMetadata(patchContent: pv!patchContent) (Expression evaluation error in rule 'aqa_er_getpatchmetadata' at function 'type!{urn:com:appian:types:AQA}AQA_PATCH_METADATA' [line 26]: Invalid index (2) for list: valid range is 1..1) (Data Outputs)
it is due to change in the order of manifest file in new version:
the new version of manifest file:
Manifest-Version: 1.0Appian-Version: 24.2.295.0Created-On: 2024-07-04T12:09:28.760Z
older version:
Manifest-Version: 1.0Created-On: 2021-08-19T07:11:28.264ZAppian-Version: 21.2.335.0
I have changed the index in AQA_ER_getPatchMetadata from 3 to 2 but Aquaman result showing no analysis.
Can you please check that.
Per my observation, there are two issues
1. Appian function `document()` returns the filename without extension for `name` attribute - check on line 7 (AQA_ER_getPatchMetadata)
document(fv!item,"name")=cons!AQA_TEXT_MANIFEST_NAME
will never match the manifest file from the patch because
2. the constant AQA_TEXT_MANIFEST_NAME has by default the full filename as value (MANIFEST.MF). Hence, the local variable `local!manifest` will remain empty. This leads to
3. local variable `local!manifestContent` will initialize as list of strings (because the manifest file seems not present in the patch), not as a single string (as it is done by the readtextfromfile() function)
4. function `fn!keyval()` expects a single string, not a list of strings. In this case, it receives a list of strings and will never return the expected value (Created-On), but null instead
This causes the error described above.
Stewart Burchell Would you please consider looking at this and fixing it in the source code?