Skip to content

Docs for channels and lifecycles in project templates - #3464

Merged
clairey259 merged 5 commits into
mainfrom
nelson/project-template-channels
Sep 23, 2026
Merged

clairey259 merged 5 commits into
mainfrom
nelson/project-template-channels

Conversation

@N-lson

@N-lson N-lson commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Adding documentation around project template lifecycles and channels.

closes SEA-2
closes SEA-5
closes SEA-12

@team-marketing-branch-protections

Copy link
Copy Markdown

Pull request environment is available at https://stoctodocspr3464.z22.web.core.windows.net/.

You can view the ephemeral environment status in Octopus Deploy.

This environment will be automatically deprovisioned when the pull request is closed, or after 7 days of inactivity.

@N-lson
N-lson force-pushed the nelson/project-template-channels branch 2 times, most recently from 566280f to 5dcc747 Compare September 21, 2026 00:46
@N-lson
N-lson marked this pull request as draft September 21, 2026 00:46
@clairey259
clairey259 marked this pull request as ready for review September 21, 2026 07:02
@clairey259
clairey259 force-pushed the nelson/project-template-channels branch from 8514769 to 4c8cbe3 Compare September 21, 2026 07:05

@IsaacCalligeros95 IsaacCalligeros95 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of comments/thoughts, nothing major and don't feel like they need to be addressed. Corey & Ryan will probably have a better perspective on the docs but figured I'd have a quick read

Without a shared definition of breaking vs. non-breaking, teams will interpret these differently. A starting point for a versioning policy:

- **Major**: The change fundamentally alters how the template works. Parameters have been added or removed. Consumers need to review and test the update before accepting it.
- **Major**: The change fundamentally alters how the template works. Parameters have been added or removed, or a channel has been renamed or deleted. Consumers need to review and test the update before accepting it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Is it worth mentioning lifecycles here as well or do we only do this for channels?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't appear to happen for lifecycles, and I'd hazard a guess because we don't reference lifecycles outside of the channel. You don't scope to a lifecycle so deleting it/renaming it only has to be updated in the channel reference.

- Existing releases that reference the channel stop working until someone re-maps them to another channel.
- Existing triggers that reference the channel stop working until someone re-maps them to another channel.

When making such changes publish a major version, so consumers can review and apply the change deliberately.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because this is enforced would something along the lines of this work?

Suggested change
When making such changes publish a major version, so consumers can review and apply the change deliberately.
Major versioning is enforced for these changes so consumers can review and adopt the updates deliberately.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice ^


In a project template, channels reference lifecycles that reside within the project template itself.

Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not worth adding, I think this would be clear to most users but it might clarify things

Suggested change
Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template:
Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template at publish time:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Building on your suggestion Isaac:

Suggested change
Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template:
Unlike a regular Project, a Project Template allows you to delete a Channel or change it's filename in OCL, even when Projects using the template have Releases or Triggers that reference it. Publishing a new version of the Project Template with these changes will have consequences for Projects that accept the new version:


## Channels

[Channels](/docs/releases/channels) in project templates function the same as they do in projects. You can define channels based on the intended release strategies for projects that use this template. Every project template comes with a default channel.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth calling out that tenants are passed through via parameters similar to how environments are passed through to templated lifecycles?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed that'd be good to call out as it's one of the differences between Platform Hub and Projects.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in.

[Channels](/docs/releases/channels) in project templates function the same as they do in projects. You can define channels based on the intended release strategies for projects that use this template. Every project template comes with a default channel.

:::div{.warning}
Ephemeral environment channels aren't yet supported in project templates.

@corey-underdown corey-underdown Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Project Templates should be capitalised as they're a noun. The same applies to all the usages of Channels/Lifecycles/Projects etc.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've checked through our docs, and we're really inconsistent with this so it's probably okay to just leave them as is.

I checked our writing guide skill, and it defines:

"As a general rule, capitalize words and terms that are proper nouns or would normally be capitalized. If you're uncertain, default to not capitalizing terms."

The fact that we capitalize Platform Hub says we should extend that capitalization to all Octopus concepts, but like I said we're fairly inconsistent with this, leaning more towards not using them. So for now let's leave it, and we'll reflect on it across all our Platform Hub docs at once.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find it very hard to know when to capitalise and when not too. According to the writing guide there is a difference between talking about the feature Project Templates (should be capitalised) and a group of project templates (lowercase) or a single project template (lowercase).

The sentence above could be either IMO. 🤷‍♀️

Like you said - I'm going to leave it for now

@corey-underdown corey-underdown left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, covers all the things on my mind. Few wording suggestions.

Can ignore my comments around capitalization of proper nouns. We're so inconsistent and not capitalizing matches better to existing docs.


In a project template, channels reference lifecycles that reside within the project template itself.

Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Building on your suggestion Isaac:

Suggested change
Unlike a regular project, a project template lets you delete a channel or change its filename even when projects using the template have releases or triggers that reference it. Doing so has consequences for every project using the template:
Unlike a regular Project, a Project Template allows you to delete a Channel or change it's filename in OCL, even when Projects using the template have Releases or Triggers that reference it. Publishing a new version of the Project Template with these changes will have consequences for Projects that accept the new version:

- Existing releases that reference the channel stop working until someone re-maps them to another channel.
- Existing triggers that reference the channel stop working until someone re-maps them to another channel.

When making such changes publish a major version, so consumers can review and apply the change deliberately.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice ^

[Channels](/docs/releases/channels) in project templates function the same as they do in projects. You can define channels based on the intended release strategies for projects that use this template. Every project template comes with a default channel.

:::div{.warning}
Ephemeral environment channels aren't yet supported in project templates.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've checked through our docs, and we're really inconsistent with this so it's probably okay to just leave them as is.

I checked our writing guide skill, and it defines:

"As a general rule, capitalize words and terms that are proper nouns or would normally be capitalized. If you're uncertain, default to not capitalizing terms."

The fact that we capitalize Platform Hub says we should extend that capitalization to all Octopus concepts, but like I said we're fairly inconsistent with this, leaning more towards not using them. So for now let's leave it, and we'll reflect on it across all our Platform Hub docs at once.

@clairey259
clairey259 force-pushed the nelson/project-template-channels branch from 526a029 to d673df2 Compare September 23, 2026 06:35
@clairey259
clairey259 merged commit dda6317 into main Sep 23, 2026
7 checks passed
@clairey259
clairey259 deleted the nelson/project-template-channels branch September 23, 2026 06:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants