如何使用.NET客户端库为Azure DevOps项目概览设置默认仓库?
通过Azure DevOps .NET客户端库为项目概览添加README文件
使用.NET客户端库实现
安装所需NuGet包:
Install-Package Microsoft.VisualStudio.Services.Client Install-Package Microsoft.TeamFoundationServer.Client编写代码完成设置:
using Microsoft.VisualStudio.Services.Common; using Microsoft.VisualStudio.Services.WebApi; using System.Collections.Generic; using System.Threading.Tasks; public async Task SetProjectOverviewReadmeAsync(string organizationUrl, string projectId, string repoId, string personalAccessToken) { // 初始化Azure DevOps连接 var credentials = new VssBasicCredential(string.Empty, personalAccessToken); using var connection = new VssConnection(new Uri(organizationUrl), credentials); // 获取设置客户端 var settingsClient = connection.GetClient<Microsoft.VisualStudio.Services.Settings.WebApi.SettingsHttpClient>(); // 定义要更新的项目概览设置 var settingsEntries = new Dictionary<string, object> { { "VersionControl/ProjectOverview/DefaultRepository", repoId } }; // 更新项目设置 await settingsClient.UpdateEntriesAsync( settingsEntries, scopeType: "project", scopeValue: projectId, namespace: "host" ); }
已掌握的其他实现方法
使用Web应用操作
- 点击“编辑项目信息”按钮。

- 选择要关联的README文件所在的仓库。

- 点击保存按钮完成设置。
使用HTTP API调用
var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Patch, "https://devops.{{Server}}.com/{{Organization}}/_apis/Settings/project/{{ProjectGUID}}/Entries/host?api-version=6.0-preview"); request.Headers.Add("Authorization", "Basic {{PersonalAccessKey}}"); var content = new StringContent("{\"VersionControl/ProjectOverview/DefaultRepository\":\"{{RepoGUID}}\"}", null, "application/json"); request.Content = content; var response = await client.SendAsync(request); response.EnsureSuccessStatusCode(); Console.WriteLine(await response.Content.ReadAsStringAsync());
内容的提问来源于stack exchange,提问作者JasonC
相关产品推荐
相关产品推荐

