标签: azure-devops-rest-api

使用VSTS Api获取提交列表时如何返回完整注释?

我有一个脚本使用VSTS api生成两个不同版本之间的提交日志,但是来自VSTS api的响应将注释返回为截断.对于我的目的,这是日志中最重要的部分,因此希望从api中完整地收到评论.

回复如下:

truncatedComments

我显然可以遍历每个提交ID并通过为每个ID调用api来获取完整的注释,但是由于这个脚本将成为我们发布过程的一部分,我希望它尽可能快,所有这些额外的调用将会为脚本添加不必要的时间.

从我所看到的,在获取提交列表时无法获得完整的评论,但我希望有人可以帮我这个?

谢谢

azure-pipelines-release-pipeline azure-devops-rest-api

7
推荐指数
1
解决办法
360
查看次数

DevOps:新的DevOps(TFS)中的非交互式登录无法正常获取错误'TF30063:您无权访问

我正在尝试使用c#连接到以前称为TFS的Azure DevOps.我想连接到它而没有azure DevOps的登录屏幕.我目前正在尝试以下代码,但有些代码无法正常工作

        NetworkCredential netCred = new NetworkCredential("test@hotmail.com", "test");
        Uri tfsuri = new Uri("https://dev.azure.com/test10");
        VssBasicCredential bsCred = new VssBasicCredential(netCred);
        VssCredentials vssCred = new VssClientCredentials(bsCred);

        TfsTeamProjectCollection collection = new TfsTeamProjectCollection(tfsuri, vssCred);

        collection.Authenticate();

        var witClient = collection.GetClient<ProjectHttpClient>();
        var listOfProjects = witClient.GetProjects().Result;
Run Code Online (Sandbox Code Playgroud)

我正在使用的图书馆

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Core.WebApi;
using Microsoft.VisualStudio.Services.Client;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.Operations;
using Microsoft.VisualStudio.Services.WebApi;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.TeamFoundation.WorkItemTracking.WebApi;
Run Code Online (Sandbox Code Playgroud)

代码会提示登录屏幕,如果我输入密码,则auth仍然无效.我不希望出现登录屏幕,只想用用户名和密码连接.

使用备用凭据,此方法正在运行,但这不是我的要求,我不能使用备用凭据.

我试过跟踪官方网站上的样本,但没有解决方案适用于新的DevOps.

任何解决方案如何在没有登录屏幕的情况下在新的DevOps中使用usernanme/password进行身份验证

devops azure-devops azure-devops-rest-api

7
推荐指数
1
解决办法
974
查看次数

如何使用 Azure DevOps Rest API 获取工作项目的附件详细信息

我正在尝试获取我的工作项目的附件列表以及我需要的附件数量、附件名称。附加到我的工作项目。我尝试阅读 Azure DevOps 的文档,我可以看到以下内容

https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/attachments?view=azure-devops-rest-5.0

它具有可用的获取、创建和列出端点。但要获取它,需要提供附件 ID,但该 ID 不可用,因为没有端点返回附件详细信息。

您能否指导我使用哪个 API 端点来获取工作组的附件详细信息。

azure-devops azure-devops-rest-api

7
推荐指数
1
解决办法
6157
查看次数

如何使用 Rest API 将标签添加到 DevOps 上的产品待办事项列表项?

我正在使用 DevOps API 将待办事项产品项目发布到我们的 DevOps。

"path": "/fields/System.Title"我知道标题 ( )、描述 ( path": "/fields/System.Description") 和评论 ( )的参考名称"path": "/fields/System.History"

但我在文档中找不到有关标签的任何内容。我尝试"path": "/fields/System.Tags""/fields/Microsoft.VSTS.Common.Tags",但没有成功。

有谁知道正确的路径吗?

azure-devops azure-devops-rest-api

7
推荐指数
1
解决办法
3873
查看次数

有没有办法通过 Azure Devops API 获取提交的原始差异?

作为我们应用程序的一部分,我们正在构建与 Azure DevOps 的 REST API 集成的功能。我们感兴趣的一个关键组件是能够看到特定提交的实际差异,以便我们可以查看和分析行内容。我们已经为 GitHub、GitLab 和 Bitbucket 创建了这种集成,每次都很简单:每个都有一个相当简单的差异端点,它接受特定的提交 ID 并对其进行比较(有时与特定的父提交)。

然而,我在 Azure DevOps 中没有找到相同的功能:diffs 端点一些与此相关的数据,但它实际上只是对哪些文件已更改以及这些更改的高级性质的概述,以及代表每个状态(之前和之后)的文件的特定 blob 的 ID。

理论上可以使用这些 blob 来手动构建我想要的内容,实际上我已经能够查询之前之后的 blob 以获取每个文件的差异。但这是每个文件两个单独的端点查询——进行 20 个文件提交,突然间我们需要 40 个 API 调用才能构建合理的差异。不幸的是,这并不真正符合我们的性能需求。

是否有单独的 API 端点或技术可以让我们获取原始差异?它不需要是直接的原始 diff ,只要能让我们通过最少的 API 调用(最好只有一个)来查看每一git diff(而不是每个文件)的前后状态即可。我在 StackOverflow 上的文档和此处进行了大量搜索,但没有找到任何可以实现此目的的内容。

azure-devops azure-devops-rest-api

7
推荐指数
1
解决办法
2868
查看次数

如何在 Azure Devops API 中获取 userId 字段

我必须使用此 API:PATCH https://vsaex.dev.azure.com/{organization}/_apis/userentitlements/{userId}向组织中的所有用户授予对某些项目的读取权限。我能够成功调用此 API,但我不知道如何为用户获取正确的 GUID。(为了为用户获取正确的 Guid,我使用 Fiddler 来监视请求)。

当我使用此 API 时,(GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=6.0-preview.1)我获得了组织的所有用户,但在列表中没有 userId,我只有 originId,它是来自 AAD 的 guid,我无法使用该信息更新用户。

我也尝试使用描述符字段,但没有成功。有人知道如何获取这个特定的 userId 吗?

我通过此 API 获得的用户列表示例:

{
    "count": 133,
    "value": [{
        "subjectKind": "user",
        "metaType": "member",
        "directoryAlias": "COD0001",
        "domain": "10a83eaa-05c5-4b22-a201-63cddba4fe8c",
        "principalName": "bidon.person@example.com",
        "mailAddress": "bidon.person@example.com",
        "origin": "aad",
        "originId": "7c3408d6-62f4-43ff-bdbe-5be97000ba30",
        "displayName": "Personne bidon",
        "_links": {
            "self": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/Users/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "memberships": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/Memberships/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "membershipState": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/MembershipStates/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "storageKey": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/StorageKeys/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "avatar": {
                "href": "https://dev.azure.com/BIDON/_apis/GraphProfile/MemberAvatars/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            }
        },
        "url": "https://vssps.dev.azure.com/BIDON/_apis/Graph/Users/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx",
        "descriptor": …
Run Code Online (Sandbox Code Playgroud)

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

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

Azure Devops 使用存储库名称获取repositoryId

我正在编写一个 BASH 脚本,其中创建一个天蓝色存储库,然后推送代码。执行此步骤后,它将继续并通过azure-pipeline.yamlAzure 存储库中存在的文件创建一个 Azure 管道。

在此步骤中,我们需要传递存储库 ID 才能创建管道,但这里的问题是我无法将其保留为用户输入,因为它将在脚本本身内创建,现在我对此感到震惊。

有什么方法可以直接在脚本中从新创建的存储库中获取存储库 ID 吗?

https://dev.azure.com/{{organization}}/{{project}}/_apis/pipelines?api-version=6.0-preview.1
Run Code Online (Sandbox Code Playgroud)
{
    "folder": "Folder-Name",
    "name": "Pipeline-Name",
    "configuration": {
        "type": "yaml",
        "path": "azure-pipelines.yml",
        "repository": {
            "id": "Repo-ID",
            "name": "Repo-Name",
            "type": "azureReposGit"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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
查看次数

Azure-devops Rest api - 分页和速率限制

我正在尝试提取 Azure-Devops 实体数据(团队、项目、存储库、成员等)并在本地处理该数据,我找不到任何有关速率限制和分页的文档,有人有这方面的经验吗?

有一些关于成员 api 的分页文档:
https://learn.microsoft.com/en-us/rest/api/azure/devops/memberentitlementmanagement/members/get ?view=azure-devops-rest-6.0

但这是唯一的一个,我找不到任何 git 实体的任何文档,
例如:存储库。
https://learn.microsoft.com/en-us/rest/api/azure/devops/git/repositories/list?view=azure-devops-rest-6.0

如果有人能给我指出正确的文档,或者阐明这些主题,那就太好了。

谢谢。

azure-devops-rest-api

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

如何在 Azure DevOps 中使用 REST API 将工作项链接到拉取请求?

在发布管道中,使用 REST API 创建新的 Pull 请求。

如何使用 REST API 将特定(已存在)工作项链接到拉取请求?

在当前版本 (DevOps 2019) 中,不支持使用Pull Request API链接工作项。(另请参阅相关社区问题。)

azure-devops-rest-api

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