Я уже много часов искал, но не могу узнать, возможно ли это.
Извините, но насколько я знаю, это невозможно . Способ вызова Rest API аналогичен использованию Invoke-RestMethod для вызова rest api в Powershell. В обоих этих двух сценариях ios процесс будет пытаться получить PAT
для аутентификации в текущем сеансе / контексте и даже не будет пытаться искать кеш в Git Credential Manager.
Вы должны различать guish разницу между доступом к Azure службе Devops через Rest API и по коду:
Rest API :
POST https://dev.azure.com/{organization}/{project}/{team}/_apis/wit/wiql?api-version=5.1
Тело запроса:
{
"query": "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = 'Task' AND [State] <> 'Closed' AND [State] <> 'Removed' order by [Microsoft.VSTS.Common.Priority] asc, [System.CreatedDate] desc"
}
Соответствующий код в C#:
VssConnection connection = new VssConnection(new Uri(azureDevOpsOrganizationUrl), new VssClientCredentials());
//create http client and query for resutls
WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();
Wiql query = new Wiql() { Query = "SELECT [Id], [Title], [State] FROM workitems WHERE [Work Item Type] = 'Bug' AND [Assigned To] = @Me" };
WorkItemQueryResult queryResults = witClient.QueryByWiqlAsync(query).Result;
Возможно, вы можете рассмотреть возможность использования ограниченного PAT, ограничить его область действия только для кода:
Я знаю, что существует другой Механизм аутентификации :
Для Interactive JavaScript
проект: ADAL JS и Клиентские библиотеки, поддерживаемые Microsoft .
Вы можете попробовать, но я не уверен, работает ли он для вас, так как вы вы не используете настоящий код для доступа к службе Azure Devops ... Надеюсь, это поможет:)