【问题标题】:How to use "Pull Request Query"?如何使用“拉取请求查询”?
【发布时间】:2020-05-06 13:17:51
【问题描述】:

我想根据提交返回拉取请求。我找到了这个>https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20request%20query/get?view=azure-devops-rest-5.1

此 API 用于查找与给定提交相关的拉取请求。

我正在使用以下代码:

$body = @"
{
    "items": [
        {
            "59c1c31397b266116ff6d735e5638ef5d1b598a0"
        }
    ]
}
"@ 

$someLink = "https://dev.something.com/embrace/somethingSomething/_apis/git/repositories/****-bf64-47d9-8b10-53f21220d54d/pullrequestquery?api-version=5.1"
Invoke-RestMethod -Uri $someLink -Headers @{Authorization = $pat } -Body $body -Method Post -ContentType 'application/json'

当我运行发布时,我得到:

远程服务器返回错误:(400) Bad Request。

【问题讨论】:

  • 我相信这与您在授权标头中使用的令牌有关。你能分享一下你正在尝试什么吗?
  • 不是授权。 400 bad request 与错误的数据输入有关。你是什​​么意思分享我正在尝试的东西?我正在尝试根据提交 ID 返回拉取请求。
  • 我知道。我已经根据链接查看了您的请求,似乎没问题。问题中唯一未包含的部分是安全性 (docs.microsoft.com/en-us/rest/api/azure/devops/git/…),这就是为什么我认为这可能是问题所在。
  • 我 99% 确定问题出在 json 正文上。

标签: azure azure-devops


【解决方案1】:

尝试使用以下正文:

$body = @"
{
    "queries": [{
        "items": [
            "59c1c31397b266116ff6d735e5638ef5d1b598a0"
        ],
        "type": "commit"
    }]
}
"@ 

【讨论】:

  • 感谢您的意见。 items 数组中的值不需要属性吗? //edit 获得 404。这比 400 好得多。我要仔细检查所有其他值。
  • 根据文档似乎只是字符串数组:docs.microsoft.com/en-us/rest/api/azure/devops/git/…
  • @ThiagoCustodio 该请求对我有用,但 Azure DevOps 服务器响应 Body,这与我的输入完全相同:{"queries":[{"type":"commit","items":["c8046fcec9c52122e49719f83b224f8dc7cc1bf2"]}],"results":[{}]}
  • 发现:传递的提交 ID 来自活动 PR,而不是 master 的一部分。提交已完成 PR 作品的 ID!
猜你喜欢
  • 2015-02-18
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
  • 2017-12-10
  • 2016-08-19
  • 2021-10-15
  • 2015-01-15
  • 1970-01-01
相关资源
最近更新 更多