Is there a retrievable unique identifier for JIRA server? The plugin does receive a data payload which contains clientKey, but how to get it using REST or some other api from plugin-related desktop application? I was thinking about using baseUrl as a reasonable identifier, but what if server moves to another host or changes url? How can i understand which client I am dealing with?
For Cloud, baseUrl is reasonable - the only way to change a base url at the moment is to buy a new one and then export/import the data.
For server, ideally, you'd probably want to use the Server ID. It is possible for admins to hack or clone it, but that doesn't happen a lot. It's not available to REST though. I think the best you can do over REST is to look at the server info - https://docs.atlassian.com/jira/REST/server/#api/2/serverInfo
The fact that you use the word clientKey suggests to me that you are writing an Atlassian connect add-on. In this case, you MUST use the clientKey as the unique identifier and NOT the base URL. You may have a method that uses the baseUrl to look up the clientKey (or vice versa) but don't use the baseUrl as your unique identifier for a tenant.
We have documented this:
If the Atlassian product is the calling application: contains the unique identifier of the tenant. This is the
clientKey
that you receive in theinstalled
callback. You should reject unrecognised issuers.
Source: https://developer.atlassian.com/static/connect/docs/latest/concepts/understanding-jwt.html
In the future, Atlassian might implement this popular issue: https://jira.atlassian.com/browse/CLOUD-7184
If you are using the baseUrl as the unique identifier at the time then your add-on will have a bad time of it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ahh, thanks Robert. I've yet to write a Connect add-on, so I've not run into it.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It's no problem at all. The question does not even mention Atlassian Connect so my answer might be off the mark; I'm just making a guess here. But yes, for people writing Atlassian Connect add-ons wanting to uniquely identify cloud instances / accounts / tennants then the clientKey is the way to go.
For server your answer is spot on!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.