You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

Synchronizing Trackers with Atlassian JIRA© Cloud

Synchronizing Trackers with Atlassian JIRA© Cloud is similar to Synchronizing Trackers with Atlassian JIRA© Server.

But there are some differences in the JIRA© Cloud REST API to consider:

Since codebeamer release 21.09-SP12 (EMMA), codebeamer can manage the varied length API tokens generated for Atlassian accounts.


After the end of the deprecation period (some time between October 2018 and April 2019), you will need CB-9.4.0 or newer, in order to synchronize trackers with Atlassian JIRA© Cloud !


If you had used CB-9.3 or older, to Synchronizing Trackers with Atlassian JIRA© Cloud before the end of the deprecation period, there are some manual Migration Steps necessary:

  • Upgrade to CB-9.4.0 or newer
  • If you had synchronized JIRA© Cloud Users to codeBeamer 9.3 or older,
    those users only know their JIRA user name/key, but user names and keys have been removed from the JIRA© Cloud REST API and replaced with the opaque Atlassian account ID.
    • If you are only importing issues from JIRA© Cloud into codeBeamer and user email addresses are available via the JIRA© Cloud REST API (depending on Atlassian account privacy settings):
      • codeBeamer can automatically map user references to previously imported users and replace the user's JIRA name/key with the new Atlassian account ID.
    • But if you are also exporting issues from codeBeamer to JIRA© Cloud, or user email addresses are not available via the JIRA© Cloud REST API:
      • The old/obsolete JIRA user name/key must be replaced with the appropriate Atlassian account ID before the first export/synchronization, otherwise the export/synchronization will fail!
        • see Migrating JIRA user names/keys to Atlassian account ID below
  • For each tracker, that is Connected with Atlassian JIRA© Cloud (see column Server in System AdminConnections with External SystemsAtlassian JIRA©)
    • Click on the link in the column Connected with
      • Click on Settings… in the upcoming Synchronize with JIRA dialog
        • Change the Username and Password for the connection:
        • Click on the Issues, to see, if access to the associated JIRA© Cloud project and issue type works with the new credentials.
      • Adjust the Fields and Links mapping, if necessary.
      • Leave settings with OK
    • Run a manual synchronization.



Migrating JIRA user names/keys to Atlassian account ID

CB-9.4 and newer provides a special REST API (v1) end-point: /jira/users/{matrix}/accountId, to

  • Migrate the old/obsolete JIRA username/key of users, that were imported from JIRA© Cloud into CB-9.3 or older (*=JIRA), into the appropriate Atlassian account ID.
  • Associate codeBeamer users, that were not imported from JIRA© Cloud, with an Atlassian account ID (for export to JIRA© Cloud).


Parameter Required Meaning
server Yes URL of the JIRA© Cloud instance, e.g. https://<my-instance>.atlassian.net
username Yes the Atlassian account email address of an JIRA© Cloud instance administrator
password Yes the API token of the specified JIRA© Cloud instance administrator


When accessing this end-point via GET request, e.g. by entering the URL into a Web Browser's address field, the parameters have to be provided in the request URL, e.g.:

http://localhost:8080/cb/rest/jira/users/*=JIRA/accountId?server=https://<my-instance>.atlassian.net&username=<admin email>&password=<admin api token>


You can also use a POST request, e.g. via tools like Postman, etc.:

http://localhost:8080/cb/rest/jira/users/*=JIRA/accountId

and provide the parameters as a JSON object in the request body:

{
   "server"   : "<my-instance>.atlassian.net",
   "username" : "<admin email>",
   "password" : "<admin api token>"
}


Please replace http://localhost:8080/cb/rest in the examples above with the appropriate REST API (v1) URL of your codeBeamer instance,
and <my-instance>, <admin email> and <admin api token> with the appropriate values for your JIRA© Cloud instance.


The {matrix} variable in the request path specifies,

  • which codeBeamer users should be processed,
  • in form of a list of <CB user id/name> = <JIRA user name/key> pairs, separated by semicolon ;

You can use the special pair *=JIRA, to refer to all codeBeamer users, that were imported from JIRA and that do not already have an Atlassian account ID.


Please beware: If you had manually created codeBeamer users, to represent JIRA users, e.g. to avoid the extra work, that is required to activate imported users, then
  • these users do not have an associated JIRA username/key and
  • are therefore not matched by /jira/users/*=JIRA !

In order to also associate these users with an Atlassian account ID, you have to specify them explicitly, e.g. bond=Admin, which reads as:
"Associate the codeBeamer user bond, with the Atlassian account ID of the JIRA© Cloud user, whose name or key is Admin".

If the codeBeamer user
  • has a JIRA user name/key,
  • or it's name is the same than the JIRA user name/key,
then you can also simply say : <CB user id/name> =*
E.g.: bond=*

You can also explicitly provide JIRA user names/keys, when migrating users previously imported from JIRA© Cloud into CB-9.3 or older (*=JIRA), where you know, that the stored JIRA user name/key is not longer valid.

E.g.: *=JIRA;Klaus=klaus.mehling[; …]

A similar situation can also occur in CB-9.4 and newer, if you have trackers, that are synchronized with JIRA© Cloud, and you assign items in these trackers to users, that do not have an Atlassian account ID. In that case, the issue assignee will get lost upon export to JIRA.