繁体   English   中英

如何检索链接到特定提交的工作项-Azure Devops REST API

[英]How to retrieve Work Item linked to specific commit - Azure Devops REST API

我需要能够检索任何给定特定提交的链接工作项。 我目前正在使用以下api调用

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits/{commitId}?api-version=5.0

具有以下响应

{
  "parents": [],
  "treeId": "7fa1a3523ffef51c525ea476bffff7d648b8cb3d",
  "push": {
    "pushedBy": {
      "id": "8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
      "displayName": "Chuck Reinhart",
      "uniqueName": "fabrikamfiber3@hotmail.com",
      "url": "https://vssps.dev.azure.com/fabrikam/_apis/Identities/8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d",
      "imageUrl": "https://dev.azure.com/fabrikam/_api/_common/identityImage?id=8c8c7d32-6b1b-47f4-b2e9-30b477b5ab3d"
    },
    "pushId": 1,
    "date": "2014-01-29T23:33:15.2434002Z"
  },
  "commitId": "be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
  "author": {
    "name": "Chuck Reinhart",
    "email": "fabrikamfiber3@hotmail.com",
    "date": "2014-01-29T23:32:09Z"
  },
  "committer": {
    "name": "Chuck Reinhart",
    "email": "fabrikamfiber3@hotmail.com",
    "date": "2014-01-29T23:32:09Z"
  },
  "comment": "First cut\n",
  "url": "https://dev.azure.com/fabrikam/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
  "remoteUrl": "https://dev.azure.com/fabrikam/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4",
  "_links": {
    "self": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
    },
    "repository": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249"
    },
    "changes": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/commits/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4/changes"
    },
    "web": {
      "href": "https://dev.azure.com/fabrikam/_git/Fabrikam-Fiber-Git/commit/be67f8871a4d2c75f13a51c1d3c30ac0d74d4ef4"
    },
    "tree": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/278d5cd2-584d-4b63-824a-2ba458937249/trees/7fa1a3523ffef51c525ea476bffff7d648b8cb3d"
    }
  }
}

来自https://docs.microsoft.com/zh-cn/rest/api/azure/devops/git/commits/get?view=azure-devops-rest-5.0,并且缺少一种方法来查看其链接的工作项到或是否已链接。 有人知道获取此信息的方法吗? 谢谢

您可以在此处使用Get Commits API。 基本请求如下所示:

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?api-version=5.0

然后,您可以添加以下参数:

  • fromCommitId字符串- 如果提供,则过滤的下限按字母顺序提交
  • toCommitId字符串- 如果提供,则过滤的上限按字母顺序提交
  • includeWorkItems布尔值- 是否包括链接的工作项

为了使最终查询看起来像这样,将toCommitId和fromCommitId参数作为您要提交的提交ID(文档没有具体说明它们是包含的还是排他的,因此您可能需要稍作调整):

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?includeWorkItems=true&.toCommitId={searchCriteria.toCommitId}&fromCommitId={searchCriteria.fromCommitId}&api-version=5.0

根据本文档 ,结果应在响应的每个提交对象内包含一个workItems属性。

注意:

可以在名称中指定使用searchCriteria前缀的参数,而无需将其指定为查询参数,例如searchCriteria。$ top-> $ top


还有

  • ids -array- 如果提供,则指定要获取的提交的确切提交ID。 不得与其他参数结合使用。

可能允许您放弃在提交ID和提交ID之间进行传递,但是文档指出它可能无法与其他参数组合 -即使示例请求确实将其与其他参数组合在一起。 我自己还没有尝试过,所以当您发现要使用from-to id还是仅id时,请发表评论。


OP行动

OP最终使用以下请求,因为他们不介意返回所有提交:

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/commits?includeWorkItems=true&api-version=5.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM