2017-03-02 35 views
0

我正在開發一個應用程序,它可以檢測某個特定分支中是否合併了某些內容,並據此採取一些操作。 爲了解決我的問題,我需要找到合併到我監視的分支的分支的名稱。GitHub webhooks - 如何檢測合併的事實?

假設GitHub向我發送「everything」,並且當「some-branch」合併爲「Tests」分支時,我的腳本必須作出反應。此外,我的腳本必須能夠檢測到合併分支的名稱(在這種情況下「一些分支」)。

目前爲止唯一的解決方案是讀取數組「提交」中每個提交的屬性「消息」並解析它。它們非常有用:「將分支合併到測試中」。

有兩個問題

  • 消息理論上可以由用戶進行修改(例如SourceTree顯示衝突解決後您編輯)
  • 快進的情況下,沒有消息

你能提出什麼建議,我怎樣才能更好地檢測合併的事實和合並分支的名稱?

謝謝!

回答

2

恐怕是由於git的協議,這並不總是可能的。

  1. 在快進的情況下,沒有創建新的blob,但只有blob被轉移到github。

  2. 如果存在合併提交,就像您已經意識到的那樣,提交消息可能會被用戶覆蓋。

我想我們能做的最好的是監測的一個分支,並在方面考慮,而不是合併

3

只有當分支合併是通過github上的pull請求,那麼你可以檢測事件或相關事件,例如pull_request_review事件。

並且查看分支合併到Tests分支的命令是git branch --merged Tests