2013-06-17 1 views
26

Я читал, что GitLab способен отправлять сообщения на другие серверы через «веб-крючки», но я не могу найти , где его можно было бы создать.Как создать веб-сайт GitLab?

Может кто-нибудь указать мне в правильном направлении?

ответ

51

Все ответы, которые я нашел в официальной документации и на переполнение стека для нахождения веб-крючки неверны. Страница admin area > hooks НЕ содержит web крючки. Он содержит системы крючки, которые срабатывают при создании/удалении проектов и пользователей и тому подобное. Это не то, что вы хотите.

Чтобы найти веб-крючки, перейдите на страницу specific project > settings > web hooks (on sidebar in GitLab 6.1.0). Они будут срабатывать после приема в рамках рассматриваемого проекта. Вы можете использовать такую ​​услугу, как RequestBin, чтобы увидеть, как выглядит полезная информация, и убедиться, что вы правильно их отлаживаете для целей отладки.

+5

Более точный ответ, чем мой. +1. Это должен быть принятый ответ. – VonC

+1

Спасибо за ответ Jamey. В самом приложении есть официальная документация на веб-серверах и серверах GitLab: http://demo.gitlab.com/help/web_hooks и http://demo.gitlab.com/help/system_hooks. Учетные данные входа для демонстрационного сервера перечислены на странице http://demo.gitlab.com/. –

+0

Отлично! Тем не менее, он все равно не говорит вам *, где *, чтобы найти веб-крючки. Это проблема, с которой @leech и я пережили некоторое время назад. – Jamey

4

Вы можете увидеть пример системного крючка GitLab с созданием web_hook.rb в этом GitHub project.

В gitlab, как администратор, перейдите на вкладку "Hooks", создать крюк, как: http://your.ip.goes.here:8000

или изменить порт на линии 175 сценария.

Для сетевых крючков см. Jamey's more accurate answer.

Вы можете проверить результат работы веб-камеры с помощью сервиса, такого как RequestBin.
Другой пример интерпретации webhook: this question.

Имейте в виду, однако, что несколько вопросов остаются с gitlab webhook:

2

Для крюков уровня группы:

визит: https://gitlab.com/groups/<yourgroup>/hooks

Для крюков уровня группы проекта:

визит: https://gitlab.com/yourgroup/yourproject/hooks

4

С версии 8.16.1, я нашел веб-крюки под

specific project > settings > integrations 

enter image description here

2

Я рекомендую использовать GitLabForm - конфигурацию как код инструмента для GitLab - настроить webhooks с кодом, как это:

project_settings: 
    my_group/my_project: 
    hooks: 
     hooks: 
     'http://127.0.0.1:5000/hooks/my-hook-endpoint': 
     push_events: false # this is set to true by GitLab API by default 
     merge_requests_events: true 
     token: some_secret_auth_token 

Раскрытие информации: Я написал этот инструмент, и моя компания открыла его.

Смежные вопросы