我正在尝试使用仪表板小部件中来自 Microsoft VSTS SDK 的 REST API 在 TFS 2015 Update 3 服务器上获取所有现有构建定义:
VSS.init({
explicitNotifyLoaded: true,
usePlatformStyles: true
});
VSS.require("TFS/Dashboards/WidgetHelpers", "TFS/Build/RestClient", "VSS/Authentication/Services"],
function (WidgetHelpers, TFS_Build_Api) {
VSS.register("BuildStatusMonitor.Configuration", function () {
return {
load: function (widgetSettings, widgetConfigurationContext) {
var buildClient = TFS_Build_Api.getClient();
buildClient.getDefinitions().then(function(definition) {
//
}, function(reason) {
// 401
});
},
}
});
VSS.notifyLoadSucceeded();
});
Run Code Online (Sandbox Code Playgroud)
不幸的是我总是得到一个
TFS.WebApi.Exception: TF400813: 资源不可用于匿名访问。需要客户端验证。
我究竟做错了什么?
当我在 chromes 开发者控制台上发送 get 请求时,我得到了正确的响应:=/
$.get("http://*****:8080/tfs/TestReporting/DashboardWidgets/_apis/build/definitions?api-version=2.2").success(function(res) { console.log(res) })
不敢相信我被 LOGIN 困住了 :( 讨厌这种情况。
有人能告诉我如何使用 PAT 密码或在最好的情况下使用 OAuth 令牌连接 TF.EXE 吗?
我可能会补充说,我已经有一个 Pat 令牌和一个 OAuth 令牌,尝试获取它们时没有问题,但是每次我尝试这个示例时:
TF.exe workspaces /collection:xxxx.visualstudio.com/xxxx /loginType:OAuth /login:.,MyPatTokenOrMyOauthToken /noprompt
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
TF30063: 您无权访问 xxxx.visualstudio.com\xxxx。
所以,我知道命令没问题,因为如果我不指定登录名,模态窗口会提示输入凭据,我已经使用该方法进行了测试并且工作正常。
最后,我可能会更改所有内容以更改 TFS api 的 tf.exe,但我无法在 api 中找到相同的方法(请参阅参考:https : //docs.microsoft.com/es-es/rest/ api/vsts/?view=vsts )
如果 API 具有与 TF.exe 相同的方法,那将很有用,但到目前为止我没有在 API 中看到相同的方法。
希望有人能解决我的问题。
提前致谢。
我需要从 VSTS 帐户(服务器工作区)定期将特定项目的完整最新代码集下载到文件服务器上的文件夹以进行只读存档。
目前,我登录到 Web 门户并单击所选项目的下载为 ZIP并将其保存到文件服务器。
但我想要一种更自动化的方式,最好是我可以安排从文件服务器本身运行的方式,它不会安装 Visual Studio 或缓存在线帐户的凭据。
以下任何一种解决方案都可以:
很高兴有:
我希望获取我作为工件推送到 Azure DevOps 的文件的内容
通过使用此 API,我能够获得带有工件 zip 网址的 json 响应
https://dev.azure.com/uifabric/cd9e4e13-b8db-429a-9c21-499bf1c98639/_apis/build/builds/8838/artifacts?artifactName=drop&api-version=5.0
Run Code Online (Sandbox Code Playgroud)
但是,我真正想要的是bundlesizes.json在此 zip 中调用的文件的内容。
我确实在这里遇到了 Get File API ,它提到了一个 API,如下所示
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName={artifactName}&fileId={fileId}&fileName={fileName}&api-version=5.0
Run Code Online (Sandbox Code Playgroud)
我尝试按如下方式替换它
https://dev.azure.com/uifabric/fabricpublic/_apis/build/builds/8838/artifacts?artifactName=drop&fileId=bundlesizes.json&fileName=bundlesizes.json&api-version=5.0
Run Code Online (Sandbox Code Playgroud)
我认为我缺少的是fileId字段,我不知道需要输入什么。文档说fileId是文件的主键。但是,我不知道在哪里可以找到它。
azure-devops azure-pipelines-build-task azure-pipelines-release-pipeline azure-artifacts azure-devops-rest-api
在我的 azure 发布管道中,我有 2 个代理作业,一个用于使用 power-shell 的 sql 部署,另一个用于使用 power-shell 的 kubernetes。如何在第一个代理作业中设置输出变量并使用 power-shell 在第二个代理作业中使用该变量。
azure devops azure-devops azure-devops-extensions 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 的响应计数,正如预期但不期望的那样。非常感谢任何提示和技巧!
Azure DevOps REST API 是否有 swagger url?
我希望能够在 C# 或 Powershell 中围绕它生成包装器代码,但找不到它。
azure azure-active-directory azure-ad-graph-api azure-devops azure-devops-rest-api
有没有办法让只给定工作项 ID 的 Git 提交链接到工作项?
我正在使用 PowerShell 和此URI 来获取工作项,但在返回的对象上没有看到任何链接提交。我也没有看到任何关于如何获取这些链接的文档。
$Results = Invoke-RestMethod -Uri "http://azuredevops/azuredevops/Collection/Project/_apis/wit/workitems?api-version=5.1&ids=1" -Method "GET" -UseDefaultCredentials | Select-Object -ExpandProperty Value
$Results.fields
Run Code Online (Sandbox Code Playgroud) azure-devops ×10
tfs ×3
azure ×2
git ×2
rest ×2
azure-pipelines-release-pipeline ×1
devops ×1
login ×1
outlook ×1
postman ×1
powershell ×1
swagger ×1