Learn about the Wavefront Jira Integration.

Jira Integration

Jira is an issue and project tracking system for software teams. This integration allows to create tickets from triggered alerts in Wavefront. Wavefront and Jira both support webhooks so you can easily configure an incoming webhook in Jira and an outgoing webhook in Wavefront to pass the notifications from Wavefront alerts into Jira. A Jira ticket created based on alert in Wavefront looks like this:

images/jira_ticket.png

Jira Setup

Step 1. Create a Jira API Token

  1. Log in to Atlassian.
  2. Click API Tokens and then Create API Token.
  3. Enter a name for the token in Label box and click Create.
  4. It will create a token and prompt to view/copy the token.
  5. Click Copy to clipboard and paste the token into a text file or scratch pad and keep it safe.

Follow this link for more details.

Step 2. Generate and Save a Basic Authorization String

The Jira API uses Basic Authorization, a Base64 encoded string, for the user and API Token. You will use this string in the Authorization header for the API call that creates ticket in Jira. There are several ways to generate this string, this guide uses a public website.

  1. Go to https://www.base64encode.org.
  2. Specify the user and API token created in Step 1 in this format: Jira User:API Token.
  3. Click the Encode button.
  4. Copy the resulting Base64 encoded string.
  5. Paste the Base64 encoded string into a text file or scratch pad to save it for later. images/base64_encode.png

Step 3. Create a Jira Alert Target

  1. In Wavefront, create an alert target.
  2. Give the alert target a meaningful name.
  3. In the Triggers field, select the alert state changes that should trigger the notification. See Creating an Alert Target.
  4. Make sure the Type is Webhook.
  5. Paste the application’s notification URL into the URL field.

  6. In this case, URL would look like <Jira URL>/rest/api/2/issue.
  7. In the Content Type field, select application/json.
  8. Add following Custom Headers:
    Authorization - Basic {base64 encoded API Token from Step 2}
    Accept - application/json
    
  9. Select TEMPLATE in Alert Target POST Body Template.
  10. The template can be customized as below:
    {
     "fields": {
         "project":
         {
             "key": "<Jira Project Name>"
         },
         "summary": "{{#jsonEscape}}{{{subject}}}{{/jsonEscape}}",
         "description": "Alert ID: {{{alertId}}}\nAlert Name: {{#jsonEscape}}{{{name}}}{{/jsonEscape}}\nSeverity: {{{severity}}}\nCondition: {{#jsonEscape}}{{{condition}}}{{/jsonEscape}}\nCreated Time: {{{createdTime}}}\nStarted Time: {{{startedTime}}}\nSince Time: {{{sinceTime}}}\nEnded Time: {{{endedTime}}}\n{{#trimTrailingComma}}{{#failingAlertSeries}}Host: {{host}}\nLabel: {{label}}\nTag: {{tags}}\nObserved: {{observed}}\nFiring: {{firing}}\nFirst Stats: {{stats.first}}\nLast Stats: {{stats.last}}\nMinimum Stats: {{stats.min}}\nMaximum Stats: {{stats.max}}\nMean Stats: {{stats.mean}}{{/failingAlertSeries}}{{/trimTrailingComma}}",
         "issuetype": {
             "name": "Bug"
         }
     }
    }
    

Follow this link to choose more Jira fields which can be added to the template.

  1. Click Save to add the alert target in Wavefront.
  2. Browse to Alert Target page. In the Name column, note the ID of the alert target you just created.

Step 4. Add the Jira Alert Target to Wavefront Alert

  1. In Wavefront, open the Alerts browser.
  2. If you have an alert, locate the alert and click the alert name to open the Edit Alert screen. Otherwise, create an alert. For help, see Creating an Alert.
  3. Scroll down to the Target List field.

  4. Enter the alert target ID into the Alert Target field.
  5. Select the alert target from the dropdown list to add the list of targets.
  6. Click Save.