Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@witchy

【CakePHP】github webhookとの連携

github webhookとcakephpを連携させる手順を簡単にまとめておきます

やりたいこと

  • githubにpushされたら何かしらのアクションを起こしたい

github側での手順

  • 連携したいリモートリポジトリの「settings」を開く image.png
  • 左のメニューからwebhookをクリック image.png
  • add webhookをクリック image.png
  • payLoad URLには飛ばしたいコントローラのアクションまでのパスを書く
    • 例:\http://localhost/myapp/models/action?token=aaaaaaaaaa
    • Which events would you like to trigger this webhook?の項だが今回はプッシュでのみ反応させたいので一番上を選ぶ
    • それ以外の項目は今回特に設定しない
    • 最後にadd webhook image.png
    • webhook一覧に先ほど作成したwebhookが表示されている。
    • クリックすると編集画面にいけるのだが、画面下部に通信履歴が表示される。
    • 通信成功していれば緑のチェックマークが出るので覚えておきましょう

cakephp側の設定

  • コントローラ側で適当な処理を書いてやればいいだけ
  • githubから送信される内容は$this->request->data['payload']で拾えます
    • payloadの見方は下記URLのEventsを参照
    • サーバーにIP制限をかけている場合はgithubからのアクセスを許可してやる必要があります。
      • https://api.github.com/meta
      • こちらのhooksに書かれているアドレスがgithubの外部向けIPアドレスとなっています
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?