gpt4 book ai didi

c# - 如何使用 TFS 客户端库获取 PullRequest 的 Web URL?

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:35 26 4
gpt4 key购买 nike

有没有办法获取 web URL(TeamWebAccess 像 https://tfshost/tfs/Collection/Project/_git/Repository/pullrequest/12345 用于 PR#12345,而不是 API url)对于使用 TFS 的 PullRequest client libraries

var prId = 12345;
var tpc = new TfsTeamProjectCollection(new Uri(""));
var git = tpc.GetClient<GitHttpClient>();
// GitHttpClient has no special methods to do it
// and GitPullRequest obtained through GitHttpClient.GetPullRequestByIdAsync contains only the API link
var prWebUrl = git.?????(prId);

也许有类似于 TswaClientHyperlinkService 的东西我错过了什么?

或者我是否必须求助于从 API 链接/GitPullRequest 属性中推断 Web URL?

最佳答案

无法直接从客户端库获取RemoteUrl,因为值为null。检查下面的屏幕截图:

enter image description here

但您可以获得存储库的 RemoteUrl (https://tfshost/tfs/Collection/Project/_git/Repository),因此您可以使用以下内容获取 PR RemoteUrl 的代码:

using Microsoft.TeamFoundation.SourceControl.WebApi;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.WebApi;
using System;

namespace GetPullRequest
{
class Program
{
static void Main(string[] args)
{

String collectionUri = "https://xxx.visualstudio.com";
VssBasicCredential creds = new VssBasicCredential("", "6ztnrtjdd3i42juchu4xxxxxxxxxaslnseo277tgiuiq");
VssConnection connection = new VssConnection(new Uri(collectionUri), creds);
var git = connection.GetClient<GitHttpClient>();
var prId = 12345;
var pr = git.GetPullRequestByIdAsync(prId).Result;
var RepoUrl = pr.Repository.RemoteUrl;
var prUrl = RepoUrl + "/pullrequest/" + prId;
Console.WriteLine(prUrl);

}
}
}

关于c# - 如何使用 TFS 客户端库获取 PullRequest 的 Web URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51518579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com