Noibu's integration with Jira creates a direct path between issues in Noibu and tickets in Jira. After triaging an issue, you can sync the issue to Jira to create a corresponding ticket with all the information your developers need to solve the issue.
Noibu supports Jira Cloud V3, Cloud V2. and Server V2.
The Jira integration is built using a webhook that listens to two events: issue_updated and issue_deleted. This means that changes to an issue's status in Noibu will reflect in the ticket's status in Jira, and vice versa. Closing or reopening a ticket in Jira will close or reopen the issue in Noibu.
- Requirements
- Configuring Jira integration through Noibu
- Configuring Jira integration manually
- Debugging Jira Integration
- Jira Integration FAQ
Requirements
To set up your Jira integration, you will need:
-
An Email Address Associated to a Jira Admin Account. If your company has security concerns about using an existing user's account for the integration, create a new dummy user and give it Admin permissions in the projects you want to integrate with Noibu.
- Note: The account should have multi-factor authentication enabled.
- Note: The account should have multi-factor authentication enabled.
-
A Jira API Token. You can generate an API token from your Jira Admin account's profile settings. Review Jira's guide to Managing API Tokens for more information.
- Note: You must generate the token while logged into the same Admin account you'll use for the integration.
-
Note: you must use a 'Personal API Token', not the 'Atlassian API Key'.
- Note: You must generate the token while logged into the same Admin account you'll use for the integration.
-
A Jira Domain. To retrieve the domain, log into your Jira account and copy the host name from the URL.
-
Jira Project Names. Retrieve the names of one or more Jira projects you would like to integrate with Noibu.
- Note: To review your projects, log into Jira and click View All Projects. Ensure you retrieve a project's Name, not the project's Key.
- Note: To review your projects, log into Jira and click View All Projects. Ensure you retrieve a project's Name, not the project's Key.
-
Your Jira Version. Depending on your configuration, the version may be listed in your Jira footer. If not, log into your Jira Administrator account and check your Billing Details.
- Noibu supports Jira Cloud V3, Cloud V2. and Server V2.
Integrating with Jira
Configuring Jira integration through Noibu
The Jira integration is configured on the domain level. If you use multiple domains, you must configure a Jira integration for each one. It makes sense to use a different Jira project in each domain integration.
- Open the Domains module.
[domains-overview]
- Select a domain.
[domain-details-general]
- Open the Integrations tab. Here you'll find fields to configure the domain's Jira integration.
- Populate the fields provided. Refer to the Requirements section to learn how to pull information for each field.
- Click Integrate with JIRA. You'll see a confirmation message once the webhook connects.
- Associate the domain to one or more Jira projects.
- Open the Jira Project Setup tab.
- Click Add JIRA Project. This summons a modal to select a Jira project.
- Select a project from the dropdown and populate the fields provided. These fields tell the integration how to classify an issue when creating a corresponding ticket in Jira, including its type and which Jira statuses correspond to an Open and Closed state in Noibu.
- Click Save *project* Config. Now, when syncing an issue to Jira, the issue will sync in this project.
- Repeat as necessary.
- Open the Jira Project Setup tab.
Configuring Jira integration manually
There are some situations where the automated integration of JIRA and Noibu will not work due to the level of permissions that you have. In order to complete the standard process for integrating the user that is being used must have System Administrator privileges in order to automatically create the Jira Webhook.
If the user that is being used to integrate does not have this level of access, you will need to work with someone who does at your company to manually create the JIRA Webhook and then Noibu will be able to point to it.
The next 2 steps will need to be completed by a System Administrator in JIRA as it will be dealing with the webhook configuration.
Creating JIRA webhook
- Go to Jira administration console > System > Webhooks (in the Advanced section).
You can also use the quick search (keyboard shortcut is .), then type 'webhooks'. - Click Create a webhook.
- Name the webhook Noibu
- Use the Noibu JIRA Webhook URL as the URL: https://webhook.noibu.com/jira_webhook/<domain id>
**Replace the <domain id> with the domain id from Noibu, instructions here - Under Issue Related Events, check off the "Deleted" and "Updated" events under Issues.
- To register your webhook, click Create.
Retrieving the JIRA webhook ID
In order for Noibu to complete the sync, we will need to know the ID of the webhook that Noibu will be communicating with. This can be found by using JIRAs webhook API.
The command that you can use to pull a list of all the webhooks configured in JIRA, we are looking specifically for the one that was created above. Run the following command (replacing the relevant information) in Command Line or Terminal or Postman.
curl --user username:password -X GET -H "Content-Type: application/json" <JIRA_URL>/rest/webhooks/1.0/webhook
https://example.atlassian.net/rest/webhooks/1.0/webhook/1
The Webhook ID in this case is 1.
Manually integrating with Noibu
The following information should be submitted to support@noibu.com or directly to your CSM as this information will need to be added in manually on the Noibu end.
- Webhook ID (as found in the the previous step)
- JIRA Domain (example.atlassian.net)
- Email (the email of the user that will be used for the integration)
- API Token (the API token for the user above. API tokens created here)
- Jira API version (either V2, V3, or ServerV2)
Debugging Jira Integration
If your credentials aren't working in Noibu, you can verify manually with the following steps:
- Get the base64 value for the Basic auth:
- echo -n "(user email):(api token)" | base64 - Attempt to get projects:
- curl -X GET "https://(jira domain)/rest/api/3/project)" -H "Authorization: Basic (the value from step 1)"
Example:
> echo -n "jira@noibu.com:EcWu2xxxxxxxx" | base64
amlyYUBub2lidS5jb206RWNXdTJ4eHh4eHh4eA==
\> curl -X GET "https://noibu.atlassian.net/rest/api/3/project" -H "Authorization: Basic amlyYUBub2lidS5jb206RWNXdTJ4eHh4eHh4eA=="
[{"expand":"description,lead,issueTypes,url,projectKeys,permissions,insight","self":"https://noibu.atlassian.net/rest/api/3/project/10007","id":"10007","key":"DF","name":"df","avatarUrls":{"48x48":"https://noibu.atlassian.net/rest/api/3/universal_avatar/view/type/project/avatar/10425","24x24":"https://noibu.atlassian.net/rest/api/3/universal_avatar/view/type/project/avatar/10425?size=small","16x16":"https://noibu.atlassian.net/rest/api/3/universal_avatar/view/type/project/avatar/10425?size=xsmall","32x32":"https://noibu.atlassian.net/.....
If you get a 401 back from the curl call, or an empty array, your user and/or token are incorrect or have insufficient permissions.
The following script may further help with debugging:
#!/bin/bash
# usage: jiratest.sh jira_domain email token
JIRA_DOMAIN=$1
EMAIL=$2
TOKEN=$3
# Encode the email and token for basic authentication
AUTH=$(echo -n "$EMAIL:$TOKEN" | base64)
# Perform the curl request and capture the response and HTTP status code
RESPONSE=$(curl -s -w "\n%{http_code}" -X GET "https://$JIRA_DOMAIN/rest/api/3/project" -H "Authorization: Basic $AUTH")
# Split the response and the HTTP status code
HTTP_BODY=$(echo "$RESPONSE" | sed '$d')
HTTP_CODE=$(echo "$RESPONSE" | tail -n 1)
# Output the HTTP status code and the response content
echo "HTTP response code: $HTTP_CODE"
echo "Response content:"
echo "$HTTP_BODY"
Jira Integration FAQ
If you have question about Noibu's Jira integration that isn't addressed here, contact Noibu Support for assistance.
Does the Noibu integration to Jira support integrating into both Service Projects and Software Projects?
The type of project shouldn't matter, as both project types use the same API calls. However, keep in mind that the Noibu-Jira integration is unidirectional. Help desk tickets can't stream into Noibu, except to confirm if an issue is Open or Closed.
You can set up multiple projects within Jira to distinguish these streams and manually sync issues to their corresponding project.
When a ticket is created from Noibu to Jira, where will it appear?
Part of setting up the Jira integration in Noibu is selecting a project in which it will appear. New tickets created via Noibu will appear in the appropriate Jira project.
What information passes from Noibu to Jira when a ticket is created?
Noibu passes the issue's description, issue type, open state, closed state, and assignee to the Jira ticket.
The Jira integration is built using a webhook that listens to two events:
- issue_updated
- issue_deleted.
This means that changes to an issue's status in Noibu will reflect in the ticket's status in Jira, and vice versa. Closing or reopening a ticket in Jira will close or reopen the issue in Noibu.
Noibu also has integrations in place for Slack and Shopify Liquid.