Data Theorem Jira Integration

Overview

Data Theorem directly integrates with the Jira bug and issue tracking system, where tickets can be created and assigned automatically to any development team. The following items are included in the Data Theorem Jira ticket:

  • Mobile App Name
  • Type of Release (Pre-Prod or Production)
  • Type of Severity (High, Medium, Low)
  • Platform (Android, iOS, WinMo)
  • Issue Description
  • Recommendation
  • Sample Code
  • Issue Url to Data Theorem Portal
  • Custom Fields (Customer Created)

A sample developer workflow is as follows:

  1. Data Theorem creates a Jira ticket
  2. Developer fixes the issue and submits a new build to pre-prod or prod
  3. Data Theorem scans the latest build, marks issues as Closed/Fixed and syncs the data to the existing Jira ticket.

Please Note: Data Theorem will not close issues in the customers Jira systems, but instead provides notifications within existing tickets using Jira comments. Your team is responsible for updating the Jira ticket appropriately based on the comments provided by Data Theorem.

Requirements

  1. Determine the type of hosting for your Jira instance.
  2. Proceed with the integration steps for your type of Jira instance.
  3. Whitelisting Data Theorem IP addresses, necessary.
  4. Deployment of the Jira integration (Self-hosted/on-prem only).

Determine the type of hosting for your Jira instance

Before beginning the integration process, the type of hosting for your Jira service has to be determined. This information can be provided by your company’s IT or Jira Admin. Your configuration may be one of the following:

  • Server (Self-Hosted/On-Prem)
  • Cloud

Gather Necessary Information

In general, Data Theorem requires the following details in order to begin the integration process:

  • Dedicated Data Theorem Account:
    • Within that account, you will need the username and an API Token for the account. Instructions for creating an API Token can be found here. On Jira Server, a password can be used instead of an API key.
    • The account will need the ability to create tickets and add comments
    • It is strongly advised to restrict the account’s access to the specific Jira project that should be used for the integration
    • Data Theorem does not currently support OAuth but rather relies on Basic authentication through the use of an API Token.
  • The URL of your Jira instance (ex: https://yourdomain.atlassian.net).
    • This field is only applicable if your Jira hosting is Cloud. It would only be applicable for Server if the on-prem instance is publicly accessible from the internet.
    • Please verify this field with your IT or Jira Admin.
  • The Jira Project Key or ID under which the tickets should be created
    • Please pay extra attention to this field as it’s a frequent source of misconfiguration. For example, from the project described here, the project key that would be used for the Jira integration is DOC.
  • The type of issue name to be used for each Jira ticket
    • (ex: some of Jira’s options are “Story”, “Bug” etc.)
  • Should Data Theorem export prod issues? (yes/no)
  • Should Data Theorem export pre-prod issues? (yes/no)
  • Should Data Theorem export Security P1’s and App Store Blockers or export all issues?
    • Data Theorem recommends starting with exporting just a subset of issues which are restricted to Security P1’s and App Store Blockers for the initial integration. Once your team is comfortable with the frequency and type of created issues, you may update the configuration to export all issues.
  • Priority field id
  • External Link field id
  • Optionally, to customize the Jira tickets:
    • IDs of custom fields which will link the Issue URL from Data Theorem’s portal
    • Any other custom field ID and the value it should have

Data Theorem provides two types of setups for the Jira configuration:

  1. Global Jira Configuration

    • This is the default configuration which applies to all applications within your organization. Select this option if your use case does not require having a different Jira configuration for each app within your organization.
  2. App-Specific Jira Configuration

    • This option is relevant for teams that require different apps within your organization to have different Jira integration configurations. You may still specify a global configuration which would apply to all apps within your organization and override it with an App-Specific configuration on an individual app basis.

Based on the type of hosting for your Jira service (Server vs Cloud), you will need to complete the web form in the portal or a YAML file for the Data Theorem Jira Docker Image. Proceed to the relevant section below depending on your type of hosting:

Set up the Integration

Server (Self-Hosted/On-Prem)

To begin the Server (Self-hosted/On-Prem) Jira instance integration process, the availability of the Jira instance via the public internet needs to be determined. This information can similarly be provided by your company’s IT or Jira Admin. Depending on the accessibility of the Jira instance via the internet, either of the following options would apply:

  • If the on-prem Jira instance is publicly accessible via the internet, skip to the Cloud section below as the setup is similarly applicable.
  • If the on-prem Jira instance is not publicly accessible, Data Theorem provides a pre-configured Docker Image which can be deployed by your team. This setup uses a YAML file to specify the Jira integration configuration. Proceed with the steps documented here.

Proceed to the Whitelisting Data Theorem IP Addresses section after completing any of the above two steps.

Cloud

To begin the Cloud Jira instance integration process, complete the web form in the Data Theorem portal here. The form gathers the required information to connect Data Theorem to your Jira system. The portal will present two options for setting up the Jira configuration:

  • Global Jira Configuration
  • App-Specific Jira Configurations

Proceed with the option that most fits your use case. Data Theorem suggests starting with a Global Jira Configuration and override with an App-Specific Jira configuration as needed.

Whitelisting Data Theorem’s IP Addresses

Please whitelist the following IP addresses to allow Data Theorem to properly connect:

  • 35.203.135.136
  • 34.67.39.176
  • 35.225.19.103

Deployment

After completing either the web form or YAML file in the previous sections, the Jira integration can be deployed. There are two options:

  1. Cloud

    • Data Theorem automatically deploys and hosts this Jira integration for you; this setup requires your Jira instance to be accessible from the Internet.
  2. Server (Self-Hosted/On-Prem)

    • This deployment is useful for Jira Server instances that are not accessible from the Internet. Self-hosting is done using a Docker image pre-configured with Data Theorem’s Jira integration code, which does the following:

      a. Every day, pull new results from the Data Theorem API

      b. Push any changes (new ticket, closed ticket, etc.) to your Jira instance

If you’d like to self-host the Docker image, please follow the instructions here.