Skip to content

Octopus Deploy

Deploy releases and react to deployment events in Octopus Deploy

  1. Server URL: Your Octopus Deploy instance URL (e.g. https://my-company.octopus.app).
  2. API Key: Create one in Octopus Web Portal → Profile → My API Keys → New API Key.
    • Enter a purpose (e.g., “SuperPlane Integration”) and click Generate New.
    • Copy the key immediately—it cannot be viewed again.
  3. Space: Select the Octopus Deploy space to use. Leave empty to use the default space.
  4. Auth: SuperPlane sends requests using the X-Octopus-ApiKey header.
  5. Webhooks: SuperPlane creates Octopus subscriptions automatically to receive deployment events. No manual setup is required.

The On Deployment Event trigger emits events when a deployment’s status changes in Octopus Deploy.

  • Deploy notifications: Notify Slack or PagerDuty when deployments succeed or fail
  • Post-deploy automation: Trigger smoke tests after a successful deployment
  • Incident creation: Create a ticket automatically when a deployment fails
  • Deployment tracking: Log deployment events for audit or reporting
  • Event Categories: Deployment event types to listen for. Defaults to DeploymentSucceeded and DeploymentFailed.
  • Project (optional): Filter events to a specific Octopus Deploy project.
  • Environment (optional): Filter events to a specific deployment environment.
CategoryDescription
DeploymentQueuedA deployment has been queued
DeploymentStartedA deployment has started executing
DeploymentSucceededA deployment completed successfully
DeploymentFailedA deployment has failed

Octopus Deploy subscriptions are configured with a custom header secret. SuperPlane verifies incoming webhooks by comparing the X-SuperPlane-Webhook-Secret header value against the stored secret.

Each emitted event includes the following fields:

FieldDescription
eventTypeThe deployment event category (e.g. DeploymentSucceeded)
categorySame as eventType
timestampWhen the subscription payload was sent
occurredAtWhen the event occurred in Octopus
messageHuman-readable event description
projectIdOctopus project ID (e.g. Projects-123)
environmentIdOctopus environment ID (e.g. Environments-1)
releaseIdOctopus release ID (e.g. Releases-789)
deploymentIdOctopus deployment ID (e.g. Deployments-1011)
serverUriYour Octopus Deploy server URL
{
"data": {
"category": "DeploymentSucceeded",
"deploymentId": "Deployments-1011",
"environmentId": "Environments-456",
"eventType": "DeploymentSucceeded",
"message": "Deploy to Production succeeded",
"occurredAt": "2026-02-05T16:00:00.000+00:00",
"projectId": "Projects-123",
"releaseId": "Releases-789",
"serverUri": "https://my-company.octopus.app",
"timestamp": "2026-02-05T16:00:00.000+00:00"
},
"timestamp": "2026-02-05T16:00:01.000+00:00",
"type": "octopus.deployment.succeeded"
}

The Deploy Release component deploys a chosen release to a chosen environment in Octopus Deploy and waits for completion.

  • Deploy on merge: Trigger a deployment after code is merged
  • Scheduled deployments: Deploy to staging or production on a schedule
  • Approval-based deploys: Deploy after manual approval in a workflow
  • Chained deployments: Deploy to next environment after success in the previous one
  1. Creates a deployment for the selected release and environment via the Octopus Deploy API
  2. Waits for the deployment task to complete (via webhook and polling fallback)
  3. Routes execution based on deployment outcome:
    • Success channel: Task completed successfully
    • Failed channel: Task failed, timed out, or was cancelled
  • Project: The Octopus Deploy project
  • Release: The release to deploy (filtered by the selected project)
  • Environment: The target deployment environment
  • Success: Emitted when the deployment completes successfully
  • Failed: Emitted when the deployment fails, times out, or is cancelled
  • Deployment status is tracked via the Octopus Deploy task associated with the deployment
  • Polls the task status every 5 minutes as a fallback if the webhook does not arrive
  • Requires an API key configured on the Octopus Deploy integration
{
"data": {
"completedTime": "2026-02-05T16:05:00.000+00:00",
"created": "2026-02-05T16:00:00.000+00:00",
"deploymentId": "Deployments-1011",
"duration": "5 minutes",
"environmentId": "Environments-456",
"projectId": "Projects-123",
"releaseId": "Releases-789",
"taskState": "Success"
},
"timestamp": "2026-02-05T16:05:00.000+00:00",
"type": "octopus.deployment.finished"
}