Krz*_*tof 5 azure-devops azure-pipelines
我有一些运行被保留,原因Legacy retention model如下:
我不确定它来自哪里。我想删除它们,但不想每次运行都删除租约。有没有办法做到这一点?
我在 Azure DevOps 上没有找到关闭它的设置,因此我编写了 powershell 脚本,该脚本遍历每个管道定义,然后构建和删除Legacy Retention Mode租约并使用此租约进行构建。
$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(":your-pat-here")) }
$organization = "org-name"
$project = "project-name"
$definitionsUrl = "https://dev.azure.com/${organization}/${project}/_apis/build/definitions?api-version=6.0"
$definitions = Invoke-RestMethod -Uri $definitionsUrl -Method Get -Headers $AzureDevOpsAuthenicationHeader
foreach ($definition in $definitions.value)
{
Write-Host $definition.name -ForegroundColor Green
$pipelineUrl = "https://dev.azure.com/${organization}/${project}/_apis/pipelines/$($definition.id)/runs?api-version=6.0-preview.1"
# Invoke the REST call
$result = Invoke-RestMethod -Uri $pipelineUrl -Method Get -Headers $AzureDevOpsAuthenicationHeader
foreach ($run in $result.value) {
$leasesUrl = "https://dev.azure.com/${organization}/${project}/_apis/build/builds/$($run.id)/leases?api-version=6.1-preview.1"
$leasesResult = Invoke-RestMethod -Uri $leasesUrl -Method Get -Headers $AzureDevOpsAuthenicationHeader
$ownerId = "Legacy Retention Model"
foreach ($lease in $leasesResult.value) {
if($lease.ownerId -Match $ownerId){
$deleteLeaseUrl = "https://dev.azure.com/${organization}/${project}/_apis/build/retention/leases?ids=$($lease.leaseId)&api-version=6.0-preview.1"
Write-Host "Removing ${ownerId} from run $($run.id) (created date $($run.createdDate))" -ForegroundColor Blue
$leasesResult = Invoke-RestMethod -Uri $deleteLeaseUrl -Method Delete -Headers $AzureDevOpsAuthenicationHeader
Write-Host "Removed lease"
$deleteBuildUrl = "https://dev.azure.com/${organization}/${project}/_apis/build/builds/$($run.id)?api-version=6.0"
$leasesResult = Invoke-RestMethod -Uri $deleteBuildUrl -Method Delete -Headers $AzureDevOpsAuthenicationHeader
Write-Host "Removed build"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
805 次 |
| 最近记录: |