Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Best approach for synchronizing JIRA with 3rd Party System e.g. Bug tracking system

Andreas Walsh January 14, 2013

Hi,

We would like to integrate our Jira deployment with our existing bug tracking system. This would be a Readonly integration from Jira to the other system (called BugStore). The basic functionality we would like is that:

a) when a bug is created in BugStore that it is also created in Jira with some of the fields filled in

b) when the status of a bug changes in BugStore the status of the bug in Jira should change

c) when the assignee of a bug changes in BugStore the assignee for the bug in Jira should change

d) when a certain field changes in BugStore then that field should change in Jira (there will be a handful of these)


We expect that we will use a polling query to the database of BugStore to see modifications and creations and then do a compare to find updates.


What would be the best Jira developer mechanism for us to implement such an integration?

I've had a look through the other questions but I have not found a clear answer.

Thank you very much for your help.

Andreas

4 answers

1 accepted

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

2 votes
Answer accepted
Renjith Pillai
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 16, 2013

I can see the following ways if you are not comfortable with CLI

  1. Use JIRA Webhooks to get notified when those events (in your question) happens to on one of your published URLs and do the update to the BugStore from there (I prefer this as polling is not needed). This requires you to host a site that can receive the webhook notifications
  2. Write a listener inside jira and get the bugstore implemented. This has the advantage that you need not host anything, but should know how to write a plugin
  3. Run an external program to query JIRA using REST and check the changes and sync to BusStore. This is sub-optimal as it requires you to implement the logic that the issue is updated. Also unnecessary load on JIRA for each polling.

https://confluence.atlassian.com/display/JIRA/Managing+Webhooks

http://docs.atlassian.com/jira/REST/latest/

Andreas Walsh January 16, 2013

Hi Renjith,

Thanks for your response.

I am really looking for synchronization the other way around though, from BugStore to Jira.

any ideas there?

Renjith Pillai
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 19, 2013
1 vote
Bob Swift OSS (Bob Swift Atlassian Apps)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 15, 2013

JIRA Command Line Interface can make it easier to do the JIRA side of things.

Andreas Walsh January 15, 2013

The command line interface has good functionality. But launching the process every time can be a bit of a burden, although using the command file input does help with that.

Is there a way to 'embed' the CLI into the ETL process so that the same process can be used for both reading from the 3rd party data source and writing to JIRA? In other words a programmatic API to the CLI functionality? Or would need to use the RESTful interface for that?

Bob Swift OSS (Bob Swift Atlassian Apps)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 15, 2013

I have written a number of different custom importers/sync processes this way (using commands) and it is the easiest way to debug and maintain. The run actions (file or sql or csv) certainly help in a number of ways as well. This is the recommended approach. In special circumstances, a few people have used the (not officially supported) doWork JAVA API that underlies the implementation. The same API is the basis for the JIRA/Confluence/Bamboo CLI plugins. It is simple - it takes an array of strings representing the command line input same as args on a java main call.

0 votes
Andy Brook [Plugin People]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 3, 2013

Another option, if you can setup an 'always involved' notification recipient, it may be possible to use JEMH to process email notifications. It does this by using a remote-system unique identifier that is usually in the Subject or Body in a repeatable location. Regular Expressions are used to extract this and use it as a search parameter in existing issues, if not found, an issue is created with either 'full' content of the email or 'extracted' field level values. If an issue is found, then a comment is added, and any 'extracted' fields are updated.

I've hade several companies using this approach with good results. There is a howto.

0 votes
francis
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
September 2, 2013

Hello Andreas,


Did you ever got this working ?

Francis

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

TAGS
AUG Leaders

Atlassian Community Events