-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
Would it be possible to add support for comparison operators? We're interested in using them in run conditions.
Example Runbook (Triggered Daily)
Step 1: Get Days Until Expiration
$exampleExpirationDate = Get-Date -Year 2025 -Month 12 -Day 1
$daysUntilExpiration = ($exampleExpirationDate - (Get-Date)).Days
Set-OctopusVariable -name "DaysUntilExpiration" -value $daysUntilExpiration
Step 2: Notify Every Day 30 Days Before Expiration
Step Template: Send Slack Message
Run Condition Proposed Options (no preference)
#{Octopus.Action[Get Days Until Expiration].Output.DaysUntilExpiration < 31}
#{Octopus.Action[Get Days Until Expiration].Output.DaysUntilExpiration | LessThan 31}
#{calc {Octopus.Action[Get Days Until Expiration].Output.DaysUntilExpiration} < 31}
Workaround
Although there's currently no support for comparison operators, we can exploit the calc-subtraction statement and the StartsWith filter to achieve something similar by subtracting the values and checking for a negative sign "-"
.
Functioning Runbook (Triggered Daily)
Project Variables
Name | Value |
---|---|
DaysUntilExpiration |
Octopus.Action[Get Days Until Expiration].Output.DaysUntilExpiration |
DaysUntilExpirationMinus31 |
#{calc {DaysUntilExpiration} - 31} |
WillExpireInLessThan31Days |
#{DaysUntilExpirationMinus31 | StartsWith "-"} |
Step 1: Get Days Until Expiration
$exampleExpirationDate = Get-Date -Year 2025 -Month 12 -Day 1
$daysUntilExpiration = ($exampleExpirationDate - (Get-Date)).Days
Set-OctopusVariable -name "DaysUntilExpiration" -value $daysUntilExpiration
Step 2: Notify Every Day 30 Days Before Expiration
Step Template: Send Slack Message
Run Condition: #{WillExpireInLessThan31Days}
Metadata
Metadata
Assignees
Labels
No labels