Create a step group template
Bundle multiple steps into a reusable step group template for V1 pipelines.
A step group template bundles an ordered set of steps into a single reusable unit. Use it when several steps always run together, such as build and test, or scan and publish.
Before you begin
V1 pipeline access: A project with V1 pipelines enabled. Go to the V1 pipelines overview to enable V1 in your project.
Connector for the runtime image: A container connector for each image referenced in the group. Go to the connectors reference to configure one.
Permissions: Create and Edit on Templates. Go to the RBAC in Harness to configure roles.
Author the step group template
Define the template under the top-level template key with a group block. Each entry under steps is a regular V1 step.
template:
group:
steps:
- name: test
id: test
run:
script: pnpm test
container:
image: nodejs:latest
connector: docker_hub_anonymous
- name: build
id: build
run:
script: pnpm build
container:
image: nodejs:latest
connector: docker_hub_anonymousSteps inside a group share the group's execution context. They run in the declared order unless you set a parallel strategy on individual steps.
To make the group configurable, declare inputs under template.inputs and reference them with ${{ inputs.<name> }} inside any step.
Create the template in Harness
In your project, go to Resources and select Templates.
Select New Template. The Select Template Type dialog opens. Select Step Group Template.
The Create template dialog opens. Fill in the following fields:
Name — a human-readable label for the template.
Version label — the version string consumers reference in
uses(for example,v1).Storage — where the template is stored. Select Inline to store it in Harness. To store it in a Git provider, select Harness Code, GitHub, GitLab, Bitbucket, Azure Repos, or Git and connect the relevant repository.
Optionally expand Metadata to add a description and tags.
Select Start. The template YAML editor opens.
Paste or author your step group template YAML in the editor, then save.
Store the template
Choose where the template is versioned.
Harness-managed: Save the template in the Harness platform. Versions are created and promoted in Harness.
Git-stored: Commit the template to a Git repository. The Git tag, branch, or commit determines the resolved version.
Go to the V1 Template Library overview to compare storage modes.
Reference the template from a pipeline
Reference a step group template from inside a step list with the template block. Set uses to <scope>.<name>@<version> and pass input values under with. The group is expanded inline at runtime; the steps run as a group inside the parent stage.
If you omit the version suffix, the pipeline resolves to the latest stable version at execution time.
Next steps
A step group template covers a fixed sequence of steps inside a stage. When you also want to standardize stage-level settings (such as inputs, environment, or failure strategy), use a stage template instead. Go to the stage template guide to author a stage template.
Last updated
Was this helpful?