Как я могу получить имя ветви, которая объединяется с целевой веткой, которая запускает конвейер? - PullRequest
2 голосов
/ 26 марта 2020

Филиал "1850" был объединен с филиалом "Дев". И конвейер запускается при слиянии с веткой "dev". Если релиз успешен или неуспешен, существует этап, на котором отправляется электронное письмо, чтобы сообщить пользователю о состоянии выпуска. И по электронной почте я не могу сказать, какой это. Так, как я могу получить название ветви переменной "1850".

Обновление ответа Лео Лю-MSFT:

Спасибо за помощь. поэтому я делаю изменения, и эти ошибки происходят. объясните пожалуйста почему так. enter image description here

enter image description here

1 Ответ

1 голос
/ 26 марта 2020

Как я могу получить имя ветви, которая объединяется с целевой ветвью, которая запускает конвейер?

Вы можете использовать предопределенные переменные System.PullRequest.SourceBranch, которые вернуть ветвь, которая просматривается в запросе на извлечение.

enter image description here

В качестве теста я добавляю встроенную задачу powershell для вывода этой переменной:

Write-Host "The merged target branch is:-" $(System.PullRequest.SourceBranch)

Тогда мы могли бы получить значение refs/heads/1805.

Мы могли бы использовать задачу командной строки для анализа этого пути, чтобы получить имя ветви:

set BranchName=$(System.PullRequest.SourceBranch)
for %%a in (%BranchName%) do echo %%~nxa

enter image description here

Обновление:

Пока я тестирую, он отлично работает на моей стороне со следующим кодом:

Write-Host "##vso[task.setvariable variable=SourceBranchName;]$(System.PullRequest.SourceBranch)"

Удалите isOutput=true.

Затем я могу получить переменную SourceBranchName с помощью задачи командной строки:

echo  $(SourceBranchName)

enter image description here

Судя по вашей ошибке, ошибка возникает из-за вашей задачи powershell или агента. Поэтому попробуйте использовать размещенный агент с задачей Inline powershell , чтобы проверить, сохраняется ли эта проблема.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...