Last updated May 19, 2023

Contributors

Multiple people can work together on a Forge app at the same time. They are known as contributors, and they include the app owner.

When a contributor is added to an app, the contributor can access the app via the CLI and developer console, and perform some of the same actions as the app owner. This page explains how roles and permissions, environments, tunneling, and deployments work with multiple contributors.

You can manage contributors via the developer console.

Roles and permissions

You can assign one of the following roles to app contributors:

  • Admin - Edit app details, manage contributors, and run commands to production environments.
  • Deployer - Deploy apps to development, staging, and production environments.
  • Developer - View limited app information in the developer console and run commands to development and staging environments.
  • Viewer - View limited app information in the developer console, including app environments and monitoring tools.

An app owner takes on the role of an admin by default, but with additional permissions to transfer app ownership and delete the app.

App contributors can perform the following actions, no matter their role:

  1. Install apps onto sites where they're site admins of
  2. Receive alert notifications
  3. View alert activities
  4. View all app metrics
  5. View all app installations
  6. View all app contributors
  7. View staging and development logs
  8. View deployment history

Specific roles and permissions

Depending on the assigned role, a contributor has specific permissions associated with the following activities performed in the developer console:

App development activities

The following table outlines the roles and permissions associated with app development activities.

Permissions
AdminDeployerDeveloperViewer
Deploy changes to staging, development, and custom development environments
Set environment variables on staging, development, and custom development environments
Create and delete custom development environments
Deploy changes to production
Set environment variables on production

App monitoring activities

The following table outlines the roles and permissions associated with app monitoring activities.

Permissions
AdminDeployerDeveloperViewer
View contributor history
View and download production logs
Granted as an advanced permission to contributors of deployer, developer, and viewer roles. Gives contributors access to production logs for sites that have activated log sharing.

App and contributor management activities

The following table outlines the permissions associated with app and contributor management activities.

Permissions
AdminDeployerDeveloperViewer
Delete an app
Transfer app ownership
Manage settings (edit app name, icon, and description)
Manage contributors (add, edit, and remove contributors, and set or update contributor roles)
Manage alerts (set target values, edit descriptions, and mute or unmute alerts)
Manage distribution (edit details and generate or regenerate distribution links)
Share distribution links

Only app owners can transfer app ownership and delete the app.

Default environments

When you run a command for the first time without specifying an environment, you are prompted to set your default environment to allow you to work on the app without impacting other contributors. A new development environment name can be generated based on your public name, or you can choose to set the environment name yourself.

You can change your default environment at any time using forge settings.

By default, the CLI will run commands for your default development environment unless you specify another with the --environment flag.

Custom environments

You can create and manage additional development environments with forge environments. Additional development environments allow multiple contributors to tunnel and deploy to their own development environment simultaneously.

To create a new development environment:

  1. Run the following command in your CLI:

    1
    2
    forge environments create
    
  2. Enter a name for your environment.

    1
    2
    Create a new development environment.
    
    ? Enter a name for your environment: my-dev-environment
    
    Creating environment...
    
    Created DEV my-dev-environment
    
    You can now tunnel or deploy to this new development environment.
    

Tunneling

There can only be one tunnel in an environment at a time. When running a tunnel, only your usage will be displayed, and if another contributor has an active tunnel in progress in the same environment, you'll terminate their tunnel. To avoid impact on other contributors when tunneling, use your own development environment.

By default, the CLI will run commands for your default development environment.

To tunnel to a specific environment, provide the -e argument to the Forge CLI commands:

1
2
forge tunnel -e my-dev-environment

Deployments

There can only be one deployment occurring in an environment at the same time. If you attempt to deploy while another deployment is in progress in the same environment, your deployment will be blocked. You can re-attempt deployment once the previous deployment is complete.

By default, the CLI will run commands for your default development environment.

To deploy to a specific environment, provide the -e argument to the Forge CLI commands:

1
2
forge deploy -e my-dev-environment

Known limitations

  • You can't remove the app owner.
  • If an alert is muted, notifications are muted for all contributors.

Rate this page: