标签: azure-devops-rest-api

如何使用Visual Studio Team Services REST API向工作项添加注释

是否可以使用REST API在Visual Studio Team Services中为工作项添加注释?

我已经检查了工作项doc字段doc但我在JSON字段中看不到任何东西,它看起来像是注释字段.

我正在尝试实现的方案是向Zapier发送电子邮件,并将电子邮件正文添加为VSO中的工作项评论.

tfs-workitem azure-devops azure-devops-rest-api

6
推荐指数
1
解决办法
4581
查看次数

使用VSTS的REST API更新内部定义时出现的问题

我想更新构建定义中的变量,但是当它尝试运行时,Invoke-RestMethod我收到以下异常:

Invoke-RestMethod : {"$id":"1","innerException":null,"message":"This request expects an object in the request body, 
but the supplied data could not be 
deserialized.","typeName":"Microsoft.TeamFoundation.Build.WebApi.RequestContentException, 
Microsoft.TeamFoundation.Build2.WebApi, Version=14.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a","typeKey":"RequestContentException","errorCode":0,"eventId":3000}
At D:\a\_temp\231f1be5-edc0-4bd9-a2e4-efd23a8308d1.ps1:42 char:1
+ Invoke-RestMethod -Method Put -Uri "$($projectDef.Url)&api-version=2. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc 
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Run Code Online (Sandbox Code Playgroud)

其他一切似乎都正常,我得到了构建定义,我可以更新变量,但是当我尝试使用JSON将PUT放回原位Invoke-RestMethod时失败。

以下是在Powershell内联脚本中运行的已使用代码:

# This script is intended to be used for PowerShell script tasks in VSTS in "inline mode" 

$valueName = 'ProjectBuildNumber'
$token = 'MYTOKENCODE'

$uriRoot = $env:SYSTEM_TEAMFOUNDATIONSERVERURI …
Run Code Online (Sandbox Code Playgroud)

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

6
推荐指数
1
解决办法
1183
查看次数


Azure Devops Rest API - 获取当前在代理池中排队的构建

有没有办法只从 Azure DevOps Rest API 获取在特定池中等待可用代理的构建?

我目前有这个端点,它为我提供池中发生的所有作业请求:

https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolid}/jobrequests

我查看了 API 文档,但找不到有关代理池的任何内容。

azure azure-devops azure-devops-rest-api

6
推荐指数
1
解决办法
2418
查看次数

Azure DevOps 中服务器端 .gitattributes 是否有等效项?

我的团队维护一个 JSON 文件,其中包含 GUID 字典,以便我们的服务正确使用版本图像。两个开发人员可以对相同的条目进行不同的更改,因此当他们覆盖文件中的同一行时,无论谁稍后提交都会发生合并冲突。

我们使用 Azure DevOps,我想使用 .gitattributes 在完成拉取请求时始终有效地将“合并我们的”仅在此文件中。但是,Azure DevOps 似乎不尊重此服务器端,因为即使使用 .gitattributes 文件,尝试完成拉取请求仍然会失败。

有一个类似的用户语音请求,但那是不久前的事了。

是否有另一种方法可以实现类似的行为,以防止必须使用 Azure DevOps 进行通常不必要且耗时的单行合并冲突解决?

git azure-devops azure-devops-rest-api

6
推荐指数
1
解决办法
727
查看次数

从 TFS 克隆所有远程存储库

有没有办法master从 1 个帐户下上传的所有项目中克隆所有分支。

我需要master每周备份分支中的所有代码。有没有办法使用 git、Powershell 或任何其他方式来实现这一点?

请注意,我需要在 Windows 环境中执行此任务。

git tfs azure-devops-rest-api

6
推荐指数
1
解决办法
2218
查看次数

如何从 Azure DevOps 中的 YAML 管道获取阶段结果

到目前为止,我正在使用Azure DevOps REST Api从 Azure DevOps 中的版本获取数据以用于报告目的。显然,这将随着使用 CI/CD --> YAML 和多阶段管道(当前预览)的新方式而改变。在这种情况下,构建和发布策略已被弃用,所有内容都被定义为管道并细分为各个阶段(构建阶段、部署阶段 1、部署阶段 2,...)。我尝试通过构建列表方法
接收数据,但这些数据是有限的,并且我缺少一些重要信息,例如“阶段是否成功”。

有人已经有 YAML Pipelines 和 Azure DevOps REST Api 组合的经验吗?有没有办法获取完整数据(与经典发布策略一样)?还是目前正在开发中,我必须要有耐心?

提前致谢!

yaml azure-devops azure-devops-rest-api multistage-pipeline

6
推荐指数
2
解决办法
6975
查看次数

使用 OAuth 和 PowerShell 更新 Azure DevOps Wiki 页面

我试图通过使用它的 Rest APIAzure DevOps wiki 中创建一个新页面来自动在 Azure DevOps 发布管道中创建发行说明。

我遇到的问题是我使用 PowerShell 脚本任务发布到 Rest API,我想避免使用个人访问令牌 (PAT) 并改用 OAuth。PAT 到期,我不希望所有版本在 PAT 到期时突然失败。通过在构建代理的上下文中使用 OAuth 运行 PowerShell 脚本,我可以避免此过期问题。我在代理作业中选中了“允许脚本访问 OAuth 令牌”以获取 PowerShell 脚本任务所在的版本。

为简单起见,我正在运行以下内联PowerShell 脚本来测试使用 OAuth ( "Bearer $env:SYSTEM_ACCESSTOKEN")创建新的 wiki 页面:

$uri = "https://dev.azure.com/{organization}/{project}/_apis/wiki/wikis/{wikiIdentifier}/pages?api-version=5.0&path=/Release%20Notes/Customers%20API/Release-299%20[Build:%2020191010.1]";

try {
    $response = Invoke-RestMethod `
    -Method PUT $uri `
    -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"} `
    -ContentType "application/json" `
    -Body $json
} catch {
    Write-Host "Message: " $_.Exception.Message;
    Write-Host "StatusCode: " $_.Exception.Response.StatusCode.value__ …
Run Code Online (Sandbox Code Playgroud)

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

6
推荐指数
1
解决办法
1289
查看次数

带有 REST API 的 Azure Devops 203 非权威信息

在此处输入图片说明

为 Azure DevOps 调用 REST API 时出现错误203 Non-Authoritative Information。实际上,我想在 REST API 的帮助下触发发布流水线。

azure azure-api-apps azure-devops azure-devops-rest-api

6
推荐指数
2
解决办法
4559
查看次数

VSTS 中如何确定拉取请求的“相关”工作项?

我最近发现,在查看哪些工作项与不同部署关联时,可以使用链接到拉取请求的工作项。也就是说,我想确保相关的工作项目是准确的。我可以手动链接我的工作项,但在某些情况下,单个挤压合并提交中可能会出现 50 个不同的提交。有很多不同的提交需要手动输入。

我看到 VSTS(Azure Devops)尝试自动添加一些相关的工作项。问题是我不知道这些工作项现在是如何计算的。如下图所示,即使没有检测到代码更改,您也可以拥有关联的工作项。有人可以解释一下吗?根据 Fiddler 的说法,VSTS api 中调用的 API 是:

// POST https://foobar.visualstudio.com/16e07dde-f652-4a64-93f1-3edb3d70d5e1/_apis/git/repositories/c9bd207c-bc6e-4e6c-aba9-8fd6aeb53946/commitsBatch 

{"$top":101,"itemVersion":{"versionOptions":0,"versionType":0,"version":"master"},"compareVersion":{"versionOptions":0,"versionType":0,"version":"users/v-username/140357_TestBranchForFeatureDeployment_ButWithLinks"}}

Run Code Online (Sandbox Code Playgroud)

即使没有检测到代码更改,也会出现一堆相关的工作项。

pull-request azure-devops azure-pipelines azure-devops-rest-api

6
推荐指数
1
解决办法
4794
查看次数