问题标签 [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.
tfs - 如何获取用户/帐户对任何项目所做更改的完整历史记录
我想知道是否可以获得我的个人帐户 (@outlook.com) 对我曾经从事过的 Visual Studio Team Services 中的任何帐户/项目所做更改的完整历史记录(即使其中一个或多个项目实际存在与否)。
我不需要完整的变更集信息,只需要项目名称、签入日期,可能还有受影响的文件的编号/名称。
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' 查询参数是否实际实现?我无法让它工作...
非常感谢任何帮助!
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}
给出的例子是
但这并没有显示存储查询的方式或位置。
我已经能够使用存储的查询执行相同的查询,但是,结果不会返回我在 VSO 的查询中设置的列。
powershell - 使用 OAuth 令牌删除 VSTS 构建
有了在构建期间获取 OAuth 令牌以访问 VSTS API 的新可能性,我尝试编写一个删除某些构建的脚本。
阅读构建工作正常,如下所示:
但是在尝试删除构建时,我收到403 Forbidden错误:
使用 VSTS 提供给构建的 OAuth 令牌是不可能删除的,还是我需要以不同的方式调用删除请求?
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() --- 堆栈跟踪从上一个引发异常的位置结束---
也许有人已经遇到过类似的问题,我会很高兴得到任何帮助谢谢!
rest - 如何通过 REST API 的 TFS 客户端库获取测试运行附件列表?
有一种方法TestManagementHttpClient.GetTestRunAttachmentContentAsync()
,它需要附件 id 以及其他参数,但我找不到一种方法来获取附加到测试运行的所有文件的列表,所以我想知道是否有这种方法?
json.net - Visual Studio Team Services:使用 RestSharp 和 JSON.NET 获取所有工作项
我正在尝试从 Visual Studio Team Services(以前是 Visual Studio Online)获取所有工作项。我已经能够从我的应用程序中创建它们,但是在找到所有这些时遇到问题。我一直在尝试使用 wiql,但似乎无法正常工作。感谢任何帮助或提示。
我的代码:
我不断收到的错误是:
有人可以就我的查询有什么问题给我一个提示吗?
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 发送此通知的(更好的)方法吗?
我是否为这类事情使用了正确的工具?
c# - REST API PATH 创建 WorkItem 不起作用,代码以 0 退出
我正在使用 REST API 使用 REST API文档创建工作项。为此,我需要使用 Patch 请求,但此代码不起作用。程序以代码 0 (0x0) 退出。
powershell - TFS Build vNext rest api:请求的队列构建
我正在尝试使用TFS Rest API从PowerShell对新构建进行排队。我可以对新构建进行排队,但我想设置 requestedBy 属性。在文档中可以读到您可以传递其他参数。我找不到任何关于这些参数可以是什么的进一步文档。有谁知道这是否可以做到?
使用tfsbuild.exe
(对 XAML 构建进行排队)您可以传递一个额外的参数,如下所示:
编辑
我已经能够得到这个工作。请求的正文如下所示:
您只能使用 id 属性。例如,使用 uniqueName 将失败。
这是完整的PowerShell代码: