Octopus.HelmChartUpgrade exported 2026-07-22 by Octopus Deploy belongs to ‘Kubernetes’ category.
Upgrade a Helm chart from a package or Git repository, configuring release name, namespace, template values, and Helm options.
Parameters
When this step is included in a project’s deployment process, the parameters below can be set.
Chart Source
Octopus.Action.Script.ScriptSource (required)
The source of the Helm chart. Charts can be contained in a package or a Git repository.
Allowed values: Package, GitRepository
Default: Package
Chart Directory
Octopus.Action.Helm.ChartDirectory
Optionally specify the directory inside the package or Git repository where the chart is located.
Kubernetes Release Name
Octopus.Action.Helm.ReleaseName
The Helm release name. If a release by this name doesn’t already exist, an install will be run. Must consist of only lower case alphanumeric and dash characters.
Example: #{Octopus.Action.Name | ToLower}-#{Octopus.Environment.Name | ToLower}
Namespace
Octopus.Action.Helm.Namespace
The namespace the chart will be installed into. Overrides the target namespace and is passed as the —namespace option to the Helm client.
Template Values Sources
Octopus.Action.Helm.TemplateValuesSources
The sources for Helm template values. Provided as a JSON array describing chart values, inline YAML, key-value pairs, Git repository, or package-based values files.
Reset Values
Octopus.Action.Helm.ResetValues
When upgrading, reset the values to the ones built into the chart. Maps to —reset-values.
Allowed values: True, False
Default: True
Timeout
Octopus.Action.Helm.Timeout
The —timeout duration for Helm. Helm uses a default timeout of 300 seconds. When specifying the timeout, Helm expects a duration like 300s.
Example: 300s
Additional Parameters
Octopus.Action.Helm.AdditionalArgs
Additional parameters that will be passed to the helm upgrade command.
Custom Helm Executable
Octopus.Action.Helm.CustomHelmExecutable
The path to a custom Helm executable on the worker or target.
Resource Status Check
Octopus.Action.Kubernetes.ResourceStatusCheck
Whether to verify that Kubernetes objects reached their desired state. Maps to —wait.
Allowed values: True, False
Default: True
Wait for Jobs
Octopus.Action.Kubernetes.WaitForJobs
Whether to wait for Kubernetes Jobs to complete during the step. Maps to —wait-for-jobs.
Allowed values: True, False
Default: False
Optional features
Enable features by adding their IDs to Octopus.Action.EnabledFeatures (a comma-separated list).
Custom Deployment Scripts Octopus.Features.CustomScripts
Execute scripts during the deployment (pre-deploy, deploy, post-deploy) without embedding them in your package.
Octopus.Action.CustomScripts.PreDeploy.
Octopus.Action.CustomScripts.PreDeploy.<ext>
Pre-deploy script body. The key’s
Octopus.Action.CustomScripts.Deploy.
Octopus.Action.CustomScripts.Deploy.<ext>
Deploy-phase script body. The key’s
Octopus.Action.CustomScripts.PostDeploy.
Octopus.Action.CustomScripts.PostDeploy.<ext>
Post-deploy script body. The key’s
Step configuration using OCL
Example in Octopus Configuration Language (OCL):
step "deploy-helm-chart" {
name = "Deploy Helm Chart"
properties = {
Octopus.Action.TargetRoles = "k8s-cluster"
}
action {
action_type = "Octopus.HelmChartUpgrade"
properties = {
Octopus.Action.Helm.Namespace = "default"
Octopus.Action.Helm.ReleaseName = "myrelease"
Octopus.Action.Helm.ResetValues = "True"
Octopus.Action.Kubernetes.ResourceStatusCheck = "True"
Octopus.Action.Package.DownloadOnTentacle = "False"
Octopus.Action.Package.FeedId = "octopus-server-built-in"
Octopus.Action.Package.PackageId = "my-chart"
Octopus.Action.RunOnServer = "false"
Octopus.Action.Script.ScriptSource = "Package"
}
packages {
acquisition_location = "Server"
feed = "octopus-server-built-in"
package_id = "my-chart"
}
}
} Page updated on Wednesday, July 22, 2026