GitHub: Корпоративный хук после получения

Кто-нибудь знает, есть ли в GitHub:Enterprise механизм для настройки общего хука после получения, который будет применяться ко всем репозиториям (включая новые, как только они будут созданы?)

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


person jerryjvl    schedule 30.08.2012    source источник
comment
Что ж, простое решение — использовать скрипт для создания репозиториев на GitHub. Я понимаю, что это не ответ на ваш вопрос, но это вариант.   -  person John Gietzen    schedule 30.08.2012
comment
@JohnGietzen, я пока назову этот план Б...   -  person jerryjvl    schedule 30.08.2012
comment
К сожалению, это была одна из тех вещей, которые были регрессом при переходе от GitHub::FI к Enterprise GitHub. Теперь, когда они заблокировали виртуальную машину, не существует поддерживаемого способа применения хука ко всем репозиториям. Единственный другой вариант — настроить хуки после фиксации для всего, @JohnGietzen прав, использование скрипта и API — это путь. К сожалению, для вас также требуется больше работы, чтобы установить его на место, и на самом деле это не решает проблему. :-(   -  person John Szakmeister    schedule 03.10.2012
comment
Я не думаю, что для этого есть что-то встроенное, но я слышал, что команда GitHub:Enterprise очень восприимчива к запросам функций (если у них есть время).   -  person Moshe Katz    schedule 12.03.2013
comment
Возможный дубликат Как я могу добавить пользовательский git-хук в репозиторий GitHub Enterprise?   -  person feoh    schedule 07.01.2016


Ответы (2)


Я знаю, что это действительно старо, но GitHub Enterprise 2.6 только что выпустил перехватчики предварительного получения. Дополнительную информацию можно получить здесь: https://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/.

Это должно ответить на первоначально опубликованный вопрос, поскольку это то, что настраивается на уровне экземпляра (таким образом, это только на GitHub Enterprise) и будет работать для всех репозиториев.

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

Что касается этой части, еще одна вещь, на которую вы могли бы обратить внимание, — это пересылка журналов на GitHub. Вы можете прочитать о пересылке журналов здесь: https://help.github.com/enterprise/admin/articles/log-forwarding. Начиная с версии 2.6, вы также можете управлять несколькими пунктами назначения для пересылки журналов.

person brntbeer    schedule 27.04.2016

GithubCLI — это простой способ взаимодействия с GitHub Enterprise, позволяющий добавлять перехватчики post-receive из командной строки. Связав это с списком репозиториев, вы можете получить задание cron, которое гарантирует, что все репозитории определенный хук после получения.

Вы также можете использовать REST API напрямую или одну из множества библиотек привязки, таких как github_api. Для предприятия это довольно просто. Конечная точка API — http(s)://your-company/api/v3.

Это не идеальное решение, но с API довольно легко работать. Надеюсь, это поможет!

person Arthur Maltson    schedule 30.04.2013
comment
Боюсь, это неправильно. GithubCLI позволит вам взаимодействовать с Github Enterprise Webhook API, но это не то же самое, что виды перехватчиков репозитория, которые вы можете установить, когда у вас есть доступ файловой системы к репозиторию. - person feoh; 07.01.2016
comment
github enterprise post-hook называется веб-хуком, он не имеет никаких серверных хуков, кроме хука предварительного получения - person karthikeayan; 02.07.2018