Integration Friday Episode 4: Integrating JIRA with Salesforce

September 5, 2014 Appirio

By Ravi Somisetty


JIRA is a popular platform created by Atlassian with product and engineering teams to track issues. It’s often used as an agile tool for assigning work and releases on a project. With the widespread adoption of Salesforce, businesses have been increasingly looking to integrate JIRA with Salesforce Service Cloud. This transparency gives teams better communication between customer service representatives and a product (or engineering) team.

What are the different ways to integrate Salesforce with JIRA?

There several ways to integrate Salesforce with JIRA. First, there are Salesforce AppExchange applications available for the integration. Another way is to develop integration using JIRA’s REST API. If you take the path of the REST API implementation, there is a bit of apex development involved. There was some common notion that SOAP API could be used, but JIRA does not support SOAP API from version 5 and above.

REST API implementation is fairly straightforward. You just need to know the URL of JIRA application, which is just the end point of JIRA and the project key. JSON can be used to invoke the REST API of JIRA. In the JIRA world the cases (or tickets) are commonly called Issues, when it comes to the coding.

Example: http://<hostname:port>/rest/api/2/issue/

What you really need to do before starting the development?

There are few things that a developer has to check before starting the development of the integration and seeing the actual results.

1. Check the permissions that were granted to the user that you are using and make sure that this user has all the permissions required to access/edit the issues.

2. There are some custom fields that are created in this use case. Once these fields are created, JIRA assigns an “id” to them. When these custom fields are migrated to another environment, an Administrator has to make sure the same “IDs are still associated with the right records. If this is not done, the developer has to manage a way to be able to change the ids per environment. In Salesforce it is generally achieved via Custom Settings.

3. It is always better to get access to the JIRA site and login and see for yourself how the fields are configured, instead of asking administrators to provide the details. This will save you project time and effort.

4. When using rest API clients, like Postman, Hurl or Rest Console, keep in your mind that Rest API uses a cookie for authorization.  For example, let’s say you are connecting to the dev environment and testing, and wanted to test against production by just changing the url, you will start seeing errors. To avoid this, use the Authorization header also in these rest clients.

Choosing AppExchange or REST API Implementation

One good question is why one would choose custom development for this integration when an AppExchange product is available. As with a lot of technical decisions, there are a few pros and cons to each approach. The main positive with an AppExchange product is that there is literally no coding involved, and very easy configuration. But if you need to use a custom object, more custom fields, and custom requirements then the custom code option becomes more attractive. Also, some companies do not want to spend money on buying the licenses for an AppExchange product and renewing them every year. In this case, REST API is the better option. Choosing one of these options all depends on the requirements and use cases.

Choosing JIRA Add-on Implementation

JIRA add-ons are available at JIRA marketplace. Quite a few add-ons provide integration to Salesforce. This option needs to be installed and configured at JIRA. With minimal configuration and no apex development, these add-ons can prove quite handy. Similar to AppExchange apps, add-ons require license fees.  Depending upon the use-cases and JIRA administrator comfort level in the team, this can be an attractive option.

systems_integration copy


Previous Article
Generic XML Document Parsing in Salesforce
Generic XML Document Parsing in Salesforce

By Pankaj Mehra Salesforce frequently needs to be integrated with external systems. XML is usually employed...

Next Article
Integration Friday Episode 3: Salesforce Integration with Your AS/400
Integration Friday Episode 3: Salesforce Integration with Your AS/400

By Mitul Patel Imagine you work for a large non-profit organization. And, you are responsible for maintaini...