Integrate VERA Workflow States into Jira Workflows

This guide will show you how to configure new or existing workflows to include VERA workflow states. The VERA workflow include Routing for Approval, Approved, and Rejected VERA states. Statuses are allowed to exist before the Routing for Approval state as long as VERA states are set up correctly.

Prerequisites

This guide documents how to create a fully integrated VERA Jira workflow. The following prerequisites must be completed prior to integrating the VERA workflow:

Step-by-Step Guide

  1. Navigate to the Jira Administration Settings > Issues > Workflows
  2. Click on the Edit button on the appropriate workflow
  3. Add the following VERA statuses as new steps:

    StepLinked Status
    Routing for ApprovalRouting for Approval
    RejectedRejected
    ApprovedApproved
  4. Add the following property keys for ALL statuses except the first workflow status (e.g. To-Do, New, etc):

    1. Workflows that leverage VERA functionality need to have the delete, move, and clone actions disabled for each workflow state other than the first workflow state.
      1. The default permission scheme in Jira provides administrators the ability to use the delete and move actions in all workflow states. To allow non-administrator users these abilities, grant the permission to the preferred users in Issues > Permission Schemes.
    2. The value "Tx3 VERA Workflow Lock" is not a real username and can be replaced with any fictitious value. The intent of this configuration is to restrict these actions to a fictitious user, ensuring that no actual user will be able to perform them.

      Property KeyProperty Value *
      jira.permission.delete.userTx3 VERA Workflow Lock
      jira.permission.move.userTx3 VERA Workflow Lock
      jira.permission.createclone.user

      Tx3 VERA Workflow Lock

  5. Add the following property key to all VERA statuses (Routing for Approval, Rejected, Approved):

    1. VERA workflow states must be locked to prevent anyone other than the VERA service account from performing editing actions in VERA states.
    2. Fill in the appropriate VERA service account's username in the property value below.

      Property KeyProperty Value *
      jira.permission.edit.user<username of VERA service account>

      .

  6. Create transitions for the VERA statuses

    1. All VERA statuses must be named according to the chart below and cannot be changed. The transitions between each status, however, are flexible and does not have to follow any naming convention.
    2. All transitions listed are required except the Revise transition.

      Transition FromExample Transition NameTransition To Purpose of the Transition
      <Previous non-VERA status>Start Approval(s)Routing for ApprovalTrigger the VERA Approval Route
      Routing for ApprovalComplete ApprovalApprovedRequired for VERA service account to transition record to Approved when all approvers have signed the record
      Routing for ApprovalComplete RejectionRejectedRequired for VERA service account to transition record to Rejected if the issue has been rejected
      Routing for ApprovalWithdraw Approval(s)<Previous non-VERA status>Allows Jira Admins to roll back the Jira issue if the VERA Approval Route fails
      RejectedWithdraw Approval(s)<Previous non-VERA status>Allows users to withdraw and edit the rejected record
      ApprovedRevise<Previous non-VERA status>(Optional) Allows users to revise and rework the previously approved record

      .

  7.  For each VERA transition, add the appropriate options:

    1. Webhooks must be added to the appropriate transitions to trigger approval route activities in VERA. 
      1. After adding the webhook as a post function, move the webhook transition to be the last post function. 
    2. Conditions must be added to the appropriate transitions so that only the VERA service account will have permissions to execute these transitions.
      Transition NameOptionOption NameOption Parameter
      Start Approval(s)Post FunctionTrigger a WebhookStart VERA Approval Route
      Withdraw Approval(s)Post FunctionTrigger a WebhookCancel VERA Approval Route
      RevisePost FunctionTrigger a WebhookRevise VERA Record
      Complete ApprovalConditionUser Is In Project RoleTx3 VERA System
      Complete RejectionConditionUser Is In Project RoleTx3 VERA System
  8. Click Publish Draft to save the newly VERA integrated workflow
Example Jira workflow that has been integrated with VERA.