Abul_Hassan
Abul_Hassan

Reputation: 31

Using powershell, how can i re-run a release which has failed in azure-devops using an api?

what can i put in which can help me re run a failed release in azure devops?

$timer = New-TimeSpan -Minutes 120
while ($sw.elapsed -lt $timer) {  
        $ReleaseStatus  = Invoke-RestMethod -Uri "https://vsrm.dev.azure.com/company/project/_apis/release/releases/$RId/environments/$EId/?`api-version=6.0" -Method GET -Headers $Header -Verbose
        start-sleep -seconds 10
        
        if ($ReleaseStatus.Status -eq 'Succeeded') {
            write-host "Release Succeeded"
            return
            }
        if ($ReleaseStatus.status -eq 'Rejected' -or 'active') {
                Invoke-RestMethod "https://vsrm.dev.azure.com/company/project/_apis/release/releases?api-version=6.0" -Method POST -Headers $Header -Body $Body -Verbose
                write-host "Error occured, Re-running Release"
                return
            }
            
                    
    }

Upvotes: 1

Views: 158

Answers (1)

Abul_Hassan
Abul_Hassan

Reputation: 31

i had to ping this endpoint in the end.

Invoke-RestMethod -Uri "vsrm.dev.azure.com/company/project/_apis/release/releases/$RId/…?`api-version=6.0" -Method GET -Headers $Header -Verbose 

This allowed me to rerun the release instead of creating and running a new one in my script.

Upvotes: 1

Related Questions