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 Admin → Connections with External Systems → Atlassian 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
Legacy 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
Legacy 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.