Как создать веб-сайт GitLab?

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

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

Ответ 1

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

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

Ответ 2

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

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

или измените порт в строке 175 script.

Для веб-перехватчиков см. Jamey более точный ответ.

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

Помните, что с gitlab webhook осталось несколько вопросов:

Ответ 3

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

specific project > settings > integrations

введите описание изображения здесь

Ответ 4

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

посетите: https://gitlab.com/groups/<yourgroup>/hooks

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

посетите: https://gitlab.com/yourgroup/yourproject/hooks

Ответ 5

Я рекомендую использовать 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

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