Azure DevOps 2020 — GraphClient

Я не могу найти простой способ связаться с командой Microsoft AzureDevops. Я работаю над некоторыми инструментами, которые работают с Azure 2019, и прямо сейчас есть Azure 2020 RC. Microsoft не поддерживает SOAP API в 2019 году. А также в 2020 году для REST Client. У тебя в 2019 REST клиент не полностью предоставлен. GraphClient: https://docs.microsoft.com/en-us/rest/api/azure/devops/graph/?view=azure-devops-rest-6.0 там отсутствует. Это означает, что невозможно получить UserGraph и Users, кроме как через SOAP API по-старому.

Я думал, что, возможно, с Azure 2020 все изменится, но на самом деле нет.

Я использую Microsoft.VisualStudio.Services.Client в последней предварительной версии и последней стабильной версии. Это: 16.173.0-preview и 16.153.0. Вызов его вручную с помощью запросов REST тоже не поможет.

Мой тестовый код:

var uriToServer = new Uri(«https://localhost:81/DefaultCollection»); var vssBasicCredential = new VssCredentials(new WindowsCredential(new NetworkCredential(«test», «test»))); using var vssConnection = new VssConnection(uriToServer, vssBasicCredential); using var graphHttpClient = vssConnection.GetClient<GraphHttpClient>(); var listUsersAsync = await graphHttpClient.ListUsersAsync();

И мы получаем:

handled Exception: System.AggregateException: One or more errors occurred. (API resource location 005e26ec-6b77-4e4f-a986-b3827bf241f5 is not registered on https://localhost:81/DefaultCollection.) —> Microsoft.VisualStudio.Services.WebApi.VssResourceNotFoundException: API resource location 005e26ec-6b77-4e4f-a986-b3827bf241f5 is not registered on https://localhost:81/DefaultCollection. at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.CreateRequestMessageAsync(HttpMethod method, IEnumerable`1 additionalHeaders, Guid locationId, Object routeValues, ApiResourceVersion version, HttpContent content, IEnumerable`1 queryParameters, Object userState, CancellationToken cancellationToken, String mediaType) at Microsoft.VisualStudio.Services.Graph.Client.GraphHttpClient.ListUsersAsync(IEnumerable`1 subjectTypes, String continuationToken, Object userState, CancellationToken cancellationToken) — End of inner exception stack trace — at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification) at ConsoleApp1.Program.Main(String[] args) in C:UsersuserRiderProjectsConsoleApp1ConsoleApp1Program.cs:line 17

Та же проблема, что и с 2019 годом. Конечно, другие клиенты работают отлично.

Тот же код отлично работает для Azure DevOps Cloud — просто нужно изменить VssCredentials на VssBasicCredentials. Я знаю, что базовый уровень может работать на сервере, если SSL активен.

Источник: ledsshop.ru

Стиль жизни - Здоровье!