How to update the deployment state in Octopus

The issue

There is now the ability to change the state of a deployment after its happened.

This can be useful if there are scenarios where external apps can remove deployments triggered from Octopus, and you want a way to let Octopus know that an app is no longer there.

A good example of this is BizTalk deployments where an app getting deployed will remove other applications that are dependant on it.


Get the Server-Task Id from the Deployment record

then run the following (obviously alter it a bit based on your needs) :

$header = @{"X-Octopus-ApiKey"=$apikey}

$serverTaskId = 'ServerTasks-1638'
$octopusUri = "https://$$serverTaskId/state"

$data = @{state='Failed'; reason='Application was removed as part of installation of Contoso.Schemas.'}
$body = $data | ConvertTo-Json

Invoke-RestMethod -Method Post -Uri $octopusUri  -Body $body -Headers $header

This will update the status. Example shown below:

Last updated