Connect to Forge Questions

I have completely rewritten my old Atlassian Connect app using Forge with Custom UI. I’m trying to understand how to deploy it now as a successor to the Connect app so that my existing licensed users will retain access. I’m following the steps in How to adopt Forge from Connect. After running connect-to-forge on the old app and copying the relevant bits into my new forge app’s manifest, I have this (questions in comments):

app:
  id: ari:cloud:ecosystem::app/app-key-here
  connect:
    key: old-connect-app-key
    # Are the next two lines needed when completely migrating a connect app to forge
    remote: connect
    authentication: jwt
  runtime:
    name: nodejs22.x
    memoryMB: 256
    architecture: arm64
  licensing:
    enabled: true
# This section is needed for migration only?
remotes:
  - key: connect
    baseUrl: http://my-connect-remote
# There are no more connectModules. Can this be removed?
connectModules:
  ...    
modules:
  ...
permissions:
  scopes:
    ...
  content:
    ...
resources:
  ...

This section says I need a different Connect key for each environment? Why if I’m just migrating to forge?

I believe the remote database for my connect app contains a list of licensed users? Will that be migrated to Forge? How will I see that information after migration?

4 Likes

Hey @KeithHamburg,

There are a few things to unpack here. I’ll try to touch on each of them in separate sections below.

Mapping Connect to Forge

Today you’d be storing your Connect installations under a clientKey (or maybe baseUrl or something similar). Forge utilises installationIdas the primary identifier.

When you update your app from Connect to Forge and retain the installation lifecycle event in connectModules, you’ll receive a lifecycle hook which includes the Forge installationId. This allows you to map the existing Connect installations back to their Forge equivalents.

Changing the Connect Key

Due to the way Connect module installations work under the hood, you can only have one Connect key installed at a time. If you try to deploy to development and then production on the same site with the same key while having connectModules defined, you may run into conflicts. If you wanted to run both concurrently, you could use Forge Manifest Environment Variables to quickly change this out on the fly.

Retaining existing installations

When you are ready to publish your app, you list it as a successor version to your existing Connect app on the marketplace. This creates a new version and will allow users to update.

Automatic minor version updates are temporarily paused, but once these are re-enabled if your app has not elevated permissions, existing customers will automatically be updated to the Forge version.

1 Like