Comment créer un webhook GitLab?

J'ai lu que GitLab est capable d'envoyer des messages à d'autres serveurs via" web hooks "mais je ne trouve pas on en créerait un.

Quelqu'un peut-il m'indiquer la bonne direction?

31
demandé sur Vadim Kotov 2013-06-18 02:33:41

5 réponses

toutes les réponses que j'ai trouvées dans la documentation officielle et sur le débordement de la pile pour trouver web hooks sont incorrectes. La page admin area > hooks ne contient pas les crochets web . Il contient système crochets, qui se déclenchent lorsque vous créez/supprimez des projets et des utilisateurs et des choses comme cela. Ce n'est pas ce que vous voulez.

pour trouver vos crochets web, allez à la page specific project > settings > web hooks (on sidebar in GitLab 6.1.0) . Ces incendies sur des post-recevoir pour le projet en question. Vous pouvez utiliser un service comme RequestBin pour voir à quoi ressemble la charge utile et pour vous assurer que vous les déchargez correctement à des fins de débogage.

55
répondu Jamey 2013-09-19 21:41:54

avec la version 8.16.1, j'ai trouvé les crochets sous

specific project > settings > integrations

enter image description here

11
répondu derwiwie 2017-01-25 20:25:18

vous pouvez voir un exemple de GitLab system hook, avec un web_hook.rb création dans ce projet GitHub .

Dans gitlab, en tant qu'admin, allez dans " Hooks onglet " créer crochet comme: http://your.IP.aller.ici: 8000

ou changez le port sur la ligne 175 du script.

pour les crochets, voir Jamey 's réponse plus précise .

vous pouvez inspecter le résultat d'un webhook avec un service comme RequestBin .

Un autre exemple d'interprétation de webhook: cette question .

soyez conscient cependant que quelques problèmes restent avec gitlab webhook:

4
répondu VonC 2017-05-23 12:34:29

pour les crochets de niveau de groupe:

"151920920 de visite": https://gitlab.com/groups/<yourgroup>/hooks

pour les crochets de groupe au niveau du projet:

"151920920 de visite": https://gitlab.com/yourgroup/yourproject/hooks

4
répondu Blair Anderson 2016-10-20 19:24:16

je recommande d'utiliser GitLabForm - configuration comme outil de code pour GitLab-pour configurer les webhooks avec le code comme ceci:

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

Divulgation: j'ai écrit cet outil et de mon entreprise open-source.

3
répondu Greg Dubicki 2017-08-21 20:00:45