The Marketplace detects changes to the descriptor, and automatically creates a new version of the add-on. Installations of Jira Cloud then upgrade themselves to use the new add-on version over the next ten hours or so. Cool.
When a Jira Cloud instance upgrades itself, is it the case that both the /installed
, and the /enabled
life-cycle webhook calls are made to the add-on?
Our add-on needs to differentiate between host applications using the old descriptor, and those that have upgraded to the new descriptor. If the new descriptor includes a URL like this:
/enabled?version=2.0
…then maybe that’s a way for the add-on to learn that a particular Jira instance has upgraded to version 2.0.
Can you give me a sanity check on this before I spend time implementing it?
1 Like
Hi David,
There might indeed a better solution but that’s what we have been doing so far. When we make changes that could break because the customer doesn’t have the new descriptor, we make sure to add a “&version=xyz” parameter to the module’s URL. This allow us to show/hide the feature until the new descriptor was installed in the customer’s instance. So far, this approach has worked for us.
1 Like
Do you add it to every URL, or just the /enabled
URL? Do you happen to know if the /enabled
endpoint is hit when the Jira Cloud instance upgrades to the new version?
It’s not the enabled but rather the module URL itself. So, we just update the modules impacted by the changes:
"modules": {
"webPanels": [
{
"url": "/modules/issue_webpanel?issueId={issue.id}&projectId={project.id}&issueTypeId={issuetype.id}&version=20170916",
"location": "atl.jira.view.issue.right.context",
"weight": 60,
And sorry, but I never looked if the enabled URL is hit during upgrade.
1 Like
I’ve now discovered that both the /installed
end-point and the /enabled
end-point are hit during automatic add-on upgrade; so there’s a convenient way to manage the introduction of new features.
1 Like
That’s good news! Do you get any information that would allow you to distinguish one update from another one?
Not automatically, but the /installed?version=x.x
trick works.
1 Like