GitLabが「ウェブフック」を介して他のサーバーにメッセージを送信できることを読んだことがありますが、見つけることができませんwhere oneが作成されます。
誰かが私を正しい方向に向けることができますか?
webフックを見つけるための公式ドキュメントとStack Overflowで私が見つけた答えはすべて間違っています。 _admin area > hooks
_ページにはwebフックが含まれていません。これにはsystemフックが含まれています。このフックは、プロジェクトやユーザーなどを作成/削除するときに起動します。これはあなたが望むものではありません。
Webフックを見つけるには、specific project > settings > web hooks (on sidebar in GitLab 6.1.0)
ページに移動します。これらは、問題のプロジェクトの受信後発生します。 RequestBin のようなサービスを使用して、ペイロードがどのように見えるかを確認し、デバッグのためにこれらを正しく起動していることを確認できます。
グループレベルのフックの場合:
訪問:https://gitlab.com/groups/<yourgroup>/hooks
グループプロジェクトレベルのフックの場合:
訪問:https://gitlab.com/yourgroup/yourproject/hooks
この GitHubプロジェクト で web_hook.rb を作成すると、GitLabシステムフックの例を見ることができます。
Gitlabで、管理者として「
Hooks
」タブに移動し、次のようにフックを作成します。 http://your.ip.goes.here:80または、スクリプトの175行目のポートを変更します。
Webフックについては、 Jamey の より正確な回答 を参照してください。
RequestBin のようなサービスでwebhookの結果を調べることができます。
ウェブフックの解釈の別の例: この質問 。
ただし、gitlab webhookにはいくつかの問題が残っていることに注意してください。
GitLabForm -GitLabのコードツールとして設定-次のようなコードでwebhookを設定することをお勧めします。
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
開示:私はこのツールを書いて、私の会社はそれをオープンソースにしました。