JIRA 6.x (for Classic Agent) Installation - OnPremise or OnDemand

Last Updated -

JIRA is an issue tracking software used for software development and project management.

Integrating JIRA with Desk.com creates a cohesive way to track customer reported bugs and customer requested features while keeping developers, support staff, and end users up to date on the status of their issues.
 

What does it do?

With this integration, the user will be able to:
  • Connect their JIRA account to Desk.com
  • Create a JIRA ticket from a Desk.com case, including all of the attachments
  • View the linked JIRA ticket in a Desk.com case
  • View the linked Desk.com case in the JIRA ticket


Connecting JIRA to Desk.com

There are three easy steps to connect JIRA to Desk.com:

1. Create a JIRA Application Link to allow Desk.com to Create JIRA Issues
2. Configure the JIRA integration Project and Issue Types in Desk.com
3 . Log into the Classic Agent and Create a JIRA Issue
NOTE: If your JIRA is behind a firewall then you need to white list the IP's listed here:
https://support.desk.com/customer/portal/articles/13595
The article lists all of the Desk.com application URL's, and even though it was written for email communication, the list of IP's is the same for JIRA. Just make sure that you are opening your firewall for your JIRA port (ie: port 80). There has to be direct communication to and from these IP's.
If there is any type of proxy in front of your JIRA then the integration won't work due to the redirect that a proxy will do.
If you have removed the label field from the Default Screen Schema you will not be able to use the integration.

Creating an Application Link Within JIRA

Note: You should be logged into JIRA as an Admin on the same computer where you are configuring the Integration. Also, make sure that the JIRA Admin account that you are using has access to create Labels in JIRA. When the link is made between a Desk.com case and a JIRA ticket, a label gets added to the JIRA ticket. So if the account used to make the connection does not have this access you might see an error when you try to add the JIRA.

1. Log in as the JIRA system administrator and go to the Applications section by clicking on Settings (cog icon) in the upper right corner. Click on 'Applications.' 
 
 

2. Click on 'Application Links'.
 
 
3. Enter your Desk.com URL along with the protocol. If you are using a Custom URL, enter it along with the protocol. If you are using a CNAME, you might encounter an error here. You would need to remove your CNAME in Desk.com, under Admin > Settings > Web Address and then perform the integration using the https://yoursite.desk.com URL. Once you are done with the integration you can add your CNAME back. 
 
 

4. You may get a popup saying there was no response from the server. If so, you may need to add '/agent ' to your URL so it becomes 'https://yourside.desk.com/agent' and then click on 'Continue'.
 


5. Next, you will get the 'Link Applications' page below. The details of the Link Applications page should be filled out as follows:
  • Application Name: Desk.com
  • Application Type: Generic Application
  • Service Provider Name: Desk.com
  • Consumer key: Desk.com
 
 

6. We will then need to acquire the 'Shared Secret' from the Desk.com Admin panel and paste it in here. 

Switch over browser tabs to your Desk.com Admin page and we'll leave this page for now as we will need to acquire the 'Shared Secret'. In Desk.com, navigate to: Admin > Settings > API > My Applications > Add API Application to first generate the Shared Secret.

Click on 'Add API Application'.



Give the new API Application a name, such as 'JIRA API' and enter your JIRA URL in the 'Website URL' field then click on 'Add'.

 

You should now be able to see the newly created API Application Secret. Copy the secret here from your JIRA API application then switch back to your JIRA browser tab.

 

Paste the Secret into the Shared Secret field. The rest of the fields should be configured as follows:
  • Request Token URL: https://yoursite.desk.com/agent
  • Access token URL: https://yoursite.desk.com/agent
  • Authorize URL: https://yoursite.desk.com/agent
Check the 'Create Incoming Link' checkbox. The Links Application page should now look like this:
 

Once all the fields are completed, click on 'Continue'. 

7. Now we get the secondary Link Applications page.


The information for this page will be found back in the Desk.com Admin panel so let's switch browser tabs again.

Navigate to Admin > Apps > JIRA - Classic Agent. Click on 'Install'.
 
The JIRA for Classic Agent page should display as below. Enter the 'Site URL' which should be the URL to access your JIRA instance.

Click on 'Generate' to generate the Public and Private Keys. The page should now look like this:

Note: Do not click on 'Connect' yet at this stage.

 
 
 

Important notes for On Premise JIRA:
  • While it is a not a system requirement, it is highly recommended that you install a certificate on your JIRA on premise server and use https://jira.mycompany.com so that proper secure communication via Oauth can take place. This is described in more detail in this support article on Atlassian's site.
  • If you have installed JIRA to a custom directory rather than the default directory then you will need to add it to the path in the site URL. For example, if you installed JIRA to a directory called "MyJiraFolder", then you would need to use https://jira.mycompany.com/MyJiraFolder in the site URL.

Copy your Public Key and then switch back to your JIRA browser tab. Paste the Public Key into the Public Key text area and again enter the Consumer Key as configured earlier as "Desk.com".

Enter 'Desk.com' as the Consumer Name.
 

Click 'Continue' to proceed. You should now see the message Application Link 'Desk' created successfully in JIRA.

Navigate back to your Desk.com Admin browser tab then click on 'Connect'. Finally, click on 'Allow'.
 

Congratulations! You have now completed the JIRA integration with Classic Agent in Desk.


Configure the JIRA integration Project and Issue Types in Desk.com

Upon successful integration, you should also now be able to see the Projects you have in your JIRA instance and enable or disable certain Issue Types by selecting each Project first.



In the example below, I have disabled all other Issues Types except for Bug for the Desk.com Project.

Note: If you have customized your Desk.com Case Theme, please ensure that you still have the following code in your theme, otherwise the JIRA widget will not appear in Classic Agent.
 


Creating or Linking a JIRA ticket in Classic Agent


1 . In Classic Agent you should now see the JIRA widget when viewing a case. Click on 'Add' to either create a new JIRA ticket or link the Desk.com case to an existing JIRA ticket.
 

2. The New JIRA Ticket window will appear with the Ticket Title prepopulated based on the Desk.com case Subject. Change the Ticket Title if required and fill in the Description. Finally, select the Project followed by the Issue Type. In this example, since the Bug issue type was the only one enabled, you should not see other Issue Types available for selection. Click on 'Create Ticket' to create a new JIRA ticket.

Upon successful creation of the JIRA ticket, you should now be able to see the ticket linked to your Desk.com case in the widget. A link directly to your JIRA instance is also created for DP-1 in the top right-hand corner. 
 

 

3. If you want to link another Desk.com case to an existing JIRA ticket, click on  'Add' then select the 'Link Existing Ticket' option instead.


4. Let's reuse the JIRA ticket we created above in step 2. From the JIRA widget, we know that the JIRA ticket ID is DP-1 so let's enter that in the 'Link Existing Ticket ' then click on 'Link Ticket'.

Now that we have created a JIRA ticket from the Desk.com Classic Agent panel and also linked a second Desk.com case, here is how it would look like in JIRA:

The integration also adds a Label and in this scenario, a label desk:zzz-justinoh:5759 and desk:zzz- justinoh:5760 was added to identify the Desk.com instance and also case number. An attachment from the Desk.com case is also added to the JIRA ticket here.

Note: If you are trying to link to an existing JIRA, you need to make sure that the JIRA ticket is in a state that can be edited and is not read-only. The integration needs to be able to add a label to the JIRA ticket, so if it can't, you will see an error that looks like this:
 
 

Note:
If you restrict access to your JIRA instance by IP address, then you will need the list of IP addresses.

https://ip-ranges.amazonaws.com/ip-ranges.json

Please note that this list is in JSON format. You will need the instructions below in order to implement:
http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html