Как создать статус запроса VSTS из успешного выпуска?
У нас есть приложение типа хранилища данных, поэтому простой проверки недостаточно для проверки запроса на удаление. У нас есть конвейер выпуска, который автоматически запускает выпуск в дымовую среду. Если это развертывание прошло успешно, запрос на получение может быть завершен.
Похоже, что API-интерфейс статуса запроса на вытягивание идеально подходит для этого. Однако я не могу понять, как получить pullRequestId из релиза.
В определении сборки есть переменная $(System.PullRequest.PullRequestId), но не в определении выпуска.
В настоящее время я тестирую хакерское решение - на этапе сборки, чтобы записать новый файл в каталог артефактов с $(System.PullRequest.PullRequestId) в нем. Это тогда доступно для выпуска. Надеюсь, есть более простой способ.
1 ответ
Похоже, что сборка инициируется PR-проверкой, а выпуск - артефактами сборки. Затем вы можете получить идентификатор запроса извлечения из предопределенной переменной$(Release.Artifacts.vs2017.SourceBranch)
,
Поскольку сборка запускается для проверки PR, исходный формат ветки будет таким:
refs/pull/{PullRequestId}/merge
Во время выпуска вы можете получить ветку $(Release.Artifacts.vs2017.SourceBranch)
, Затем разбить строку по /
и вы получите идентификатор запроса на получение. Ниже приведен пример (переменная $prid
для идентификатора запроса извлечения):
$t="$(Release.Artifacts.vs2017.SourceBranch)"
$pr=$t -split '/'
$prid=$pr[2]
echo "the pull request id is $prid"