2014-10-29 85 views
5

有一個相關的問題GET pull request merge commit sha from pull request number using github api,但沒有答案。如何爲合併的拉取請求獲取合併提交SHA?

根據GitHub API,一旦Pull Request被合併,它會觸發pull_request事件action: closed。 Events API的活動是also available。但是,只有merged(如果拉取請求已合併,則爲true)並且已棄用merge_commit_sha(臨時合併提交的SHA,而不是合併拉取請求的實際提交)字段。

還有API for dealing with pull requests;但根據文檔,它也只會返回是否合併了請求,以及什麼是臨時提交SHA(在不推薦使用的字段中)。

拉請求顯然與合併相關的承諾不知怎麼回事,提交SHA所示拉動請求頁面上:

enter image description here

有沒有辦法讓程序的提交SHA通過拉請求是合併到基地,知道拉請求ID?

回答

2

所有拉請求也是問題。因此,您可以獲取Issue Events的任何合併請求。那樣的話,會有一個commit_id。如果該屬性存在merged屬性,那麼它應該是合併提交的SHA。

+1

這實際上允許獲取合併提交編號;只要獲取問題的所有事件就足夠了(例如https://api.github.com/repos/twbs/bootstrap/issues/14930/events),並找到一個帶有event:「merged」的事件。然而,這種方式看起來「不好」,因爲需要獲取所有事件以獲取提交編號(並且對於單個問題可能容易出現數千個事件)。所以我現在不會接受你的回答,以防有人給另一個人。 – penartur 2014-10-30 08:19:17