step "update-chart" { name = "Update Chart" action { action_type = "Octopus.Script" properties = { Octopus.Action.EnabledFeatures = "Octopus.Features.SubstituteInFiles" Octopus.Action.RunOnServer = "true" Octopus.Action.Script.ScriptBody = <<-EOT Install-Module -Name powershell-yaml -Confirm:$false -Force $template = (Invoke-RestMethod -Headers @{ 'PRIVATE-TOKEN' = ${GITLAB_TOKEN} } -Uri "https://gitlab.com/api/v4/projects/45028985/repository/files/durpapi%2FChart.yaml/raw?ref=main") | ConvertFrom-Yaml $template.version = $OctopusParameters["Octopus.Release.Number"] $body = @{ branch = "main" commit_message = "Update Chart" content = "$($template | convertto-yaml)" } | ConvertTo-Json Invoke-RestMethod -Headers @{ 'PRIVATE-TOKEN' = ${GITLAB_TOKEN} } -ContentType "application/json" -Method Put -body $body -Uri "https://gitlab.com/api/v4/projects/45028985/repository/files/durpapi%2FChart.yaml" EOT Octopus.Action.Script.ScriptSource = "Inline" Octopus.Action.Script.Syntax = "PowerShell" OctopusUseBundledTooling = "False" } container { feed = "nexus" image = "powershell:latest" } } }