Как настроить хук в репозитории github при изменении файла? - PullRequest
0 голосов
/ 03 мая 2019

Моя команда использует GitHub для размещения удаленного репозитория git. Я хочу уведомить каждого члена команды об изменениях, которые были сделаны в конкретном файле. Как мне этого добиться?

Я посмотрел на перехватчики событий GitHub, но, похоже, они способны только отправлять HTTP-сообщения на определенный хост, когда происходят определенные события, например, https://developer.github.com/v3/activity/events/types/#pushevent. Таким образом, этот подход требует настройки службы обработки сообщений, которая слишком сложна.

Я также посмотрел на git hooks, и они кажутся многообещающими, но имеют определенные ограничения:

  • привязан к локальному репо, не фиксируется, т. Е. Нужно добавить их вручную на удаленный хост
  • написано в виде сценариев оболочки, т.е. может делать только то, что разрешено на этом хосте.

Тип уведомления может быть любым, но, вероятно, электронная почта самая простая.

Пример использования: уведомить каждого члена команды по электронной почте, что общий файл с кодами ошибок был обновлен в основной ветви общего проекта. Если невозможно получить список получателей из репозитория GitHub, он может быть жестко закодирован.

1 Ответ

1 голос
/ 04 мая 2019

Если вы используете github.com для своего хостинга, то нет способа установить хуки;Вы должны использовать webhooks.Если вы используете GitHub Enterprise Server (локальная версия), вы можете использовать pre-receive хуки, но они не идеально подходят для этой цели;вам действительно нужен хук post-receive, потому что есть причины, по которым толчок может быть отклонен, и вы не захотите уведомлять людей без необходимости.

Однако есть служба, smee.io, который позволяет вам направлять веб-хуки на конкретную конечную точку и запускать клиент на сервере, которым вы управляете, чтобы получать эти хуки.Вы можете указать на веб-зацепки GitHub, а затем иметь клиента, который отправляет электронные письма тому, кому вы захотите, когда получите ответ.Смежный клиент по умолчанию прокси-сервер на локальный порт, но вы, вероятно, можете изменить его для запуска данной команды.

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