Skip to content

Conversation

@mcasperson
Copy link
Contributor

@mcasperson mcasperson commented Oct 12, 2025

Step template guidelines

  • Is the template a minor variation on an existing one? If so, please consider improving the existing template if possible.
  • Is the name of the template consistent with the examples already in the library, in style ("Noun - Verb"), layout and casing?
  • Are all parameters in the template consistent with the examples here, including help text documented with Markdown?
  • Is the description of the template complete, with correct Markdown?
  • Is the .json filename consistent with the name of the template?
  • Do scripts in the template validate required arguments and fail by returning a non-zero exit code when things go wrong?
  • Do scripts in the template produce worthwhile status messages as they execute?
  • Are you happy to contribute your template under the terms of the license? If you produced the template while working for your employer please obtain written permission from them before submitting it here.
  • Are the default values of parameters validly applicable in other user's environments? Don't use the default values as examples if the user will have to change them
  • For an example of how to test your step template script body before submitting a PR take a look at this gist

Before submitting your PR, please delete everything above the line below.


Background

This step provides a script to confirm that the SMTP server has been configured in Octopus.

Results

A new step is provided to confirm the SMTP server is configured.

Pre-requisites

  • Id should be a GUID that is not 00000000-0000-0000-0000-000000000000
    • NOTE If you are modifying an existing step template, please make sure that you do not modify the Id property (updating the Id will break the Library sync functionality in Octopus).
  • Version should be incremented, otherwise the integration with Octopus won't update the step template correctly
  • Parameter names should not start with $
  • Step template parameter names (the ones declared in the JSON, not the script body) should be prefixed with a namespace so that they are less likely to clash with other user-defined variables in Octopus (see this issue). For example, use an abbreviated name of the step template or the category of the step template).
  • LastModifiedBy field must be present, and (optionally) updated with the correct author
  • The best practices documented here have been applied
  • If a new Category has been created:
    • An image with the name {categoryname}.png must be present under the step-templates/logos folder
    • The switch in the humanize function in gulpfile.babel.js must have a case statement corresponding to it

Fixes # . If there is an open issue that this PR fixes add it here, otherwise just remove this line

@github-actions
Copy link

Start Hyponome locally

docker pull ghcr.io/hnrkndrssn/hyponome:main
docker run --rm -p 8000:8080 -it ghcr.io/hnrkndrssn/hyponome:main

Review in Hyponome

@mcasperson mcasperson enabled auto-merge (squash) October 12, 2025 23:52
@mcasperson mcasperson requested a review from Copilot October 12, 2025 23:54
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a new step template that validates whether an SMTP server has been configured in Octopus Deploy. The template provides a PowerShell script that checks the SMTP configuration status via the Octopus API and outputs appropriate messages based on the result.

  • Introduces a new step template for checking SMTP server configuration
  • Uses the Octopus API to validate SMTP settings
  • Provides clear feedback when SMTP is not configured with documentation links
Comments suppressed due to low confidence (1)

step-templates/octopus-smtp-server-configured.json:1

  • The error message references 'Project.Octopus.Api.Key' but the actual parameter name is 'SmptCheck.Octopus.Api.Key' (which should be 'SmtpCheck.Octopus.Api.Key'). Update the message to reference the correct parameter name.
{

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mcasperson mcasperson requested a review from Copilot October 13, 2025 01:07
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (3)

step-templates/octopus-smtp-server-configured.json:1

  • The PowerShell script body should be properly formatted with line breaks and indentation for better readability. Currently, it's stored as a single escaped string which makes it difficult to maintain.
{

step-templates/octopus-smtp-server-configured.json:1

  • The API key validation assumes all valid keys start with 'API-'. This hardcoded prefix could become outdated if Octopus changes their API key format. Consider using a more flexible validation approach or documenting this assumption.
{

step-templates/octopus-smtp-server-configured.json:1

  • The error message contains Markdown formatting that may not render properly in the Octopus Deploy console output. Consider using plain text or HTML formatting instead.
{

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@robpearson robpearson self-assigned this Oct 13, 2025
Copy link

@robpearson robpearson left a comment

Choose a reason for hiding this comment

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

Look good. Simple script!

@mcasperson mcasperson merged commit 0d814c8 into master Oct 13, 2025
2 checks passed
@mcasperson mcasperson deleted the mattc/smtp branch October 13, 2025 03:58
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.

2 participants