我希望自動(即從Jenkins)合併經過人員批准並已成功測試的GitHub請求;換言之,當這些複選標記的所有三個都是綠色:自動合併經過驗證和測試的GitHub合併請求
這可能嗎?我還沒有找到關於GitHub新的「更改批准」代碼審查功能的API的任何文檔。
我希望自動(即從Jenkins)合併經過人員批准並已成功測試的GitHub請求;換言之,當這些複選標記的所有三個都是綠色:自動合併經過驗證和測試的GitHub合併請求
這可能嗎?我還沒有找到關於GitHub新的「更改批准」代碼審查功能的API的任何文檔。
有一個新的PullRequestReviewEvent
webhook,當以非掛起狀態提交評論時觸發。 webhook的主體包含["review"]["state"]
字段,當所有審閱者批准更改(即在UI中獲得綠色的「更改批准」勾號時),該字段將爲approved
。
與StatusEvent
結合這爲您的拉請求以從CI的狀態檢查等,最後檢查由requesting the pull request from the API拉的「融合能力」的頭SHA:
GET /repos/:owner/:repo/pulls/:number
一旦你有所有三件事情,你可以merge the pull request與:
PUT /repos/:owner/:repo/pulls/:number/merge
和適當的有效載荷參數。請注意,您需要Accept: application/vnd.github.polaris-preview+json
作爲預覽期間的一些有效載荷參數。
感謝的人,這花了很多的發現 –
這可能通過直接的API調用來實現這一點嗎?我想創建一個cli程序,它需要repo-name,pr-id之類的參數,可以檢查PR的狀態,並根據api響應中的狀態合併它,而不是依賴基於事件的鉤子。 –
您可以閱讀使用[發行時間線API](https://developer.github.com/v3/issues/timeline/)的事件,儘管我自己沒有使用過這個API,所以不能給出關於如何實現什麼的具體建議你在追求。 – kfb
感謝@ kfb的回答,我寫了一個[NodeJS腳本](https://github.com/dgmltn/EggTimer)來做到這一點:聽完GitHub並準備好後自動合併。 – dgmltn