如何使用 REST API 从 VSTS 获取工作项列表?
根据文档,该ids参数是可选的,但是当我省略它时,我会收到404错误消息。如果我添加ids参数,我可以获得项目。
失败的请求:
GET https://{account}.visualstudio.com/DefaultCollection/_apis/wit/workitems?api-version=1.0
成功请求:
GET https://{account}.visualstudio.com/DefaultCollection/_apis/wit/workitems?ids=252&api-version=1.0
两者的身份验证相同。
要解决的完整问题是:获取特定 VSTS 项目中的所有功能
我已经使用以下命令安装了vsts-npm-auth包:
npm install -g vsts-npm-auth --registry https://registry.npmjs.com
Run Code Online (Sandbox Code Playgroud)
我运行了vsts-npm-auth -config .npmrc命令来设置凭证,但我面临以下错误:
现在我需要更新凭证,但它总是获取现有凭证。有没有办法发送PUT请求并更新凭证?
我想访问有关链接到特定工作项的所有拉取请求的信息。
工作项结果上的关系(例如https://.../_apis/wit/workItems/12345?$ expand = all)以以下形式显示拉取请求的链接:
vstfs:///Git/PullRequestId/...
如何使用VSTS REST API将关系URI转换为拉取请求的规范URL?(例如https://.../_apis/git/repositories/.../pullRequests/1234)
我已经从 azure devops 创建了一个 PAT。现在我已经创建了一个 React 应用程序来处理所有 api 逻辑。我现在有一个登录屏幕,用户需要输入 DEVOPS_TOKEN、ORGANISATION_NAME。我如何在登录时验证用户令牌。我找不到任何用于验证用户的 api。
任何的意见都将会有帮助。
我试图获取所有工作项(史诗、功能、问题、任务、测试用例、用户故事等),然后使用 Microsoft 的azure devops python api(又名 vsts)库对给定项目进行分类。
在 work_item_tracking 中,我无法找到任何函数来获取所有工作项或根据其类型获取所有工作项。
是否已经有一个函数可以获取我无法找到的所有工作项,或者我应该编写 WIQL 查询来获取所需的数据?
我正在尝试通过 Azure DevOps Rest API 创建服务端点,但无法设置“允许所有管道使用此服务连接”选项。我找不到有关 json 结构的文档来完成此操作。
创建连接的当前片段:
$baseUri = "https://dev.azure.com/org/proj/";
$createEndpointUri = "$($baseUri)_apis/serviceendpoint/endpoints?api-version=5.0-preview.2";
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("token:{0}" -f $devOpsPAT)))
$DevOpsHeaders = @{Authorization = ("Basic {0}" -f $base64AuthInfo)};
$AzureSubscriptionData = New-Object PSObject -Property @{
authorizationType = "AzureSubscription"
azureSubscriptionId = $SubscriptionId
azureSubscriptionName = $subscriptionName
clusterId = $clusterId
};
$Authorization = New-Object PSObject -Property @{
parameters = New-Object PSObject -Property @{
azureEnvironment = "AzureCloud"
azureTenantId = "$tenantID"
};
scheme = "Kubernetes"
};
$ServiceEndpointBody = New-Object PSObject -Property @{
authorization =$Authorization
data …Run Code Online (Sandbox Code Playgroud) 我正在寻找 Azure DevOps Rest API 来从现有分支创建新分支。
我正在尝试以编程方式创建新的构建管道。我正在为此操作寻找 Azure DevOps REST API。我没有得到使用 REST API 创建管道的正确示例。
请指教。
我正在尝试使用这个 Azure DevOps API 调用:
GET https://dev.azure.com/{organization}/_apis/projects/{projectId}?api-version=5.1
Run Code Online (Sandbox Code Playgroud)
记录在此处,以在我拥有项目 ID 时检索项目名称。请注意,管道正在尝试检索定义它的项目以外的项目的项目信息。这是在管道提供自己的项目 ID 时工作的代码:
$VstsBaseRestUrl = "$(System.TeamFoundationCollectionUri)"
$projectsUrl = "$VstsBaseRestUrl/_apis/projects/${{ parameters.project }}?api-version=5.1"
$rawResponse = Invoke-WebRequest -UseDefaultCredentials -Uri $projectsUrl -Method Get -ContentType "application/json" -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Run Code Online (Sandbox Code Playgroud)
响应返回为:
{"$id":"1","innerException":null,"message":"VS800075: The project with id 'vstfs:///Classification/TeamProject/xxxxx' does not exist, or you do not have permission to access it.","typeName":"Microsoft.TeamFoundation.Core.WebApi.ProjectDoesNotExistException, Microsoft.TeamFoundation.Core.WebApi","typeKey":"ProjectDoesNotExistException","errorCode":0,"eventId":3000}
Run Code Online (Sandbox Code Playgroud)
我使用的是正确的项目 ID,那么如何向管道授予权限以授权此调用?
注意:如果不需要,我宁愿不使用 PAT,即以某种方式将其授予构建帐户,以便 SYSTEM_ACCESSTOKEN 方法继续工作。