标签: azure-devops-rest-api

如何在 VSTS 仪表板小部件中使用 REST API 从 TFS 获取构建定义?

我正在尝试使用仪表板小部件中来自 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) })

rest tfs authorization azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
1943
查看次数

如何使用 PAT 或 OAUT 连接 TFS Online?

不敢相信我被 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 中看到相同的方法。

希望有人能解决我的问题。

提前致谢。

tfs login azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
3941
查看次数

Microsoft Flow将Outlook附件添加到VSTS工作项

我正在尝试将Outlook附件上载到VSTS(使用“向VSTS 发送HTTP请求”操作)。我还有其他工作。包括将附件添加到票证中,但是“已上传”文件什么也没有。我已经尝试过表达式的每种组合来转换附件内容,但是没有运气。我确定我只是缺少一些中间步骤。

这是我用来在更新工作项之前上传图像的“创建附件”步骤。(该内容车身领域只是一个尝试。从链接Outlook附件文档,其类型为“字节”。) 在此处输入图片说明

这是工作项目,带有所说的附件,但是没有文件内容。 在此处输入图片说明

欢迎任何帮助或建议。

outlook azure-devops microsoft-flow azure-devops-rest-api

5
推荐指数
1
解决办法
1080
查看次数

如何最好地从 VSTS 下载源文件?

我需要从 VSTS 帐户(服务器工作区)定期将特定项目的完整最新代码集下载到文件服务器上的文件夹以进行只读存档。

目前,我登录到 Web 门户并单击所选项目的下载为 ZIP并将其保存到文件服务器。

但我想要一种更自动化的方式,最好是我可以安排从文件服务器本身运行的方式,它不会安装 Visual Studio 或缓存在线帐户的凭据。

以下任何一种解决方案都可以:

  • 将最新代码下载为 zip 文件的永久 URL
  • 用于获取所有最新文件的 REST URL
  • 一个命令行工具,用于连接到 VSTS 帐户并将特定项目的所有最新文件下载到指定的本地文件夹,而不是默认的本地文件夹

很高兴有:

  • 可选择下载为 ZIP 或递归文件文件夹
  • 将文件修改日期设置为签入时间
  • 从下载的文件中删除源代码控制绑定信息
  • 提供用户凭据作为命令行的一部分,不要假设使用机器上的默认缓存凭据

tfs azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
4254
查看次数

使用 REST API 访问 Azure Dev Ops/VSTS 工件中的文件内容

我希望获取我作为工件推送到 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

5
推荐指数
1
解决办法
1062
查看次数

如何在 azure 发布管道中跨代理作业使用输出变量

在我的 azure 发布管道中,我有 2 个代理作业,一个用于使用 power-shell 的 sql 部署,另一个用于使用 power-shell 的 kubernetes。如何在第一个代理作业中设置输出变量并使用 power-shell 在第二个代理作业中使用该变量。

在此处输入图片说明

azure devops azure-devops azure-devops-extensions azure-devops-rest-api

5
推荐指数
2
解决办法
1万
查看次数

如何使用 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 的响应计数,正如预期但不期望的那样。非常感谢任何提示和技巧!

git postman azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
3220
查看次数

Azure DevOps REST API swagger url

Azure DevOps REST API 是否有 swagger url?

我希望能够在 C# 或 Powershell 中围绕它生成包装器代码,但找不到它。

swagger azure-devops azure-devops-rest-api

5
推荐指数
2
解决办法
3315
查看次数

如何以编程方式将 Azure AD 用户添加到 Azure DevOps 组织

我的组织已连接到 Azure AD。

我想使用 C# 或通过 Microsoft REST/Graph API 将 AD 用户添加到我的 Azure DevOps 组织。

将用户添加到组织

azure azure-active-directory azure-ad-graph-api azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
440
查看次数

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)

git rest powershell azure-devops azure-devops-rest-api

5
推荐指数
1
解决办法
730
查看次数