我正在處理有很多分支和拉取請求的GitHub回購。如何過濾特定目標分支的所有GitHub拉取請求
比方說,例如,我有以下拉請求:
a
分支X
b
分支X
c
分支Y
d
分支X
e
至分支Y
。
有沒有辦法找到有針對性的分支X
全部引入請求(即a -> X
,b -> X
,d -> X
)?
我正在處理有很多分支和拉取請求的GitHub回購。如何過濾特定目標分支的所有GitHub拉取請求
比方說,例如,我有以下拉請求:
a
分支X
b
分支X
c
分支Y
d
分支X
e
至分支Y
。有沒有辦法找到有針對性的分支X
全部引入請求(即a -> X
,b -> X
,d -> X
)?
是的,你可以做到這一點。
在Github上的術語中,「分支」是「基地」 所以搜索短語是:is:open is:pr base:X
官方介紹:Search based on branch names
您也可以選擇添加is:merged
或is:unmerged
過濾器爲好。
截至2016-01-10這已添加到gh搜索欄api中,請參閱下一個答案。
原始接受(現在outed答案)留下未編輯。
GitHub上可用目前不提供一種方法,通過他們的網絡接口,以過濾由他們的目標 分支拉請求。相反,你現在得到的是隻是 整個拉請求與話題分支機構的名稱列表:
點擊進入拉請求將顯示目標分支,但不 真的可以幫助你做任何你想做的過濾。
有可能通過使用GitHub REST API, 然而過濾拉請求:
GET /repos/:owner/:repo/pulls?base=:branch
這應該告訴你的所有開放拉請求回收:owner/:repo
, 通過將目標:branch
作爲其基本分支的請求進行過濾。從 文檔:
過濾器通過基本分支名稱拉。例如:
gh-pages
。
如果你有curl
可用,您可以在公共回購從 命令行測試:
curl https://api.github.com/repos/codecombat/codecombat/pulls?base=master > \
pulls.json
,將返回的JSON響應以下形式:
[
{
"url": "https://api.github.com/repos/codecombat/codecombat/pulls/879",
"id": 14955421,
"html_url": "https://github.com/codecombat/codecombat/pull/879",
"head": {
"label": "DanielRodriguezRivero:patch-4",
"ref": "patch-4",
"sha": "baff84f0aeee12f23e3608558ae5341a0b5f939b",
"repo": {
"id": 16202384,
"name": "codecombat",
"full_name": "DanielRodriguezRivero/codecombat"
}
},
"base": {
"label": "codecombat:master",
"ref": "master",
"sha": "5e2f3ac7cb731a6e40e81737a5122c7fe1b746d3",
"repo": {
"id": 15193430,
"name": "codecombat",
"full_name": "codecombat/codecombat"
}
}
}
]
數組中的每個對象都是一個拉取請求,由基本/目標分支過濾。 JSON實際上包含的信息比這更多,我剛剛刪除了大部分內容,以顯示此問題的相關部分 。
你也許可以寫一個Python/Ruby的/ PHP /無論腳本,然後分析出各拉請求html_url
財產,並列出它的命令行上。例如,這裏有一個簡單的Ruby腳本,它將分析從curl
輸出保存在一個JSON響應的輸出:
require 'json'
json = JSON.parse(File.read('./pulls.json'))
pulls = json.map { |pull| { title: pull['title'], url: pull['html_url'] } }
pulls.each do |pull|
puts pull.values
puts
end
,它輸出以下內容:
$ ruby parser.rb
Update es-ES.coffee
https://github.com/codecombat/codecombat/pull/879
Fix deltas referring to last system saved
https://github.com/codecombat/codecombat/pull/874
Refactor getNameById and add naming to systems in deltas
https://github.com/codecombat/codecombat/pull/866
Traducido varios textos del fichero es-ES.coffe al espa├▒ol de Espa├▒a
https://github.com/codecombat/codecombat/pull/865
Anon name collide
https://github.com/codecombat/codecombat/pull/834
我添加了一個註釋,說這個答案現在已經過時,猶豫刪除整個第一部分。 – tacaswell
您應該更新接受的答案。 – tacaswell