Configure a Jira integration

Who can use this feature?

A connection is an authentication mechanism to allow Totango to integrate with another system. Each connector has different requirements for connection. You can reuse connections to support multiple integration jobs with different schedules (one-time or custom cadence). 

Learn more about system support attributes and other areas of Totango to leverage support and ticketing data.

Totango supports a connection with Jira and Jira Service Management (formerly Jira Service Desk).

1. Create a connection app in Jira

The Totango connection requires a Jira Client ID and Client Secret. Create this app prior to creating the Totango connection.

  1. Log into the Jira developer application.
  2. From the profile icon (user menu) click Developer console.
    mceclip0.png
  3. From the console, click Create app > OAuth 2.3 (3LO) integration.
    mceclip1.png
  4. Add application name (“Totango” for example), agree with Atlassian terms, and click Create.
    mceclip2.png
  5. From the Permissions tab, click Add next to Jira API.

    If you don't see the Jira API row, you may need to tell Jira to show you the new permissions.
    mceclip3.png

  6. Next to the Jira API row, click Configure and Edit Scopes to add the following scopes:
    • "read:field-configuration:jira"
    • "read:issue-details:jira"
    • "read:audit-log:jira"
    • "read:avatar:jira"
    • "read:issue-meta:jira"
    • "read:field:jira"
    • "read:project-category:jira"
    • "read:project:jira"
  7. Go to the Authorization tab, and set up the Totango call back URL: “https://app.totango.com/auth/connector/callback”
    mceclip4.png
  8. From Settings, copy the Client ID and Secret.
    mceclip6.png

2. Create a Jira connection with Totango

Totango supports a connection with Jira and Jira Service Management (formerly Jira Service Desk).

  1. In Totango, click Settings from the left nav.
  2. Expand Data Management > Customer Data Hub.
  3. From the list of active connectors (left), choose Support & Ticketing.
  4. From the list of available connectors, hover over Jira or Jira Service Management, and click Connect (or View Integrations).
    mceclip7.png
  5. Enter a name and description for the connection. Because you can have multiple connections with a connector (using different authentication profiles), a name and description helps you identify the connection later.
  6. Add the the Client id and Client secret you copied from Jira (see above steps).
  7. Click Connect.

You can now set up an integration using the connection.

3. Map Totango accounts and Jira organizations 

Before importing Jira issues into Totango, we need to map the Jira organization id to Totango account id. 

  1. In Totango, open the Data Modeler (Settings > Data Management > Data Modeler). Create a a foreign key attribute for Jira organization ID.
  2. Outside of Totango, create a file with a crosswalk table with one column for Totango account IDs and another column for Jira organization IDs that align with those Totango accounts.
  3. Once that file is ready, upload it as a local file integration job in Totango. 

4. Create an inbound integration job

Totango allows you to import data for the following Totango objects:

  1. Accounts
  2. Users
  3. Collections
  4. Totango users
  5. Account foreign keys

Collections are most often used for Jira (issues) and Jira Service Management (service requiests).

  1. From within the Jira or Jira Service Management connection, click +Create Integration.
  2. Choose from the available objects to import.
    A new integration page appears, based on the selected object.
  3. In the Data Source area, choose the object fields you want to import into to Totango.
    mceclip8.png
    mceclip12.png
  4. Create a JQL query to filter the data from Jira that you want to import to Totango. Totango will execute the JQL query on your Jira account and import the data resulting from this query.

    The best practice is to create a query in Jira, verify that it is working correctly, and copy the working query to Totango. This way you can be sure that the filter works as expected. See below for steps.

    Some of the fields in Jira return as JSON. For more continues, we created some alias for common fields (such as Reporter). You can fetch the relevant value from the inner node, using the desire node path.

    For example, the Assignee field will return the following JSON:

    {
    "accountId": "59f6fa7c30268",
    "avatarUrls": {
    "48x48": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/59f6fa7c30268/913ce867-72e7-40e9-82e7-7999528ff2d6/48",
    "24x24": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/59f6fa7c30268/913ce867-72e7-40e9-82e7-7999528ff2d6/24",
    "16x16": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/59f6fa7c30268/913ce867-72e7-40e9-82e7-7999528ff2d6/16",
    "32x32": "https://avatar-management--avatars.us-west-2.prod.public.atl-paas.net/59f6fa7c30268/913ce867-72e7-40e9-82e7-7999528ff2d6/32"
    },
    "displayName": "Shmulik Golan",
    "accountType": "atlassian",
    "self": "https://api.atlassian.com/ex/jira/d119b683-d8e7-4c19-8ba5-47d157d049b6/rest/api/2/user?accountId=59f6fa7c30268",
    "active": true,
    "timeZone": "IL"
    }

    To retrieve only the name, use: Assignee.displayName

  5. Click Load Preview. The Preview Data area shows the first 10 rows that match.
  6. In the Map and Format Data Fields area, Totango attempts to map the columns in the data source (Jira) with attributes in Totango. Required attributes (keys) are mapped at the top of the list.
  7. Ensure that each source field (left) maps to the desired Totango attribute (right).
    • For each source field, you can edit the source format. This option is often used for dates, where Totango will transform the raw data from your file into the formatting you specify.
    • For each Totango attribute, you can choose a different attribute to map to if the auto-mapping wasn't correct.
    • Totango may also denote attributes to add as new if it didn't find an existing attribute. (Supported data types for adding new from the integration job include Text, Number, Currency, Date, Foreign Key.) 
    • Hover next to a mapping to remove it from the integration job. This option is useful if you don't want to modify the source file but want to skip a column.
    • Hover next to a mapping to optionally add a note to reference later or document the logic behind this mapping.
    • You can add new mapping to re-use a column from the data file or open the Function Editor and add a constant to all rows or some other logic.
  8. Click Validate Mapping. The validation must be successful in order to proceed.
  9. Preview the data in the file to ensure it looks correct.
  10. From the Settings area, set the following:
    • Name: Because you can later upload data for the same object, a name and description helps  you identify the job later.
    • Description: Add a description for the job.
    • Allow new accounts/objects creation: Allow new records to be created during the integration. If disabled, only records that already exist in Totango will be affected by the job (e.g., attribute values may be set but new records will be ignored).
    • Automatically resolve matching conflicts: If a conflict exists, choose the more recent value over the existing.
  11. From the Schedule area, set the following:
    • Run: Choose the recurring schedule you want this job to run.
    • Sync immediately after saving: Run the job now and then run according to the schedule thereafter, or run it according to the next schedule only.
    • Enable integration scheduling: Allow the scheduling job. If unchecked, the job will be saved in a disabled state.
  12. Click Save and Sync.
  13. The job is saved, and you can monitor upload progress in real time. The sync status changes automatically as the job completes.
  14. Click inside a job to view more details.

Data will be immediately reflected in the UI once the processing is done for the selected job.

Create a JQL query in Jira

  1. Within Jira, go to Search > Advanced Issue Search.
    mceclip9.png
  2. Click Switch to JQL.
    mceclip10.png
  3. Copy the JQL query.
    mceclip11.png

Best practices

  • In Jira, users with multiple Jira accounts, have to make sure they login to the  correct one (the one they want to connect to Totango.
  • As the Connected App is not published, only the owner of it (i.e., the person created it) can have access to use it.
  • For Jira Service Management connections, the Totango user creating the integration should have SERVICE DESK TEAM user role in Jira Service Management.
    • In Jira, go to Projects > Select your project > People > Find your user and change role to be Service Management Team.

Was this article helpful?

1 out of 2 found this helpful

Have more questions? Submit a request