This guide will take you through the steps of adopting Forge for your Connect app, and replacing your installed app on your cloud development site.
For a walk-through of the required steps, check out this video:
Follow Getting started for step-by-step instructions to set up your Forge development environment and development site.
Once you've completed this, you should now have:
Installed the Forge CLI.
Logged in with your API token.
Accessed your cloud developer site to test on (this can be the same as your Connect testing environment).
Install your Connect app into your cloud developer site, so that you can test it as you adopt Forge.
Now that you've got Forge CLI and your Connect app running, you're ready to prepare your Forge manifest.
In Connect, you're used to working with a descriptor file (atlassian-connect.json
) that describes your app.
In Forge, that equivalent file is declared as YAML and is called a Forge manifest (manifest.yml
). It sits at the base of your app directory.
Although the file type is different, the declarations are very similar. So we've built a tool to automatically convert your existing descriptor to a manifest.
type
: either jira
or confluence
, depending on what product your app is for
url
: the URL of your production Connect descriptor - for example, https://website.com/path/to/descriptor.json
1 2npx connect-to-forge@latest --type <jira|confluence> --url https://website.com/path/to/descriptor.json
You should see some output similar to this:
1 2Conversion begun for 'Existing Connect App': - Moved all lifecycle events into connectModules.confluence:lifecycle. - Moved 5 modules into connectModules in the Manifest - Converted 3 connect scopes into correct format in manifest. Forge manifest generated and saved to manifest.yml
This will create your Forge manifest: a manifest.yml
file in the current directory, equivalent to your Connect descriptor. The Forge app ID can be found in manifest.yml as app.id
.
At this stage, we would suggest creating a new branch of your Connect application in your local development environment and committing your newly created manifest into your repository.
If you're using Atlassian Connect Spring Boot or Atlassian Connect Express, you'll still need to keep your old Connect descriptor in place.
Now that we have your Forge manifest, we're ready to register and deploy your app.
forge register
. The prompts will ask you to name your app. We recommend you use the same name as your existing Connect app.If you get a command not found
error here, you may have missed installing Forge in Part 1.
forge deploy
command and follow the prompts.Your Forge app now has three environments by default: development
, staging
, and production
, and each should have its own Connect key. There is no automated way (yet) of handling these.
See Handling app keys for more information.
If your app requests that customers modify the app account's Jira or Confluence permissions, you may need to request persistence of your app account to Forge. This must be performed before your first deployment to the production environment.
You're now ready to replace your existing Connect app installation in your cloud development site. Before proceeding, ensure your cloud development site has an existing Connect installation with the same key.
forge install
and follow the prompts to target your development site. The sync process will note the matching keys and replace your Connect app with the Forge app.The process triggered by installing the Forge version over the Connect version is the same one that will later be triggered by admins upgrading to the Forge version of your app, so if forge
reports an unexpected error while installing onto your site with an existing Connect version, be sure to raise an ECOHELP bug report, including a copy of your manifest.
The Forge Data Processing Addendum (Forge DPA) is incorporated in the Forge Terms, which all Forge developers must comply with to use the Forge platform.
Your Connect app now has Forge capabilities. From here, we'd recommend you:
Update your setup to our suggested directory structure
Re-use your translation files for Forge modules
Understand the best way to develop with Connect and Forge together
We'd love any feedback you have on this process through the Adopting Forge from Connect category on the Atlassian Developer Community.
Rate this page: