Last updated Sep 24, 2024

The Connect and Forge dev loop

Due to the flexibility and varied setups of existing Connect apps, we can't recommend a specific dev loop between the Forge and Connect parts of your app.

Whatever your setup, you now have some features available to help optimize your development lifecycle.

Handling app keys/environments

app.connect.key can and should be set differently in different environments (development, staging, production), but the field in your manifest (manifest.yml) is not environment-specific. This means app.connect.key needs to be changed to the appropriate key before running forge deploy into a different environment.

Learn more about Forge environments

What happens if you don't change it?

An app with the same app.connect.key can only be installed once on a single site.

The installation of a second app environment with the same app.connect.key app will be blocked.

When app keys can be changed

app.connect.key can be changed in any non-production environment at any time.

In production, your app.connect.key key should always match your existing Connect key to ensure upgrades work as expected. If you change the app.connect.key for an app you have already deployed to production and then attempt to deploy to production again, that deployment will be blocked.

Once you have deployed to production, app.connect.key can NOT be mutated (added, removed or changed) in any further production deployments.

What happens when I change my key?

app.connect.key is used by several Atlassian Connect features as an identifier, and these are affected by the change. For example, the app loses access to:

  • Any app properties it has written, such as the /rest/atlassian-connect/1/addons/{addonKey}/properties resource.

  • Certain existing configured modules identified by the key, such as workflow post functions.

  • Bookmarked URLs that include the app key, such as links to general pages, space tools tabs, or reports.

Can I delete the key when my app has no remaining Connect Modules?

No. app.connect.key needs to stay, because:

  • It's used to tie the Forge app back to older Connect-based versions in order to cleanly replace older versions at upgrade time.
  • It's used ensure App Access Rules applied prior to the migration to Forge continue to be enforced.

For these reasons, deleting app.connect.key from the production version of your app is blocked.

Automating app keys

We understand existing Connect developers may have their own way of automating app.connect.key changes. Due to the flexibility of developer environments with Connect, we don't have a specific recommended approach, though deploy.js has some code to automate this.

Tunneling your app

Tunneling allows you to run your Forge app code locally on your machine, making Forge development faster.

You could use tunneling with your existing methods of updating your Connect app to quickly test your changes.

Learn how to use tunneling in Forge

Managing multiple contributors

Forge allows you to control how different people can work together on your app.

Viewing metrics and logs

Once you've started using Forge, you can use the developer console to:

Some of these logs will only output data where your app is using Forge modules or functions.

Rate this page: