Подтвердить что ты не робот

Собирайте запросы на загрузку в конкретную ветку с помощью TeamCity и Github

Я хочу, чтобы TeamCity собирал все запросы на тягу в конкретную ветвь назначения, например. develop.
Итак, я хочу построить следующие запросы:

develop...foo_branch
develop...bar_branch

и пропустите это:

master...foo_branch
master...bar_branch

В TeamCity я могу определить branch specification для создания всех запросов на pull:

+:refs/pull/*/head

или определить фильтр по ветки источника:

-:refs/heads/(spikes-*)

Но мне нужен фильтр с помощью target. Возможно ли это?

4b9b3361

Ответ 1

Я написал script, чтобы обойти эту проблему. Его можно запустить как один из первых шагов сборки в конфигурации сборки TC. script будет запрашивать детали запроса запроса от Github, анализировать ответ и указывать имена источника и целевого ветки в качестве параметров TeamCity и переменных среды. На следующих этапах сборки вы сможете прервать сборку или сделать все, что вам нужно, на основе этих переменных.

https://gist.github.com/dzzh/a6d8631e9617777fb5237bc9ec7b356b

Для работы script вам необходимо отправить PR-идентификатор в качестве аргумента командной строки. Мы используем рекомендованный refspec (refs/pulls/*/head) для запуска наших сборников, я извлекаю из него PR-идентификатор и вызываю script с ним.

Ответ 2

В настоящее время невозможно разграничить ветки запроса запроса на основе их целевой ветки в TeamCity. Пожалуйста, смотрите/проголосуйте за запрос https://youtrack.jetbrains.com/issue/TW-43759, который запланирован для предстоящей версии.