VSTS: встроенная переменная для названия организации? - PullRequest
0 голосов
/ 24 сентября 2018

Во многих вызовах, описанных в документации по API REST API Azure DevOps, мне нужно указать название организации, например:

https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?api-version=5.0-preview.8

Проект, из которого я могу получитьSystem.TeamProject.Я бы ожидал что-то похожее для названия организации, что-то вроде:

System.TeamFoundationCollectionName

Это, по-видимому, недоступно.Я даже распечатал все свои переменные окружения на агенте и не вижу ничего, что точно соответствует потребностям.Конечно, я могу разобрать его по одному из других значений, но это кажется хрупким, так как MS, похоже, хочет изменить формат URL.

Я также не могу жестко закодировать название организации, потому что это определение выпуска будет работать в нескольких организациях, и нам не нужно вручную обновлять его для каждой.Как другие решают эту проблему?

Ответы [ 3 ]

0 голосов
/ 24 сентября 2018

Похоже, что в настоящее время такой переменной для organization нет, также переменные возвращают старый URL (xxx.visualstudio.com), а не новый URL (dev.azure.com/xxx), поэтому, если вы используете System.TeamFoundationCollectionName,API должен работать без {organization}:

https://System.TeamFoundationCollectionName/{project}/_apis/release/releases?api-version=5.0-preview.8.

0 голосов
/ 26 сентября 2018

В Powershell сделайте следующее:

# Where SYSTEM_TEAMFOUNDATIONCOLLECTIONURI=https://some_org_name.visualstudio.com/    
([System.Uri]$Env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI).Host.split('.')[-3] # returns 'some_org_name'

Теперь просто присвойте это переменной и используйте ее где угодно.«SYSTEM_TEAMPROJECT» - это имя проекта, поэтому нет необходимости выполнять там разбор.Это уже доступно.

0 голосов
/ 24 сентября 2018

Попробуйте использовать System.TeamFoundationServerUri и System.TeamFoundationCollectionUri для создания ваших запросов API.В них включена организация.

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/variables?view=vsts&tabs=batch

изменить: SYSTEM_TEAMFOUNDATIONSERVERURI/BUILD_PROJECTNAME/_apis/release/releases?api-version=5.0-preview.8

...