Last active
September 22, 2015 12:31
-
-
Save Dalmirog-zz/b6264c8b7d61a2e1398a to your computer and use it in GitHub Desktop.
New Incremental Release with prompt variable
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$apiKey = "Your API Key" | |
$OctopusURL = "Your Octopus URL" | |
$Header = @{ "X-Octopus-ApiKey" = $apiKey } | |
$ProjectName = "Your Project Name" | |
$EnvironmentName = "Your Environment Name" | |
#Getting Environment and Project By Name | |
$Project = Invoke-WebRequest -Uri "$OctopusURL/api/projects/$ProjectName" -Headers $Header| ConvertFrom-Json | |
$Environment = Invoke-WebRequest -Uri "$OctopusURL/api/Environments/all" -Headers $Header| ConvertFrom-Json | |
$Environment = $Environment | ?{$_.name -eq $EnvironmentName} | |
#Getting Deployment Template to get Next version | |
$dt = Invoke-WebRequest -Uri "$OctopusURL/api/deploymentprocesses/deploymentprocess-$($project.id)/template" -Headers $Header | ConvertFrom-Json | |
#Creating Release | |
$ReleaseBody = @{ Projectid = $Project.Id | |
version = $dt.nextversionincrement } | ConvertTo-Json | |
$r = Invoke-WebRequest -Uri $OctopusURL/api/releases -Method Post -Headers $Header -Body $ReleaseBody | ConvertFrom-Json | |
#Getting task to get preview | |
$t = Invoke-WebRequest -Uri ($OctopusURL + $r.links.DeploymentTemplate) -Headers $Header | ConvertFrom-Json | |
#Preview holds the variables labeles and names. | |
$p = Invoke-WebRequest -Uri ($OctopusURL + $t.PromoteTo.links.Preview) -Headers $Header | ConvertFrom-Json | |
#Creating deployment and setting value to the only prompt variable I have on $p.Form.Elements. You're gonna have to do some digging if you have more variables | |
$DeploymentBody = @{ | |
ReleaseID = $r.Id #mandatory | |
EnvironmentID = $Environment.id #mandatory | |
FormValues = @{ # Here is where you declare all your Prompt variables. | |
"$($p.Form.Elements.name)" = "My Variable Value!" | |
ForcePackageDownload="False" | |
ForcePackageRedeployment="False" | |
UseGuidedFailure="False" | |
} | |
} | ConvertTo-Json | |
Invoke-WebRequest -Uri $OctopusURL/api/deployments -Method Post -Headers $Header -Body $DeploymentBody | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment