标签: azure-devops-rest-api

通过 REST API 访问 PBI 上的“剩余工作”

在 Azure DevOps 的冲刺板上,任务的“剩余工作”值“汇总”到 PBI 等,并显示在 PBI 卡上。 在此输入图像描述

该值似乎不会保留在 PBI 的“剩余工作”字段中。

如果我尝试使用 REST API 访问该字段

https://dev.azure.com/{myorg}/{project}/_apis/wit/workitems/{id}?fields=Microsoft.VSTS.Scheduling.RemainingWork&api-version=5.0-preview.3
Run Code Online (Sandbox Code Playgroud)

...我得到一个空值

在此输入图像描述

(“字段”属性)

注意:如果我将 URI 中的“字段名称”规范更改为“System.Title”,我会得到正确的值,因此我假设 URI 的格式是正确的。

我的问题是:

例如,PBI 上的“剩余工作”字段是否可以通过 REST API 获得,或者我是否必须迭代所有子任务才能自己计算它?

/杰斯珀

azure-devops azure-devops-extensions azure-devops-rest-api

5
推荐指数
1
解决办法
1181
查看次数

如何使用 Azure DevOps REST API 计算所有拉取请求

我正在尝试使用 Azure DevOps REST API 来计算我们存储库中拉取请求的总数,并最终使用它来希望从 git 数据中获得一些更有用的信息。

我曾尝试使用对存储库的 GET 请求返回拉取请求列表,但 Azure API 将每个请求的响应限制为 101。您可以使用 $top 和 $skip 来更改返回的响应数量和数量,并使用 $count 来计算返回的响应。然而,这仍然将结果限制在绝对最大值 1,000 并返回包含在 PR 中的整个数据集,当我真的只需要知道其中的实例数时,我不需要它的数据完全返回,因为这会在大型 repos 上产生巨大的结果。

这是我正在使用的 GET 请求:

https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repository}/pullrequests?$top=999&$count=true&searchCriteria.status=all&api-version=5.0
Run Code Online (Sandbox Code Playgroud)

这是我使用 Postman 返回项目数的测试脚本

var body = JSON.parse(responseBody);
tests[body.value.length + " Pull Requests in this Repository" ] = true;
Run Code Online (Sandbox Code Playgroud)

这将返回 101 的响应计数,正如预期但不期望的那样。非常感谢任何提示和技巧!

git postman azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
3220
查看次数

Azure DevOps REST API swagger url

Azure DevOps REST API 是否有 swagger url?

我希望能够在 C# 或 Powershell 中围绕它生成包装器代码,但找不到它。

swagger azure-devops azure-devops-rest-api

5
推荐指数
2
解决办法
3315
查看次数

创建自动 PR 并完成 Azure DevOps

我正在尝试创建一个流程,当来自分支 a -> b 的 PR 完成时,会创建并完成来自分支 c -> d 的自动 PR。

我查看了这个问题,但它没有提到自动完成

CI/CD 管道 Azure DevOps 在部署发布后自动合并

另外,我可以为自动 PR 设置特定策略,以便自动完成吗?

更新

我尝试使用以下调用:

https://learn.microsoft.com/en-us/rest/api/azure/devops/git/pull%20requests/update?view=azure-devops-rest-5.1
Run Code Online (Sandbox Code Playgroud)

但我得到了错误:

Invoke-RestMethod : {"$id":"1","innerException":null,"message":"Invalid argument value.\r\nParameter name: Invalid 
pull request auto complete set by id. Valid values are either the current user identity id, or an empty guid (to unset 
auto complete)."
Run Code Online (Sandbox Code Playgroud)

我尝试从响应中获取创建者 ID,但它是空的。

我尝试分配项目集合构建服务(msazure),就像我在这里看到的那样: https ://developercommunity.visualstudio.com/content/problem/298596/autocompletesetby-ignored-in-pull-request-rest-api.html

但我收到了错误。

azure-devops azure-pipelines azure-pipelines-release-pipeline azure-devops-extensions azure-devops-rest-api

5
推荐指数
1
解决办法
6931
查看次数

从 azure devops 服务器下载文件将错误的数据写入文件

我正在尝试使用 API 从 azure Devops 服务器下载 SQL 文件,但带有注销链接的 html 页面源代码被复制到该文件中。

\n

C# 代码

\n
 var personalaccesstoken = "wwwwwwwwwwwwwwwwwwy47b7ugkz32bubi64bw7fqdyfpa";\n        var url = $"https://dev.azure.com/OrgTest/ABCProject/_apis/git/repositories/e9e2f082-99999iii-dummy-869b0bcc737a/items?path=/Versiondata/Datfile/ABC.sql&includeContent=true&api-version=5.1";\n        var request = (HttpWebRequest)WebRequest.Create(url);\n        request.UserAgent = "VSTS-Get";\n        \n        request.Headers.Set(HttpRequestHeader.Authorization, "Bearer " + personalaccesstoken);\n        request.ContentType = "application/json";\n        request.Method = "GET";\n        \n\n        request.AllowAutoRedirect = true;\n       var response = (HttpWebResponse)request.GetResponse();\n        using (var responseStream = response.GetResponseStream()) \n        {\n            using (var filestream = File.Create(System.IO.Path.Combine("D:\\\\testFolder\\\\", "ABC.sql")))\n            {\n                responseStream.CopyTo(filestream);\n            }\n        }\n
Run Code Online (Sandbox Code Playgroud)\n

不幸的是我在文件中得到了以下 html 内容

\n

内容输出文件

\n
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" …
Run Code Online (Sandbox Code Playgroud)

html c# azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
1260
查看次数

如何识别 Azure DevOps Services 的最新稳定 REST API 版本?

在我的项目中,需要自动创建 Azure 工件源。

为此,我使用了本文档中提到的 REST API:https://learn.microsoft.com/en-us/rest/api/azure/devops/artifacts/feed%20%20management/create%20feed ?view=azure-devops -休息-5.0

并使用 python 来创建 feed。

POST https://feeds.dev.azure.com/{organization}/_apis/packaging/feeds?api-version=5.0-preview.1 工作正常。

后来我看到有新版本的API可用了。每次有新的 API 版本时都更改代码并不容易。那么问题是如何始终识别/使用最新的稳定工作版本的 API?

azure-devops azure-artifacts azure-devops-rest-api

5
推荐指数
1
解决办法
3463
查看次数

单击拉取请求中的完成按钮后,有没有办法在 Azure DevOps 中获取拉取请求 ID

我在创建 PR 后执行管道流,并且在单击完成按钮后需要获取拉取请求 ID。

我使用$(System.PullRequest.PullRequestId)来获取值,但它始终是一个空值,并给出错误输出“ System.PullRequest.PullRequestId:找不到命令

创建一个简单的经典管道,如下所示,需要在Branch Policies -> Status Check中调用它。 在此输入图像描述

注意:使用相同的变量$(System.PullRequest.PullRequestId)我可以在完成之前获取 ID,即当 PR 处于活动状态时。

azure-devops azure-devops-rest-api azure-devops-pipelines

5
推荐指数
1
解决办法
7972
查看次数

从 Azure DevOps 获取已通过 JavaScript 合并到分支中的所有工作项

这个想法

我目前正在使用 NodeJS 开发一个“发行说明”应用程序,该应用程序调用各种 Azure DevOps REST API 端点来获取基于特定标签的工作项。

我现在拥有的

我现在所拥有的工作原理如下;

  • Azure DevOps 上的一些工作项(自定义)标记有v1.1.
  • 我编写的 JS 函数会获取与给定v1.1标签匹配的所有工作项。
  • 维基条目是使用生成的降价创建的,显示每个工作项的细分(格式对问题并不重要)。
/**
 * Function used to fetch initial work items from Azure DevOps that match the provided release number
 * @param {String} releaseNumber - the given release number
 * @returns {Array} workItems - the initial work items fetched from Azure DevOps
 */
async function fetchWorkItems(releaseNumber) {
    console.log('\nFetching work items for given release number...');
    let response;
    try {
        response …
Run Code Online (Sandbox Code Playgroud)

javascript azure azure-devops azure-pipelines azure-devops-rest-api

5
推荐指数
1
解决办法
2007
查看次数

如何使用 Powershell 7 Get-AzVMImage 获取最新版本

我正在尝试使用 Azure Powershell 7 commandlet 获取最新版本的 Canonical UbuntuServer 18.04-LTS。

\n

这是我的查询的示例:

\n
>> Get-AzVMImage -Location "eastus" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "18.04-LTS" -Version "latest"\n
Run Code Online (Sandbox Code Playgroud)\n

身份验证后,我尝试运行该命令行开关,但收到以下错误:

\n
Get-AzVMImage:\nLine |\n   2 |  Get-AzVMImage -Location "eastus" -PublisherName "Canonical" -Offer "U \xe2\x80\xa6\n     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n     | The value of parameter version is invalid.\nErrorCode: InvalidParameter\nErrorMessage: The value of parameter version is invalid.\nErrorTarget: version\nStatusCode: 400\nReasonPhrase: Bad Request\nOperationID : 3cf54862-47c7-4092-97e9-20ae6556f37c\n
Run Code Online (Sandbox Code Playgroud)\n

但是,如果我将 -Version 标志硬编码为已知版本号,如下所示:

\n
>> Get-AzVMImage -Location "eastus" -PublisherName "Canonical" -Offer "UbuntuServer" -Skus "18.04-LTS" -Version "18.04.202109280"\n …
Run Code Online (Sandbox Code Playgroud)

powershell azure azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
1682
查看次数

未指定池 迁移的版本显示错误

我们最近使用 Azure DevOps 迁移工具将一些构建迁移到不同的 Azure DevOps 环境。构建管道指向微软托管代理,但由于问题而失败

未指定池

新创建的构建可以在相同的构建配置下正常工作。附加的屏幕截图包含完全相同的示例 yaml,但是迁移的构建因错误而失败,而新创建的构建工作正常。

在此输入图像描述

在此输入图像描述

azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
1199
查看次数