AQuAMan

Overview

As 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

  • Automate 80% of the Peer Review checklist items
  • Register Appian applications and define common standards across that application
  • Run a suite of tests across an application patch
  • Report on failed tests
  • Copy tests between applications
  • Define new object/attribute tests (including database table and view objects) and apply within an application
  • Set the reported significance for a failed test (Fail/Warning/Information)
  • Report on unused variables in Expression Rules and Interfaces
  • Report on the complexity score for Expression Rules and Interfaces
  • Report on missing labels/accessibility text for Interface Object components

Anonymous
  • Hi  ,

    I'm getting an error importing the application to an environment where the primary language is Spanish, the process models that do not have the Spanish language configured are the next ones:


    processModel 0000e58d-b678-8000-3c32-564d98564d98 "{en_GB=AQA Database Object Analysis, en_US=AQA Database Object Analysis}": Se produjo un error al crear processModel [uuid=0000e58d-b678-8000-3c32-564d98564d98]: com.appiancorp.process.validation.ValidationException: Process Model is not valid. The process model must have a valid name in the site primary language: Spanish. (APNX-1-4071-007)


    processModel 0002eb2a-bbf6-8000-55a7-3a4d983a4d98 "{en_GB=AQA Interface Object Analysis, en_US=AQA Interface Object Analysis}": Se produjo un error al crear processModel [uuid=0002eb2a-bbf6-8000-55a7-3a4d983a4d98]: com.appiancorp.process.validation.ValidationException: Process Model is not valid. The process model must have a valid name in the site primary language: Spanish. (APNX-1-4071-007)


    processModel 0016e5bb-b5d7-8000-3c89-564d98564d98 "{en_GB=AQA Patch Management, en_US=AQA Patch Management}": Se produjo un error al crear processModel [uuid=0016e5bb-b5d7-8000-3c89-564d98564d98]: com.appiancorp.process.validation.ValidationException: Process Model is not valid. The process model must have a valid name in the site primary language: Spanish. (APNX-1-4071-007)

    Could you apply this changes?

    Thanks in advance.

  • In the Application Record Type remove the line "isCancel: null, /* Boolean */" in the context for the Import Tests

  • HI  ,

    After adding the application, in QA rule view upon clicking on "Import Test" action it is throwing error, could you pls help on this?

      

  • Anyone having working database scripts for this utility using Microsoft SQL Server (version 15.00.4335) Database?

    We are using Appian 22.4.455.0

  • Hi  

    Try changing the end of the expression AQA_ER_getPatchMetadata to this:

      local!appianVersion: filter(
        fn!regexmatch("Appian-Version",_),
        local!manifestContentItems
      ),
      local!createdOn: filter(
        fn!regexmatch("Created-On",_),
        local!manifestContentItems
      ),
      'type!{urn:com:appian:types:AQA}AQA_PATCH_METADATA'(
        appianVersion: trim(split(local!appianVersion,"Appian-Version:"))[2],
        patchDateTime: rule!AQA_ER_getPatchDateTime(patchCreatedDate: trim(split(local!createdOn,"Created-On:"))[2])
      )
  • Hi!

    I am testing the Aquaman on version 24.2 and it seems that definition for Translation Strings are missing from AOA_OBJECT_TYPE, AOA_OBJECT_ATTRIBUTE tables. 

    Is there a patch existing or planned?

    Thank you!

  • Hi @,

    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.0
    Appian-Version: 24.2.295.0
    Created-On: 2024-07-04T12:09:28.760Z

    older version:

    Manifest-Version: 1.0
    Created-On: 2021-08-19T07:11:28.264Z
    Appian-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.

  • Hi  - whilst you cannot export the whole of an analysis in a WebAPI the WebAPIs you mention can be used as part of a CI/CD pipeline.:

    • AQA_WA_analysePatch - you can use this WebAPI to trigger an analysis. You need to pass AQuAMan the patch you want to analyse as a zip document; and you need to pass it the target Application UUID so that AQuAMan knows which registered application you want to conduct the analysis under. This WebAPI will return the PatchId to be used in the other WebAPI
    • AQA_WA_getPatchAnalysisSummary - your CI/CD pipeline can call this WebAPI (using the PatchId value returned from the previous WebAPI) to determine if the analysis has completed or not; and it it has what the overall analysis result is (which will either be "Pass" or "Fail")

    Were you expecting/wanting a WebAPI to be able to do something else?

  • Hi   - thanks for adding this clarification. I've tried to articulate in the documentation that AQuAMan simply presents some findings (always expressed as "risks") and that it's entirely up to the user to establish what the risks are and whether what - if anything - should be done to address them. And, of course, context is key in any such  assessment.

    In short: AQuAMan should not be used as a blunt tool where the findings are Boolean (good versus bad!) but as a source of insight from which actions may be taken.

  • Hi Team, 

    The client has asked us if it would be possible to export the Aquaman analyzes. I have seen that the application has this two web apis: 

    But it seems that none of them work for what the client is asking for.

    Is there a way to expose these analyzes in a web api so that they are consumed by a CI/CD tool?

    Thanks!