web-dev-qa-db-ja.com

プルリクエストが受け入れられてマスターにマージされたときに使用するGitHub Webhookを作成する

現在、すべてのブランチに対してPushで起動するWebhookがあります。これにより、Webhookが頻繁にトリガーされます。理想的には、プルリクエストがmergedmasterにあるときにのみ、Webhookが起動します。ただし、オプションとしては表示されません。

enter image description here

追加のwebhookオプションを取得したり、何らかの方法でwebhookをカスタマイズしたりする方法はありますか?

39
brentonstrine

したがって、トリガーの条件をカスタマイズすることはできませんが、LeGecが言及しているように、プルリクエストがマージされたときにのみトリガーするようにコードをカスタマイズできます。

これを行うには、スクリプトが PullRequestEvent に応答することを確認します。テストする条件は次のとおりです。

  • 「アクション」は「closed」です
  • 「マージ」(「pull_request」内)はtrue

この方法では、プルリクエストで他のアクティビティが発生したときに(マージせずに閉じることを含む)、スクリプトが受け取ったすべてのpingを無視できます。

36
pmn

トリガーの条件をカスタマイズする方法がわかりません。

プッシュがあなたの条件に適合していることを検出したときにのみアクションをトリガーするように、受信側でコードを書くことをお勧めします。例:

  • payload.ref == "refs/head/master"
  • payload.commits[0] matches the structure of a merged pull request(<-これには commits API から追加情報を取得する必要がある場合があります)
14
LeGEC