IssueSYNC

Installation

 Show...

Do

  • Download the plugin OBR file from Atlassian Marketplace.
  • Go to Administration -> Add-ons -> Manage add-ons and press Upload add-on link.
  • Select the plugin OBR file and press Upload.
  • For more, follow plugin installation Instruction Atlassian's Documentation / UPM 

Result

  • The Synchronizer plugin should be installed in your JIRA..


Basic Setup

 Show...
  • You have to start with Connections setup where you define all remote JIRAs you want to synchronize with.
  • You will have to create a corresponding connection on the remote JIRA (ask the Remote JIRA Administrator for details such as URL, API_KEY).
  • When connections are defined on both sides and the connection tests pass, you can start to set up Fields Mapping. Fields Mapping is a set of JIRA fields and custom fields that you want to synchronize with the given remote JIRA (connection). You can reuse a given set of fields when defining Contracts.
  • A Contract is a single synchronization point. It always matches to a single Issue Type in a given Project. For more details about setup, please visit the Administrator's Guide chapter.

At least one JIRA has to be able to perform requests to another JIRA instance, for the sake of simplicity in this tutorial we assume that there are no firewalls between JIRA instances. If there is in fact a firewall, you can mark a passive instance flag on the connection, but it's out of the scope of this introduction, so please refer to connection administration for more information.

Detailed Setup


There are two JIRAs in this scenario: JIRA A (left in table), JIRA B (right in table).



JIRA A


JIRA B

Prepare

 Show...

In order to start working with IssueSYNC - JIRA to JIRA Integration you need to prepare some information:

  • Project which you want to synchronize
     
  • Issue Type which you want to synchronize
     
  • Technical User
    (warning) You cannot test the plugin using the current user, changes made by the technical user are not synchronized, to avoid a synchronization loop.
    (warning) Technical user has to have appropriate permission settings (the easiest way is to give him the following permissions in the selected projects: browse/create/edit issues/comment).
     
  • Local Authentication Key - an identification/password. Its value will depend on your password policy, because it gives the remote JIRA instance access to your JIRA . From a technical point of view it could be any value i.e. "abc" (but don't make it too simple for your production instance).
    (info) In newer version of IssueSYNC this is generated.
     
  • Remote Authentication Key - this corresponds to the Local Authentication Key on the remote JIRA. Exchange your key with the remote instance administrator.
     
  • Check what fields are required in order to create/update issue
     

When you collect all this information, then you can start working on the plugin configuration.

Keys Exchange

 Show...

When you are ready:

  • ask JIRA A Administrator for his local authentication key, 
  • and tell him yours.

Connection A Setup

 Show...

Add a connection to link JIRA instances.

You can do this by clicking in Add-ons -> IssueSYNC -> Configuration.
This link shows the configuration page where the default tab is the connection tab.

In order to add a connection click the Add a connection button. You will see a dialog, where you can put most of the information gathered in the first step. 


If you click on Test connection and there is no validation error, then you will see a message

,,Local connection success. Remote connection error. Please check your settings. ''

which is OK because the remote connection was not yet created. If you get an error concerning the local connection, then you have probably set a user that doesn't exist.

At this point you have to add a connection without testing if it is correct. You will come back and check it later (when the remote JIRA administrator will add a connection in the remote instance) and ensure that is correct.


To move on, the remote JIRA administrator has to add a connection the same way you did.





Connection B Setup

 Show...

Add a connection, exactly the same way as the JIRA A Administrator did.


In this case if Administrator A correctly added a connection, you will be able to test if your connection is correct. So you should see message like this: ,,Local connection success. Remote connection success''.

Connection Test

 Show...

You can test your connection now. Both messages should be green (success).



Contract A Setup

 Show...

Go to the Contract configuration page (click the contract tab) in order to decide what should be synchronized.

  • On the left, you see a contract list grouped by connection. 
  • To add a new contract click the plus sign next to the connection name.

(warning) It is important to note, that the name CANNOT be changed afterward. This is in order to keep communication consistent. The contract name will be visible in the remote JIRA instance, in the Remote contract property.

  • When you click the save button a new contract will be created. 
  • By default a contract will be disabled, which means synchronization will not be performed. In order to start synchronization you need to enable a contract but it is safer to wait until the configurations for both JIRA instances are completed.


    If you click on the newly added contract on the left, the contract details will appear on the right.


The next step is to:

1) Set Project in which issues will be synchronized.

2) Set Issue Type to specify what type of issue will be synchronized.

3) Select Remote Contract - if the list is empty you have to wait for the remote JIRA Administrator to add a contract to his JIRA instance.


(warning) Until you set up a remote contract you cannot move on.





Contract B Setup

Go to the Contract configuration page and follow the same steps as JIRA Administrator A did.

Field Mapping A

 Show...


4) When the JIRA B Administrator has created a contract, you can choose Remote Contract from the list.

5) While the contract states which issue type in which project should be synchronized, you still have to define which fields will be synchronized.
You have to add a field mapping to the contract. To do that click the Add field mapping button to open the Field Mapping Scheme selection dialog. (Field mapping templates are not in the scope of this tutorial, so simply select the default blank template and press Next.)


One field mapping entry consists of three values:

  • Local Field - a field from the local instance which will be synchronized ((info) this field name will not be visible in the remote JIRA)
  • Local Field Name - the field name, which will be visible in the remote, ((info) this is an alias to keep your original field names hidden in all remote instances)
  • Remote Field Name - the name of the field exposed in the remote JIRA instance in order to connect these fields (this is the value of Local Field Name in the remote). At the moment it will probably be empty, because the JIRA B administrator hasn't yet created the appropriate mapping on his side. Go ahead and save the field mapping and wait for the remote JIRA administrator to finish his field mapping configuration.

(warning) The most important thing at this time is to add all required fields (on the create/edit screen). Otherwise the plugin will not be able to create or update issues and synchronization will be broken.

There is no explicit convention for what will happen if you don't set the remote field name, or don't add a field, but that is out of the scope of this introduction, please refer to the Diagnostic page for more details.





Field Mapping B

 Show...

Create a Field Mapping by following the same steps as JIRA Administrator A did.


(info) In your case you can choose the remote field name, because the JIRA A Administrator has already created his Field Mapping.

Contract A Tuning

 Show...

6) When the JIRA B Administrator has created a Field Mapping you can finish your mapping configuration. Remote Field list should contains remote fields now. Match Remote Fields with your Local Fields and save the configuration.

7) Next, set the trigger events. They are divided into Create and Update categories. A simple configuration will look like this:

  • Create trigger: Issue Created
  • Update trigger: Issue Updated

8) Activate the contract in order to start using it.





Contract B Tuning

Set trigger events the same way as the JIRA A Administrator did and activate your contract.

Test

 Show...

Now when you have a connection and a contract set you can start a simple test.

  • Create an issue and wait around 5 minutes until it will be synchronized and visible in the other JIRA instance. 
  • Then you can update the issue and wait again to see the result. 
  • Please be patient, sometimes it takes a couple of minutes before the issue key appears in the synchronized issue's view, it's because of the communication and internal services delay.  
  • If you do not see the synchronization result for more than 10 minutes, please refer to the Diagnostic page.



Congratulations! Your setup is done.