Developer
Documentation
Resources
Get Support
Sign in
Developer
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Developer
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
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 be set differently in different environments (development, staging, production), but the field in your manifest (manifest.yml) is not environment-specific.

The Connect key can be bound to a variable like so:

1
2
# in your manifest.yml
app:
  connect:
    key: "${CONNECT_KEY}"
environment:
  variables:
    - key: CONNECT_KEY
      default: "my.connect.app.development"

The deployment can then be scripted to ensure the appropriate key is used for the appropriate environment like so:

1
2
alias deploystaging='CONNECT_KEY="my.connect.app.staging" forge deploy'

Learn more about Forge environments

What happens if multiple environments share a key?

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 subsequent 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.

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: