C#でazure devops rest apiを使う。
環境
- Visual Studio 2022 Community
- .NET Framework 4.8 Console App
nugetパッケージ
Microsoft.TeamFoundationServer.Client [19.255.1]
事前準備
azure devops側でPersonal Access Tokenを取得しておく
コード
using Microsoft.TeamFoundation.SourceControl.WebApi; using Microsoft.TeamFoundation.WorkItemTracking.WebApi; using Microsoft.VisualStudio.Services.Common; using Microsoft.VisualStudio.Services.WebApi; using System; namespace AzureAccess { internal class Program { static void Main(string[] args) { var uri = new Uri(Define.URL);//https://dev.azure.com/{organization}/ var credentials = new VssBasicCredential("", Define.PAT); // 接続 var connection = new VssConnection(uri, credentials); // サービスごとのクライアント取得 using (var gitClient = connection.GetClient<GitHttpClient>()) { var repos = gitClient.GetRepositoriesAsync(Define.ProjectName).Result; repos.ForEach(repo => { Console.WriteLine(repo.Name); }); } using (var witc = connection.GetClient<WorkItemTrackingHttpClient>()) { var workItemId = 1; var workItem = witc.GetWorkItemAsync(Define.ProjectName, workItemId).Result; workItem.Fields.ForEach(pair => { Console.WriteLine($"{pair.Key}\t{pair.Value}"); }); } Console.Read(); } } }
参考
基本的に使用するクライアントは以下のリファレンスと対照性があるので、やりたいことをリファレンスで調べてからコードに落としていくと楽。