A repository of step templates and other community-contributed extensions to Octopus Deploy. The website to download step templates from is https://library.octopus.com.
- Step templates are checked into
/step-templatesas raw JSON exports direct from Octopus Deploy - The library website is largely under
/app, with build artifacts at the root of the repository - The
/toolsfolder contains utilities to help with editing step templates
Read our contributing guidelines for information about contributing step templates and to the website.
Step template JSON files embed scripts as single-line escaped strings, making diffs hard to read. Use the _diff.ps1 tool to extract old and new scripts into separate files you can compare in your diff tool:
# Compare ScriptBody against previous commit
.\tools\_diff.ps1 -SearchPattern "template-name"
# Compare against a specific commit or branch
.\tools\_diff.ps1 -SearchPattern "template-name" -CompareWith "master"This outputs readable files to diff-output/:
template-name.ScriptBody.old.ps1template-name.ScriptBody.new.ps1
Also handles PreDeploy, Deploy, and PostDeploy custom scripts if present.
When reviewing a PR, keep the following things in mind:
Idshould be a GUID that is not00000000-0000-0000-0000-000000000000Versionshould be incremented, otherwise the integration with Octopus won't update the step template correctly- Parameter names should not start with
$ - The
DefaultValues ofParameters should be either a string or null. LastModifiedByfield must be present, and (optionally) updated with the correct author- If a new
Categoryhas been created:- An image with the name
{categoryname}.pngmust be present under thestep-templates/logosfolder - The
switchin thehumanizefunction ingulpfile.babel.jsmust have acasestatement corresponding to it
- An image with the name