Запустите действие на GitHub при объединении PR

#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 ^^