首页 > 解决方案 > Azure DevOps REST API - 获取工作项的相关链接

问题描述

我试图弄清楚如何通过 Azure DevOps 的 REST API 获取与工作项相关的链接。假设我有一个链接到它的 Git 提交的工作项。我想获取有关此 Git Commit 的详细信息,例如它属于哪个 repo、它的提交哈希等。到目前为止,我拥有以下内容:


function Get-WorkItem {
    $Uri = "$($CollectionURI)/$($Project)/_apis/wit/workitems/73?`$expand=all"
    
    Invoke-RestMethod -Headers $Headers -Uri $Uri -Method GET
}

PS> Get-WorkItem

id        : 73
rev       : 3
fields    :   ...
_links    : @{self=; workItemUpdates=; workItemRevisions=; workItemComments=; html=; workItemType=; fields=}
url       : https://dev.azure.com/collection/projectid/_apis/wit/workItems/73

如果我深入研究该relations部分,我得到的只是:


PS> $(response).relations

rel          url                                                                                                                                        attributes
---          ---                                                                                                                                        ----------
ArtifactLink vstfs:///Git/PullRequestId/xx-xx-xx-xx-xx%2Fxx-xx-xx-xx-xx%2Fxx                                @{authorizedDate=2021-03-18T...
ArtifactLink vstfs:///Git/Commit/xx-xx-xx-xx-xx%2Fxxx-xx-xx-xx-xx%2F<commitId> @{authorizedDate=2021-03-21T...

好的,所以我得到了一个包含字典的列表,每个都有 3 个字段。Rel 字段并没有告诉我太多。URL 字段也是如此。关闭是属性:

 $(response).relations.attributes


authorizedDate       : 2021-03-18T12:29:03.26Z
id                   : 10040686
resourceCreatedDate  : 2021-03-18T12:29:03.26Z
resourceModifiedDate : 2021-03-18T12:29:03.26Z
revisedDate          : 9999-01-01T00:00:00Z
name                 : Pull Request

authorizedDate       : 2021-03-21T12:48:48.677Z
id                   : 10046754
resourceCreatedDate  : 2021-03-21T12:48:48.677Z
resourceModifiedDate : 2021-03-21T12:48:48.677Z
revisedDate          : 9999-01-01T00:00:00Z
name                 : Fixed in Commit

但是这里的commit id格式并不清楚。如何获得提交的 SHA1?

标签: azure-devops

解决方案


推荐阅读