2017-03-02 8 views
0

私は、特定のブランチで何かがマージされたことを検出し、それに基づいて何らかのアクションをとるアプリケーションを開発しています。 私の問題を解決するためには、私が監視するブランチにマージされたブランチの名前を見つける必要があります。GitHub webhooks - マージの検出方法

GitHubが "すべて"を送信し、 "some-branch"が "Tests"ブランチにマージされたときにスクリプトが反応する必要があるとしましょう。また、私のスクリプトは、マージされたブランチ(この場合は "some-branch")の名前を検出できなければなりません。

私が今までに見つけた解決策は、配列 "コミット"のすべてのコミットのプロパティ "メッセージ"を読み取って解析することです。彼らはかなり先端です: "ブランチをいくつかのブランチをテストにマージする"。

早送りの場合には二つの問題

  • 理論的には、ユーザによって変更することができ、メッセージ(例えばSourceTreeは、紛争解決後のあなたのエディタを示して)
  • は何のメッセージ
はありませんがあります

あなたは何をアドバイスできますか?マージの事実とマージされたブランチの名前をどうやって検出できますか?

ありがとうございます!

答えて

2

私はgitのプロトコルのために恐れていますが、これは常に可能ではありません。

  1. 早送りの場合、新しいブロブは作成されませんが、ブロブのみがgithubに転送されます。

  2. すでにわかっているように、マージコミットが存在する場合、コミットメッセージはユーザーによって上書きされることがあります。

私たちができる最善の枝を監視し、代わりにマージプッシュの観点で考えることであると思います。

3

ブランチマージがgithubのプルリクエスト経由である場合のみ、pull_request_reviewイベントなどのイベントを検出したり、関連付けることができます。

そして、ブランチを表示するコマンドは、Testsブランチにマージされます。ブランチはgit branch --merged Testsです。