【问题标题】:Find changesets based on workitem ID linked根据链接的工作项 ID 查找变更集
【发布时间】:2021-09-18 17:43:53
【问题描述】:

我正在寻找一个 API 端点,它可以让我进入与我作为 API 主体提供的 workItemID 关联的变更集。

即如果我将 workitemID 设为 12,它应该返回与该 workItem 关联/链接的所有变更集。

我的项目在 Azure DevOps 中并使用 TFVC。

【问题讨论】:

  • 我没有发现任何现有问题有帮助。

标签: azure azure-devops devops tfvc


【解决方案1】:

您可以使用Get Work Item Rest Api 和expand 参数。然后您可以找到以vstfs:///VersionControl/Changeset/ URL 开头的ArtifactLink。 Powershell 示例:

$user = ""
$token = "<YOUR PAT>"
$teamProject = "<YOUR PROJECT>"
$orgUrl = "<YOUR ORG URL>"
$chUrlTemplate = "vstfs:///VersionControl/Changeset/"

$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))

$uriGetWI = "$orgUrl/$teamProject/_apis/wit/workitems/2155?api-version=6.0&`$expand=all" #update id here (2155)

$result = Invoke-RestMethod -Uri $uriGetWI -Method Get -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}    

foreach ($rel in $result.relations)
{
    if ($rel.rel -eq "ArtifactLink" -and $rel.url.StartsWith($chUrlTemplate))
    {
        $changeSetId = $rel.url.Replace($chUrlTemplate, "");

        Write-Host "ChangeSet Id:" $changeSetId
    }
}

【讨论】:

    猜你喜欢
    • 2011-10-07
    • 2015-05-21
    • 1970-01-01
    • 2016-01-14
    • 2011-08-22
    • 2013-01-01
    • 2011-09-19
    • 2019-01-06
    • 1970-01-01
    相关资源
    最近更新 更多