【问题标题】:Update defaultBranch of build definition via Azure DevOps API通过 Azure DevOps API 更新构建定义的 defaultBranch
【发布时间】:2020-06-29 23:19:23
【问题描述】:

我需要通过Azure API 更新构建定义的defaultBranch

这是PUT 请求的文档: https://docs.microsoft.com/en-us/rest/api/azure/devops/build/definitions/update?view=azure-devops-rest-5.1

问题是我不知道创建工作请求所需发送的最小 pf 参数列表。

我尝试从浏览器导出实际请求并仅修改此字段 - 状态代码为 200 但没有任何更改。我不想通过所有提交我只想修改defaultBranch

【问题讨论】:

    标签: azure azure-devops azure-devops-rest-api


    【解决方案1】:

    在您提供的链接中,您有Request Body 部分,您可以在那里看到您需要传递的内容。我喜欢先获取定义(使用Get API),更改我想要的内容,然后执行更新。

    在 PowerShell 中:

    $pat = "YOUR-PAT"
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,"$pat")))
    $headers = @{Authorization=("Basic {0}" -f $base64AuthInfo)}
    
    $url = "https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=5.1"
    
    $build = Invoke-RestMethod -Uri $url -Method Get -ContentType application/json -Headers $headers
    
    $newDefaultBranch = "test-branch"
    $build.repository.defaultBranch = $newDefaultBranch
    
    $json = $build | ConvertTo-Json -Depth 10
    
    $response = Invoke-RestMethod -Uri $url -Method Put -ContentType application/json -Headers $headers -Body $json
    

    【讨论】:

    • 我已经在 StackOverflow 上看到了相同的答案。我不想传输我真的不需要修改的数据
    • @BasilKosovan 在更新定义的文档中,您可以在请求正文中看到您需要所有信息。
    • 你能给我发一个带锚的链接吗?
    • 对不起,如果我错过了,但我找不到任何告诉我发送所有字段的信息
    猜你喜欢
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2019-04-22
    • 2020-01-21
    相关资源
    最近更新 更多