问题标签 [azure-devops-rest-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
431 浏览

tfs - 如何获取用户/帐户对任何项目所做更改的完整历史记录

我想知道是否可以获得我的个人帐户 (@outlook.com) 对我曾经从事过的 Visual Studio Team Services 中的任何帐户/项目所做更改的完整历史记录(即使其中一个或多个项目实际存在与否)。

我不需要完整的变更集信息,只需要项目名称、签入日期,可能还有受影响的文件的编号/名称。

0 投票
1 回答
457 浏览

rest - 获取构建定义响应正文缺少属性

我正在尝试通过 TFS REST API v2.0 运行请求,因为我希望能够在触发之前修改特定 BuildDefinition 的“ProcessParameters”。这样我就可以将参数传递给特定的 BuildDefinition 的部署脚本。

通过 TFS SDK 完成这项工作可以正常工作,但我不得不重构以改用 REST API,因为这必须在没有 Visual Studio 和 TFS Team Explorer 的生产机器上运行。

文档说我应该能够在我的查询中指定一个 propertyFilter,但我无法让它返回更多信息。与我习惯通过 SDK 工作的内容相比,我得到的内容非常轻巧。

这是我的要求:https://{instance}/DefaultCollection/{project}/_apis/build/definitions/{id}?api-version=2.0&propertyFilters=processParameters

无论是否设置了“&propertyFilters=processParameters”部分,响应都是完全相同的。它应该能够处理以逗​​号分隔的属性名称列表,但似乎它只是被忽略了。

我是否发现了一个错误,或者我们应该说,API 文档和实际 API 之间存在差异?'propertyFilters' 查询参数是否实际实现?我无法让它工作...

非常感谢任何帮助!

0 投票
1 回答
5000 浏览

rest - 如何使用 VSO/VSTS Rest API 执行自定义查询?

我希望得到一些帮助,使用 REST API 执行自定义 VSO 查询。但是我在构建 URL 时遇到了麻烦。我一直在使用以下文档来构建我想要的东西。

https://www.visualstudio.com/en-us/integrate/api/wit/wiql

我的问题是我不确定如何或在哪里存储它自己的查询。

https://{instance}/defaultcollection/[{project}/]_apis/wit/wiql?api-version={version}

给出的例子是

https://fabrikam.visualstudio.com/DefaultCollection/Fabrikam-Fiber-Git/_apis/wit/wiql?api-version=1.0

但这并没有显示存储查询的方式或位置。

我已经能够使用存储的查询执行相同的查询,但是,结果不会返回我在 VSO 的查询中设置的列。

0 投票
1 回答
640 浏览

powershell - 使用 OAuth 令牌删除 VSTS 构建

有了在构建期间获取 OAuth 令牌以访问 VSTS API 的新可能性,我尝试编写一个删除某些构建的脚本。

阅读构建工作正常,如下所示:

但是在尝试删除构建时,我收到403 Forbidden错误:

使用 VSTS 提供给构建的 OAuth 令牌是不可能删除的,还是我需要以不同的方式调用删除请求?

0 投票
0 回答
420 浏览

tfs - vNext 和新任务 RunDistributedTests - 并行测试

在 TFS 更新 2 中提供了新任务“ RunDistributedTests ”,它可以与测试计划和测试套件一起使用。就我而言,我想同时在 5 台机器上运行测试套件(并行测试)

我的测试套件包括 Coded UI 测试。机器组由5台测试机组成。

执行后我看到下一个结果:测试只运行一台机器,它是机器组列表中的第一台机器。其他机器没有任何动作。

我检查了日志文件 DTAExecutionHost.exe.log 并在每台未运行测试的机器上发现了这个异常:

/tfs/Projects/_apis/test/Agents/97/Commands/0] (GET)0[test] \DTAExecutionHost, TestExecutionServiceCommandQueueListener.DispatchAsync:发生了 TestExecutionObjectNotFoundException。\DTAExecutionHost, TestExecutionServiceCommandQueueListener.SendStopCommandToHandleException队列侦听器中发生异常。Microsoft.TeamFoundation.Test.WebApi.TestExecutionObjectNotFoundException:找不到 TestAgent 97。在 Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponse(HttpResponseMessage response) 在 Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.d__79.MoveNext() --- 堆栈跟踪从上一个引发异常的位置结束---

也许有人已经遇到过类似的问题,我会很高兴得到任何帮助谢谢!

0 投票
3 回答
1367 浏览

rest - 如何通过 REST API 的 TFS 客户端库获取测试运行附件列表?

有一种方法TestManagementHttpClient.GetTestRunAttachmentContentAsync(),它需要附件 id 以及其他参数,但我找不到一种方法来获取附加到测试运行的所有文件的列表,所以我想知道是否有这种方法?

0 投票
1 回答
490 浏览

json.net - Visual Studio Team Services:使用 RestSharp 和 JSON.NET 获取所有工作项

我正在尝试从 Visual Studio Team Services(以前是 Visual Studio Online)获取所有工作项。我已经能够从我的应用程序中创建它们,但是在找到所有这些时遇到问题。我一直在尝试使用 wiql,但似乎无法正常工作。感谢任何帮助或提示。

我的代码:

我不断收到的错误是:

有人可以就我的查询有什么问题给我一个提示吗?

0 投票
1 回答
4047 浏览

powershell - 在 VSTS 中发布失败时向所有开发人员发送通知(prev. VSO)

我正在使用以前称为 Visual Studio Online (VSO) 的 Visual Studio Team Services (VSTS) 来构建持续交付管道。我的目标是尽可能接近 Jez Humble 和 David Farley 的《持续交付》一书。

我希望当一个阶段(在 VSTS 中名为 Environment)失败时,会向参与此版本的每个开发人员发送通知(一封电子邮件) 。该通知会说:

  • 你打破了舞台(回归)
  • 舞台已经被打破(失败)
  • 你修好了舞台。(固定的)

目前,只有手动创建发布的人(或通过推送触发构建的提交然后发布)才会收到这封电子邮件,而没有我想要的信息。

我已经玩了一点 VSTS API,并且可以获得给定构建(但不是给定版本)的相关提交(和开发人员电子邮件):

我已经看到在 VSTS 界面中,您可以看到在 2 个版本之间添加了哪些提交。即使我没有在 API 中找到这些信息,它也非常接近我想要的。但是即使有了这些信息,我的项目的所有分支都使用相同的发布定义,例如,Release-26 将是一个功能分支,而 Release-27 将是开发的。比较这两个版本没有意义。

我知道我可以在发布阶段从环境变量中获取构建 ID,然后使用上面的脚本创建一个 PowerShell 任务或插入 VSTS 的 Web 服务。但它只有在每次构建都触发发布时才有效,但情况并非总是如此。

您知道使用 VSTS 发送此通知的(更好的)方法吗?
我是否为这类事情使用了正确的工具?

0 投票
1 回答
153 浏览

c# - REST API PATH 创建 WorkItem 不起作用,代码以 0 退出

我正在使用 REST API 使用 REST API文档创建工作项。为此,我需要使用 Patch 请求,但此代码不起作用。程序以代码 0 (0x0) 退出。

0 投票
2 回答
2133 浏览

powershell - TFS Build vNext rest api:请求的队列构建

我正在尝试使用TFS Rest API从PowerShell对新构建进行排队。我可以对新构建进行排队,但我想设置 requestedBy 属性。在文档中可以读到您可以传递其他参数。我找不到任何关于这些参数可以是什么的进一步文档。有谁知道这是否可以做到?

使用tfsbuild.exe(对 XAML 构建进行排队)您可以传递一个额外的参数,如下所示:

编辑

我已经能够得到这个工作。请求的正文如下所示:

您只能使用 id 属性。例如,使用 uniqueName 将失败。

这是完整的PowerShell代码: