人によって承認され、正常にテストされたGitHubプルリクエストを自動的に(Jenkinsから)マージします。言い換えれば、ときに、これらのチェックマークの3つはすべて緑です:検証済みでテスト済みのGitHubプルリクエストを自動的にマージします
これは可能ですか?私は、GitHubの新しい「変更が承認されました」コードレビュー機能用のAPIに関するドキュメントは見つかりませんでした。
人によって承認され、正常にテストされたGitHubプルリクエストを自動的に(Jenkinsから)マージします。言い換えれば、ときに、これらのチェックマークの3つはすべて緑です:検証済みでテスト済みのGitHubプルリクエストを自動的にマージします
これは可能ですか?私は、GitHubの新しい「変更が承認されました」コードレビュー機能用のAPIに関するドキュメントは見つかりませんでした。
レビューが非保留状態で送信されたときにトリガーされる新しいPullRequestReviewEvent
webhookがあります。ウェブフックの本体には、["review"]["state"]
フィールドが含まれています。すべてのレビューアが変更を承認したとき(つまり、UIで緑色の「変更が承認されました」と表示されたとき)、approved
になります。
最後にrequesting the pull request from the APIによってプルの「マージ・能力」を確認し、その上のCIからステータスチェックを取得し、ためにあなたのプル要求のヘッドSHAためStatusEvent
と組み合わせる:
GET /repos/:owner/:repo/pulls/:number
PUT /repos/:owner/:repo/pulls/:number/merge
し、適切なペイロードパラメータ:あなたはすべての3つのことをしたら、あなたがmerge the pull requestことができます。いくつかのペイロードパラメータには、プレビュー期間中のようにAccept: application/vnd.github.polaris-preview+json
が必要です。
ありがとうございました。多くの発見がありました –
これは簡単なAPI呼び出しでこれを達成することは可能ですか? PRoのステータスをチェックし、イベントベースのフックに頼るのではなく、apiレスポンスのステータスに基づいてマージする、repo-name、pr-idのようなargを取るcliプログラムを作成したい –
[Issue Timeline API](https://developer.github.com/v3/issues/timeline/)を使用したイベントですが、このAPIを自分で使用していないため、どのように達成するための具体的なアドバイスはできませんあなたは後です。 – kfb
@ kfbのおかげで、私は[NodeJSスクリプト](https://github.com/dgmltn/EggTimer)を書いています:準備ができたらGitHubを聞いて自動マージしてください。 – dgmltn