Sync Jira Data to Ironclad

Goal

Sync Jira data to an Ironclad workflow by updating the workflow's approval status and metadata during the review step.

Overview

This solution pattern provides a method for pushing Jira approvals and data to Ironclad. These actions must occur during Ironclad’s review step when contract approvals and metadata can be updated.

This solution pattern is built around the use case of a Finance team approving a vendor agreement in Jira. The Finance team will update a Cost Center Jira field (if needed) and register their approval by transitioning the issue from Finance Review to Legal Review. Their approval will be sent to Ironclad along with the updated Cost Center. This general pattern can be applied to other use cases involving data and process sync between Ironclad and Jira.

Prerequisite: The Launch Ironclad Workflow from Jira solution pattern must be completed before you attempt to configure the solution described in this section. That solution pattern stored key Jira information (Jira Issue ID) in the Ironclad workflow and key Ironclad workflow data (Ironclad Workflow ID) in the Jira issue.

Details

In contrast to the Launch Ironclad Workflow from Jira solution pattern, this pattern will not use a custom Jira webhook to start the Zap. All filtering will be performed in Zapier to demonstrate a pure Zapier approach.

📘

Custom Jira Webhook vs. Zapier Filtering

You may prefer a custom Jira webhook if you want to minimize the number of Zapier requests generated and/or avoid building complex filtering in Zapier. If complex Jira processes determine the types of events that require Ironclad interaction, it may also be easier to manage this filtering directly in Jira to maintain consistency.

The figure below shows the Zapier steps that we will configure for this solution:

  1. Pushing an approval from Jira to Ironclad by sending a request to Ironclad’s Update Approval on a Workflow endpoint.
  2. Pushing metadata from Jira to Ironclad by sending a request to Ironclad's Update Workflow Metadata endpoint.

We'll now walk through the steps to configure this rule and make the necessary configuration changes in Jira and Ironclad.

Zapier rule overview.

Configure Ironclad Workflow

  1. In Ironclad, create an approver that represents the Finance approver.
    1. Default approver: Select the Ironclad service account used in the setup for Launch Ironclad Workflow from Jira as the default user.
      • An approval can only be updated via public API if the request targets the user currently assigned as the approver; using the same Ironclad service account provides a consistent target.
      • Adding additional human approvers is recommended as a backup; the backup approvers can re-assign the task to themselves and manually provide approvals if an unexpected issue occurs.
    2. Resend for approval: Uncheck the Resend for approval when workflow is updated option if the approval is a one-time event. By default, approvals are resent whenever the document or metadata changes. Unchecking this option avoids the need to seek re-approval for one-time approvals. For approvals that are not one-time checks, many teams opt to use ad-hoc approvals and manual intervention for flexibility.

Ironclad finance approver configuration.

Configure Jira Issue

  1. In Jira, identify fields and/or statuses that will be used to trigger the update in Ironclad and supply Ironclad with metadata.
  • This solution pattern uses a status transition from Finance Approval to Legal Approval to trigger the update.
  • This solution pattern passes a Jira text field called Cost Center to Ironclad as a workflow metadata update.

Zapier - Configure Trigger and Storage

  1. In Zapier, create a new Zap and add Updated Issue in Jira as the trigger.
    1. In Jira, simulate the relevant update that you want to use as the trigger for updating the Ironclad approval (e.g., transitioning an issue’s status).
    2. In Zapier, verify that the trigger receives the test data.

Jira issue updated trigger.

  1. In Zapier, add a Storage by Zapier action. The current status from the Jira update must be compared to its previous status to determine if the issue was transitioned from Finance Review to Legal Review. This comparison requires storing the previous status and tracking it as updates occur.
    1. In Choose app & event, select the Get Value action to pull the current issue status.
    2. In Choose account, select your existing Zapier account or create a new one if needed.
    3. In Set up action:
      1. For Key, select the Jira issue id from the trigger data.
      2. For Value, select the Jira status name from the trigger data.
      3. Check the Create Storage by Zapier Value if it doesn’t exist yet? checkbox.

Zapier storage configuration.

🚧

Storage by Zapier

Please note the limitations in the Storage by Zapier action (e.g., deletion of keys after 3 months of inactivity).

  1. In Zapier, test the storage action to ensure a value is stored so it can be referenced in the next action.

Zapier storage test.

Zapier - Configure Paths and Filter

  1. In Zapier, add a Paths action. Name Path A as Finance Approval Received and Path B as Update Storage Value.

Zapier paths configuration overview.

In the steps that follow we will configure the actions under the Finance Approval Received path as shown here:

Finance approval received path.

...and we will configure the actions under the Update Storage Value path as shown here:

Update storage path.

Zapier - Update Ironclad Approval Status

  1. In the Finance Approval Received path, create a condition to determine if the previous value (from storage) is Finance Review and the new value (from trigger) is Legal Review.

Rule for update finance approval path.

  1. In the Finance Approval Received path, add an Ironclad action and select Update Workflow Approval as the action event. The action will target the Update Approval on a Workflow endpoint to update the approval status.

    1. For Email, enter the email address of the Ironclad user account you assigned as the default user for the Finance approval.

    2. For Workflow ID, select the Jira field that stores the Ironclad workflow ID.

      Note: After selection, confirm that this field has an example workflow ID in it; the next steps will use that workflow ID to retrieve the list of approvers. If it is empty, (1) ensure you have a Jira issue with a valid Ironclad workflow ID in it (e.g., a Jira issue from the first solution guide that launched an Ironclad workflow) and (2) return to the Jira trigger at the beginning of this Zap to select a test issue that contains the workflow ID.

    3. In Ironclad, confirm that the workflow corresponding to the example workflow ID is at the Review step or move it there.

    4. For Role ID, select the Finance role. If you receive an error, return to steps 8(ii) and 8(iii) in this section and ensure that there is an example workflow ID that corresponds to a workflow at the Review step.

      Example error if the selected workflow is not at the Review step.

    5. Test the action when complete.

    Update Ironclad workflow approval status.

Zapier - Update Ironclad Workflow Metadata

  1. In the Finance Approval Received path, add another Ironclad action and select Update Workflow as the event. The action will target the Update Workflow Metadata endpoint to update the workflow's metadata.

    1. For Workflow ID, select the Ironclad workflow ID from the trigger.
    2. For Workflow Schema, select your workflow design.
    3. For Cost Center, select the cost center field from the trigger.
    4. For Comment, add a comment that you wish to appear in the activity feed to explain the update.
    5. Test the action when complete. Exit the path to return to the Zap.

    Update Ironclad workflow metadata.

📘

Updating Workflow Metadata

Updating a workflow's metadata will reset any existing approvals unless they are configured to not reset Reset Approval Configuration. Updates will be attributed to the user that generated the API token.

As best practice, consider the timing and necessity of metadata updates from Jira.

Zapier - Configure Storage Update

  1. In the Update Storage Value path, create a condition to determine if the status has changed by comparing the status in storage to the status from the trigger.

Rule for update storage value path.

  1. In the Update Storage Value path, add a Storage by Zapier action and select the Set Value action.

    1. Configure the action to update the storage status value with the value from the trigger.
    2. Test the storage action when complete. Exit the path to return to the main Zap.

      Update storage value configuration.

  2. Publish your Zap. Congratulations, you have a Zap that can sync Jira approvals and data to Ironclad workflows!