イントロダクション
Githubにコミット(PUSH)したときなどにWebhookを使用してGithubからリクエストを飛ばすことができます。
このWebhookを使用してたシステム(アプリケーション)との連携を行うことができます。
これを受信して処理を行うのに自分はPHPを使用しました。PHPで受信したリクエストの中身をメモがてらに記載します。
Githookから送られるデータ
前提として以下のコードでGitからの送信されたデータ(JSON)を取得します。
$json_string = file_get_contents('php://input'); $json = json_decode($json_string,true);
取得したデータをvar_dumpできれば良いのですが、ブラウザで開くリクエストではないのでファイル出力して確認しました。重要であろう部分を抜粋しました。
// JSONからキーを指定して取得 キー: head_commit / 中身: Array // 中身を取り出しました。 中身のキー: distinct /値: 1 中身のキー: message /値: テスト27(コミットコメント) 中身のキー: timestamp /値: 2019-06-09T18:07:35+09:00 中身のキー: url /値: https://github.com/ZenryokuService/GoalAchievement/commit/74adcfaf088fd0cf2955cea0769b369d2f76f156 キー: repository / Value: Array 中身のキー: name / ArrayValue: GoalAchievement 中身のキー: full_name / ArrayValue: ZenryokuService/GoalAchievement 中身のキー: html_url / ArrayValue: https://github.com/ZenryokuService/GoalAchievement 中身のキー: description / ArrayValue: 目標を達成するためのフローを作り上げる、Javaでテスト用のプログラムを作成。
しかし、シークレットキーなどがみつかりませんでした。。。まぁ当然か(笑)