#github #github-actions
Вопрос:
Я ищу способ запустить действие GitHub при объединении PR, действие GitHub должно захватить описание PR и сохранить данные где-нибудь для последующего использования.
Есть ли какой-либо способ сделать это с помощью действий на GitHub без API или webhook?
Ответ №1:
Существует два подхода: либо запустите рабочий процесс, когда PR закрыт с помощью merge=true, либо запустите рабочий процесс в целевой ветви, если вы знаете, что все запросы в целевую ветвь проходят через PR.
Запуск по PR Закрыт
Вы можете инициировать действие, когда PR закрыт, вот так:
on: pull_request: types: [closed]
Вышеупомянутое событие запускается независимо от того, был ли PR объединен или закрыт без объединения. Поэтому вам все равно нужно проверить этот флаг при выполнении задания:
my_job: build: if: github.event.pull_request.merged == 'true'
Запуск в целевой ветви
Если вы знаете , что все ваши PR объединены main
и пользователи не могут напрямую нажимать на main
них, вы также можете запустить свой рабочий процесс для push
событий на main, например:
on: push: branches: - main
Комментарии:
1. Эй, спасибо за отличный ответ. Только PR объединяется в ветку, и второй вопрос: есть ли способ сохранить описание PR для дальнейшего использования где-нибудь?
2. Вы можете сбросить весь контекст github (
github.event.pull_request
), и я почти уверен, что вы найдете там описание.3. Большое спасибо за помощь, это пригодится для настройки перехода на github ^^