В GitHub каждый раз, когда я объединяю запрос на извлечение с главной веткой, запускается сборка TravisCI, а затем после успешной сборки приложение развертывается в Heroku.
После развертывания я хочу проверить разность одного файла между развернутой веткой PR и основной веткой. Исходя из различий в файлах, я хочу отправить настроенный webhook во внешний сервис.
Я пробовал несколько подходов, но у каждого из них, похоже, есть некоторые проблемы:
- Я написал скрипт, который проверяет файл diff между последними коммитами, но проблема в том, что у меня нет доступа к git на консоли Heroku, и я не буду знать, какие коммиты были включены в PR
- Следующая идея состояла в том, чтобы вызвать GitHub API для проверки PR-различий с мастером, но с точки зрения Heroku у меня, вероятно, нет доступа к PR-идентификатору
- Наконец, у меня появилась идея перенести ответственность в TravisCI и проверить ее после сборки. Я хотел проверить статус PR, если он был объединен, а затем запустить скрипт. Но я также не смог проверить, какой PR вызвал сборку
Интересно, есть ли у какого-нибудь из моих подходов шанс на успех? На данный момент у меня совершенно нет идей. Будем весьма признательны за любые советы или рекомендации.