Pipeline Ownership Transition
Last updated 11 November 2019
Table of Contents
On Pipeline Ownership
Starting today, Heroku Pipelines is beginning a transition to a new ownership model. With the new model, users should gain clearer understanding of billing and access to pipelines, and experience fewer surprises working with them.
Previously, pipelines could contain apps owned by a wide variety for parties. With the new model, the aim is to bring consistency to ownership of all apps in a pipeline. Once the transition is complete, all apps and the pipeline itself will have the same owner.
Previous Ownership Model
This is the legacy ownership model, and will be phased out. Any pipeline without a pipeline owner selected will use this access model.
- A pipeline is not owned by an entity.
- There are no restrictions on app ownership. Apps in a pipeline can be owned by a mix of personal accounts, Heroku Teams, or Heroku Enterprise Teams.
- Anyone with access to an app in the pipeline has full access to the pipeline.
- Review apps will be created with the same owner as the selected review app parent.
- Heroku CI generated apps are owned by the selected CI billing target.
- Pipelines may not be transferred.
- Apps in the pipeline may be transferred.
New Ownership Model
This is the access model we are transitioning towards. Once a pipeline has a selected owner, it will use this access model.
- A Pipeline is owned by a Heroku Team, Heroku Enterprise Team, or a verified personal account.
- To add an app to a pipeline, the app owner must be the same as the pipeline owner.
- Anyone with access to an app in the pipeline has read access to the pipeline. Some write actions are restricted to the pipeline owner.
- Review apps will be created with the same owner as the pipeline.
- Heroku CI generated apps will be created with the same owner as the pipeline.
- A pipeline may be transferred.
- Apps in the pipeline may not be transferred to another owner. Instead, remove the app from the pipeline, or transfer the whole pipeline.
What this means for you
For many development teams, this transition will have no impact. If each app in a pipeline is owned by the same entity (a personal account, Heroku Team, or Heroku Enterprise Team), there should be no noticeable changes.
For others, (pipelines where apps are owned by multiple entities), it means that a pipeline owner may need to be selected, and for any apps with a different owner they should be either 1) transferred to the pipeline owner or 2) removed from the pipeline. The pipelines user interface will provide notice and guidance to resolve these situations.
- When creating new pipelines, the pipeline owner must be chosen by the user or may be inferred by the UI. All new pipelines will use the new ownership model.
- To use the new ownership model on an existing pipeline, select the appropriate owner from your pipeline’s settings at any time.
- For existing pipelines that exhibit homogenous app ownership, the pipeline owner will be selected automatically, and no action will be required.
- On October 15, 2017, existing pipelines without an owner and heterogeneous app ownership will have an owner automatically selected for them. We plan to do this intelligently, but cannot guarantee that it will be the entity that you might have preferred. Therefore, we encourage you to select a pipeline owner before this date. You will still be able to change the owner, even if we automatically selected one for you.
- On December 19, 2017, any apps that are not consistent with the pipeline owner will be removed from the pipeline. Apps removed from the pipeline will continue to function normally and serve requests, and may still be added back to the original pipeline, once they are transferred to the correct owner. You are encouraged to transfer apps before this date to avoid disruption to your development workflow.
Heroku Enterprise customers will not have their apps removed if the app owner and pipeline owner are inconsistent as mentioned in step 5 of the Transition Plan. Heroku Enterprise customers can also opt out by de-selecting a pipeline owner.
Transferring your apps to the Pipeline owner
If apps in your Pipeline are owned by Teams or individuals other than the Pipeline owner, and orange warning banner will appear in the Heroku Pipelines web UI, and each offending app(s) will be shown with a “transfer” prompt. You can also transfer apps using the Heroku CLI command
heroku pipelines:transfer. For help with this CLI command just type
heroku help pipelines:transfer in the Heroku CLI.
Note that apps in Private Spaces cannot be transferred to a new owner. If the Pipeline owner is not destined to be the owner of your Pipeline’s Private Spaces apps, you will need to delete those Private Spaces apps and replace them with apps owned by the Pipeline Owner.