Approvals

There are 2 types of Approvals which may be set on Test or Production Levels (Level Approvals).

  • A Pre-Approval is created when delivering a Level Request to the Level, i.e., before the Level Request is executed.

  • A Post-Approval is created after the Level Request has been executed, enabling to verify if the actions on the Level and/or the Environments were successful.

A Pre-Approval enables a verification moment before executing a Level Request on a Test or Production Level. It adds an extra condition to the execution of the Level Request: not only must the Requested Date/Time be expired, but the Pre-Approval must also be granted by an IKAN ALM User. As long as both conditions are not fulfilled, the Level Request will not be handled. When a Pre-Approval is rejected, the Level Request will never be handled.

A Post-Approval enables a verification moment after the execution of the Level Request on a Test or Production Level. It adds an extra condition to the determination of the end status of a Level Request: not only must all Build(s) or Deploy(s) have been ended successfully, but the Post-Approval must also be granted by an IKAN ALM User. As long as the Post-Approval is not handled, the Level Request status will not be set to warning or success. When a Post-Approval is rejected, the Level Request can never be delivered to the next Level in the Lifecycle.

Every approval is protected by a User Group: only a User belonging to that User Group may grant or reject the Approval.

For example, assume a Lifecycle with one Build, Test and Production Level: a Post-Approval on the Test Level will generate a verification moment after the Level Request is executed on the Test Level. This enables the people from Test to judge whether the Level Request is qualified to deliver to the Production Level. Additionally, a Pre-Approval is set on the Production Level. This generates a verification moment before the Level Request is executed on the Production Level, enabling people from Production or management to judge whether everything is OK before “going into Production”.

It is also possible to have a hierarchy of Approvals on a Level, e.g., with one or more Pre- and one or more Post-Approvals. Every Approval will result in a notification mail to the Users belonging to the protecting User Group, asking them to grant or reject the Approval via the Outstanding Approvals interface.

Approvals can be approved and rejected through 4 methods: Action links on the Level Request Details Summary tab, the Outstanding Approvals page, the Approvals Overview page and the approvals Rest API endpoint.

Refer to the following sections for more information about:

The Outstanding Approvals

  1. Select Approvals > Outstanding Approvals on the Main Menu.

    The Outstanding Approvals screen displays all currently outstanding Approvals which you (or another member of your User Group) can approve or reject.

    Desktop OutstandingApprovals Overview
  2. Verify the information.

    The Overview only lists the Level Requests you are entitled to approve or reject. For each displayed Outstanding Approval, the following information is available:

    Columns marked with the icon sort icon can be sorted alphabetically (ascending or descending).

    Field Meaning

    Status

    This field displays the waiting approval Awaiting Approval status.

    This status means that you (or another member of your User Group) can approve or reject this Approval.

    Type

    This field contains the Approval Type. There are two possibilities:

    • icon preApproval (Pre-Approval)

      This Approval must be given before the Sources or Build Result are delivered to the requested Level.

    • icon postApproval (Post-Approval)

      This Approval must be given at the end of the Level Request, after the Build(s) or Deploy(s) linked to the Level Request have been executed.

    Project Stream

    This name in this field is composed as follows:

    • Project name

    • Project Stream type: H for Head and B for Branch.

    • Prefix and, optionally, suffix of the Project Stream

    Example: Webpad H_1-0

    With: H = Head and 1-0 = Prefix

    Level Name

    This field contains the name and type of the Level to which a Build will be delivered as a result of this Level Request.

    There are two possible types:

    • Test: The Approval is associated with a TEST Level.

    • Production: The Approval is associated with a PRODUCTION Level.

    See Levels

    Level Request OID

    This field contains the sequential number of the Level Request.

    All Level Requests defined for a Project are numbered sequentially.

    Level Request Status

    This field contains the waiting approval Level Request status icon.

    There are 2 possibilities:

    • Awaiting Pre-Approval

    • Awaiting Post-Approval

    Level Request VCR Tag

    This field contains the VCR Tag of the Level Request. This Tag matches a Build with its source code in the VCR.

    The format of the VCR Tag normally matches the Tag Template defined for the Stream. See Project Streams

    However, the user can override the default VCR Tag while creating a Level Request, so that the Tag Format can be completely different.

    Creation Date/Time

    This field contains the Date and Time when the Level Request was created.

    Request Date/Time

    This field contains the Date and Time when the execution of the Level Request was asked. The Level Request will not be handled before this point in time is reached.

  3. Use the appropriate link for approving or rejecting an Approval.

    The following links are available in front of each Outstanding Approval:

Approving Outstanding Approvals

  1. Select Approvals > Outstanding Approvals on the Main Menu.

    The Approve and Reject links are also available on the Approvals Overview screen.

  2. Click the approve Approve link to approve the Level Request.

    The Approve Level Request pop-up window is displayed:

    Desktop OutstandingApprovals Approve
  3. Verify the information on the Level Approval List panel.

    Field Meaning

    Type

    This field contains the Approval Type. There are two possibilities:

    • icon preApproval Pre-Approval

    • icon postApproval Post-Approval

    Status

    This field contains the approval status.

    The following status icons are available:

    • icon approvalWaitingApproval Awaiting Approval: you (or another member of your User Group) can grant or reject this Approval.

    • icon approvalWaitingPredecessor Awaiting Predecessor Approval: a higher-level Approval (having a lower sequential number) must be granted, before you (or another member of your User Group) can grant or reject this Approval.

    • icon approvalApproved Approved: the Approval has been granted

    • icon approvalRejected Rejected: the Approval has been rejected

    • icon approvalCancelled Canceled: a preceding Approval has been rejected or, in case of a canceled Post-Approval, the Level Request has been aborted or canceled in the meantime.

    • icon approvalWaitingLRFinish Awaiting Level Request Finish: this status indicates that the Level Request has not been executed yet.

    User Group

    This field contains the name of the IKAN ALM User Group of which a member must grant or reject the approval

    User

    This field contains the ID of the User, who granted or rejected the approval. This field is empty for outstanding approvals.

    Approval Date/Time

    This field contains the date and time, when the approval was granted or rejected. This field is empty for outstanding approvals.

    Reason

    This field contains the Reason of approval or rejection, as defined by the user. This field is empty for outstanding approvals.

  4. Optionally, enter the reason for approving the Level Request on the Approve Level Request panel.

  5. Click Approve to confirm the action.

    You can also click Cancel to close the pop-up window without approving the Level Request.

Rejecting Outstanding Approvals

  1. Select Approvals > Outstanding Approvals on the Main Menu.

    The Approve and Reject links are also available on the Approvals Overview screen.

  2. Click the reject Reject link to reject the Level Request.

    The Reject Level Request pop-up window is displayed.

    Desktop OutstandingApprovals Reject
  3. Verify the information on the Level Approval List panel.

    The Level Approval List displays additional information concerning the Approvals. Approving Outstanding Approvals

  4. Enter the reason for rejecting the Level Request on the Approve Level Request panel.

  5. Click Reject to confirm the action.

    You can also click Cancel to close the pop-up window without rejecting the Level Request.

The Approvals Overview Screen

  1. Select Approvals > Overview Approvals on the Main Menu.

    The following screen is displayed:

    Desktop Approvals Overview
  2. Use the search criteria on the Search Level Approvals panel to only display the Approvals you are looking for.

    Approvals SearchPanel

    The following options are available:

    • Search: in principle it is not necessary to click the Search option. The results on the overview will be automatically synchronized in function of the selected criteria.

    • Reset search: to clear all search criteria and display the full list of items.

  3. Verify the Approval information fields.

    Outstanding Approvals for you (or other members of your User Group) are preceded by the Approve and Reject icons.

    Field Meaning

    Status

    This field contains the approval status.

    The following status icons are available:

    • waiting approval Awaiting Approval: you (or another member of your User Group) can grant or reject this Approval.

    • icon approvalWaitingPredecessor Awaiting Predecessor Approval: a higher-level Approval (having a lower sequential number) must be granted, before you (or another member of your User Group) can grant or reject this Approval.

    • icon approvalApproved Approved: the Approval has been granted

    • icon approvalRejected Rejected: the Approval has been rejected

    • icon approvalCancelled Canceled: a preceding Approval has been rejected or, in case of a canceled Post-Approval, the Level Request has been aborted or canceled in the meantime.

    • icon approvalWaitingLRFinish Awaiting Level Request Finish: this status indicates that the Level Request has not been executed yet.

    Type

    This field contains the approval type.

    There are two possibilities:

    • icon preApproval (Pre-Approval)

      This Approval must be granted before the Source code or the Build result are delivered to the Level.

    • icon postApproval (Post-Approval)

      This approval must be granted at the end of the Level Request, after the Builds or Deploys associated with the Level Request have been executed.

    Project Stream

    This name in this field is composed as follows:

    • Project name

    • Project Stream type: H for Head and B for Branch.

    • Prefix and, optionally, suffix of the Project Stream

    Example: Webpad H_1-0

    With: H = Head and 1-0 = Prefix

    Level Name

    This field contains the name and type of the Level, to which a Build will be delivered as a result of this Level Request.

    See Levels

    There are two possible types:

    • Test: The Approval is associated with a TEST Level.

    • Production: The Approval is associated with a PRODUCTION Level.

    See Levels

    Level Request OID

    This field contains the sequential number of the Level Request.

    All Level Requests defined for a Project are numbered sequentially.

    Select this link to switch to the Level Request Detail screen.

    Level Request Status

    This field contains the Level Request Status. The following status indication icons are possible:

    • succes (Success): the Level Request is executed successfully.

    • warning (Warning): the Level Request has been successfully executed, but at least one non-critical Level, Build or Deploy Phase failed.

    • fail (Fail): the execution of the Level Request as a whole failed. This is due to the failure of one or more critical Level, Build or Deploy Phases.

    • run (Run): the Level Request is being executed at this moment.

    • run (Aborting): the Level Request is being aborted at this moment.

    • waiting datetime (Awaiting requested Date/Time): the requested execution is in the future.

    • waiting approval (Awaiting Pre-Approval or Awaiting Post-Approval): the Level Request is awaiting a Pre- or Post-Approval.

    • reject (Rejected): An Approval associated with the Level Request was rejected. The Level Request will never be executed.

    • cancelled (Canceled): the Level Request has been canceled before it was run. It will never be executed.

    • aborted (Aborted): the Level Request has been aborted during execution. The results (such as Build Results) that were already available at the time of the abort have been cleaned up and cannot be used.

    Level Request VCR Tag

    This field contains the VCR Tag of the Level Request. This Tag matches a Build with its source code in the VCR.

    The format of the VCR Tag normally matches the Tag Template defined for the Stream. Project Streams Overview

    However, the user can override the default VCR Tag while creating a Level Request (and is obliged to do so for a Build Level Request in a Tag Based Project Stream), so that the Tag Format can be completely different.

    Creation Date/Time

    This field contains the Date and Time when the Level Request was created.

    Request Date/Time

    This field contains the Date and Time when the execution of the Level Request was asked. The Level Request will not be handled before this point in time is reached.

  4. Verify the details of a specific Level Request.

    Click the Level Request’s OID link in front of the required Level Request.

    For more information, refer to the section Level Request Detail.

  5. Use the appropriate link for approving or rejecting an Approval.

    The following links are available in front of each Outstanding Approval: