Add-ons break after customer data imports

Description

When a customer imports data into Cloud from a Server instance, or when a Cloud instance is migrated to a new url any installed Connect add-ons break.

This is because the clientKey is generated from the OAuth consumer key, which is seeded from the instance baseUrl. If the baseUrl changes, already installed add-ons may stop working.

Workarounds

  1. Ask the vendor to update their registry and update the baseUrl/clientKey to the new values.

  2. Reinstall the add-on. Note that this may cause data loss depending on the add-on, if the remote service stores data which is keyed off the old clientKey/baseUrl combo. Speak to the add-on vendor before doing this.

Solution

Implement a contract for Atlassian Connect to allow vendors to be notified when an instance has been migrated so that any data can be appropriately migrated.

Environment

None

Activity

Show:
Joe Clark
September 29, 2020, 6:22 AM

OK, so when I said a “few weeks”, I really meant 19 weeks. I committed the cardinal product manager sin of promising that something was “almost done”!

I’m sorry it took us so long to get this resolved. We now have a recommendation for how apps should behave to prevent this problem. I’ve posted a detailed guide in the announcements section on the developer community: https://community.developer.atlassian.com/t/ensuring-your-atlassian-connect-app-handles-customer-site-imports/41874

Please let me know on the community thread if you have any feedback, questions or concerns!

Rohan Khandelwal
September 2, 2020, 5:55 AM

check this out

Joe Clark
May 18, 2020, 5:09 AM

Sorry for the radio silence, we are actively working on a solution to this problem. Expect more details in the next few weeks

Thanos Batagiannis [Adaptavist]
March 27, 2020, 8:57 AM

We are trying to find a way to overcome this issue with having multiple client keys for the same instance and I just wanted to make sure that the following assumptions are correct or not.

So let's assume that we have an entry with:
clientKey: 1 and baseUrl www.foo.com

and then we receive a payload with the following
clientKey: 2 and baseUrl www.foo.com

I guess that we can be sure that the entry with clientKey: 1 and baseUrl www.foo.com is 'expired' and is not used any more ?

Now, there is also the option for an instance to change the baseUrl. According to https://confluence.atlassian.com/cloudkb/changing-the-cloud-instance-url-address-or-migrating-to-a-new-cloud-instance-691011835.html in order for an instance to get a new baseUrl will have to
"migrate to a new site with your desired URL".

My question is, in this case will we receive an install payload with a new clientKey (and a new baseUrl of course) ?

And a last question, is it possible a baseURL being reused ? For example if an instance A with a baseUrl www.foo.com updates to www.bar.com, is it possible for a different- new instance B - to use the www.foo.com ?

Thanks

Luiz Silva
June 11, 2019, 7:57 PM

I’d like just to point out we’ve got multiple Apps and we have had some issues regarding:

  • Migrations/system backup restored

  • Site base URLs being reused or renamed

We’ve dealt with most cases but since we have no straightforward way to know site B was actually site A and why that change happened, customer loses all data, which sucks.

So, if this issue are still being considered, please look into it.

Fixed

Assignee

Joe Clark

Reporter

Seb Ruiz