Forge migration. Connect properties

Hi Developer Community,

Our purpose is to migrate our addon from Atlassian Connect Express to Forge. But first we need to make sure that we can get our Atlassian Connect properties from the Forge addon we are migrating to. Jira Cloud REST API documentation tells us that “Forge apps published on the Marketplace can access properties of Connect apps they were migrated from”, but in practice(using migration testing scenario from documentation) we still can’t get these properties, constantly getting a {status-code: 404, message: 'App with key does not exist.'}.
Here is some code below:

resolver.define('getProperties', async (req) => {
  const resProps = await api.asApp().requestJira(route`/rest/atlassian-connect/1/addons/tp-test/properties/access-groups`, config)
  const res = await resProps.json()
  return res
})

Am I getting something wrong? I would appreciate any help, thanks.

3 Likes

Hey, @VitalyNezdvetsky,

Note that the Forge app needs to be published on the Marketplace under the exact same key that the Connect app whose properties it wants to access. Is that the case in your scenario?

Hi @kkercz,

Thanks for your reply!

So according to this the approval procedure is necessary in this case? And there is no way to test accessing connect properties before?

No, I don’t think you need an approval. You can publish a new private version (this new version would be your Forge app) of your Connect app that is already published on the Marketplace, and use that Forge app for development until you are ready to make it public.

Hi @kkercz

I take advantage of this post to ask you a question about this topic.

Right now I am doing a migration from connect to forge that uses connect properties to save/read data.

Currently, as far as I know, this is not possible in Forge as such, I mean, instead of the properties API, the storage API must be used for this kind of things.

Given that if we migrate an application from connect to forge, the properties API is available (making a service for it), is it a good practice to continue using it?

I ask this because obviously for the migration it is much more comfortable since I would not have to implement a data migration system to the storage API and simply continue using the same as before.

Thank you very much in advance!

1 Like

Hi, @AlejandroSurezTecnof,

I’m not sure I understand your question. If you migrate to Forge, you won’t be able to use the app properties API anymore, apart from reading (writing is not available) properties that had already been set by the Connect app you migrated from. There is no choice here, your app will have to use the Storage API if it wants to create any new data.

1 Like

Thank you @kkercz I have taken for granted that I could write props since I can read them, my bad.

Thank you for clarify!

Just one more question since then it is clear to me that I have to do the migration. When an App is officially migrated from Connect to Forge, is the upgrade event executed? https://developer.atlassian.com/platform/forge/events-reference/life-cycle/#upgrade

1 Like

Hi @kkercz! First of all - thanks, your answer was very helpful. I was able to test ACE properties access by publishing a private Forge version of an app. But now we`re encountered with another issue.

Our Forge version of an app is not ready for publishing yet, but we recieved a customer request and we need to fix some bugs for current ACE version. But it seems that it is impossible to publish a new ACE version already having a Forge one added. Is it right?

Hi @VitalyNezdvetsky, thanks for reaching out. It is true that once an app has Forge version published, it can no longer have connect(ACE) versions.

I can help you by deleting the forge app version which is not ready yet. You can proceed by releasing the connect version.

Could you share the app details as well it’s listing link?

Thanks,
Rakshith

Hello @RakshithRaoR, thanks for your reply!
I sent you the link as a direct message. Could you please check when its possible?

Thanks @VitalyNezdvetsky. I’ve asked for a confirmation on the same direct message. Awaiting your reply

I have run into the same issue and get a 404 with “App with key does not exist.” when trying to read my connect properties from within forge (Custom UI)
After reading this thread, I shared my forge App in the Developer Console and created a private version by selecting the shared forge app within the app with the identical app key (the App itself is a copy of our live app where we want to work on the migration)
Even though I created the forge version in the marketplace, in the developer console it still says “not currently listed on Marketplace”

Hi @RakshithRaoR! I’m sorry to bother you again but we have a new problem when we try to move the private Forge version to public. As soon as we do this, the version disappears from the list and then when we try to manually create a new version, we get the following error:


Can you help with this somehow?

Hey @VitalyNezdvetsky
I’m from the Marketplace team and will be helping you with this issue. Could you share the name/key of this app?

@VitalyNezdvetsky The issue you faced was most likely due to the fact that you tried to manually publish the version again whereas it was automatically published after you deployed your app to forge production environment. Marketplace automatically detects version upgrades of the forge app and new versions are created on Marketplace, which is why when you tried to manually publish it again you ran into a conflict.
https://developer.atlassian.com/platform/marketplace/upgrading-and-versioning-cloud-apps/#automatic-updates