When the Jira site URL is changed (site rename / migration scenario), the app stops working in the Connect-on-Forge setup (because forge request are not authorized).
During the installation lifecycle:
-
Atlassian raises the lifecycle event as
installed -
Before our app’s installation logic executes, Atlassian’s internal logic:
-
Removes the
installationId -
Deletes the host entry from
atlassian_host -
Deletes the related record from
atlassian_host_mapping
-
-
After these deletions, our app’s
AppInstalledEventhandler is triggered
At this point, both the installationId and host-mapping data are already missing, which causes our installation logic to fail.
Key Observation
-
Works as expected in pure Connect UI
-
Breaks in Connect-on-Forge (Forge Custom UI)
This makes it difficult to support instance URL changes during migration to Forge while keeping the Connect backend.
Impacte areas are:
-
Blocks safe migration from Connect UI to Forge Custom UI
-
Affects production customers during Jira site renames
-
No clear guidance on how to handle this scenario in Connect-on-Forge apps
Questions
-
Is this behavior expected specifically for Connect-on-Forge apps?
-
Is there a recommended way to handle Jira site URL changes when the backend is still Connect?
-
Should apps rely on a different lifecycle event or identifier instead of
installationId? -
Are there best practices or migration guidelines for this scenario?