For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create a V1 step template

Define a reusable step template in V1 pipelines and reference it from any pipeline.

A step template captures one reusable step that you can drop into any V1 pipeline. Use it for a self-contained unit of work, such as a build, a script, or a single deployment action.


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 the image your step uses (for example, docker_hub_anonymous). 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 template

Define the template under the top-level template key with a single step block. The body of step is identical to a step you would write inline in a pipeline.

template:
  step:
    run:
      script: |-
        pnpm build
        pnpm test
      container:
        image: nodejs:latest
        connector: docker_hub_anonymous

To make the template configurable, declare inputs under template.inputs and reference them with the ${{ inputs.<name> }} expression.


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 template from inside a step list using the template block. Set uses to <scope>.<name>@<version> and supply input values under with.

If you omit the version suffix, the pipeline resolves to the latest stable version at execution time.


Next steps

A step template solves the single-step case. When several steps always run together, group them into one reusable unit instead. Go to the step group template guide to bundle multiple steps. Go to the stage template guide to standardize a complete stage.

Last updated

Was this helpful?