[英]bitbucket rest api to get the list of pull requests (OPEN) created from source (fromRef) branch to target branch (fromRef)
[英]Get pull requests (or merge requests) by date range (from now to past date) - GitHub/GitLab REST API
我們希望從現在到過去的某個日期(“created_at”或“merged_at”日期)獲取拉取請求或合並請求。
有沒有辦法獲取從某個日期(例如:2019-02-02)到現在的“created_at”或“merged_at”數據列表? 如果是,使用 curl 命令時看起來如何?
您可以從下面列出的鏈接中查看 JSON 結構。 非常感謝。
例如:“created_at”>= 2019-02-02
curl "https://github.com/api/v3/repos/{repoIdOrName}/pulls?state=closed" -X GET -H "Authorization: token XXXX" -H "Accept: application/vnd.github.sailor-v-preview+json"
curl "https://gitlab.com/api/v4/projects/{repoIdOrName}/merge_requests?target_branch=master" -XGET -H "PRIVATE-TOKEN: XXXX"
對於 gitlab,根據您提到的文檔,您可以使用created_after
參數。 所以:
curl "https://gitlab.com/api/v4/projects/{repoIdOrName}/merge_requests?target_branch=master&created_after=2020-02-02" -XGET -H "PRIVATE-TOKEN: XXXX"
應該做的伎倆
不幸的是, .../<owner>/<repo>/pulls
路由目前不允許這種查詢。 為此,您需要使用通用的.../issues
路線。 在 GitHub 中,一個Pull Request是一個Issue的實例。
調整並卷曲以下 URL(將<owner>
和<repo>
替換為您自己的):
https://api.github.com/search/issues?q=repo:<owner>/<repo>+is:pr+created:>=2020-08-15
幾點說明:
.../pulls
路由返回一個數組,而.../issues
路由返回一個在items
字段中嵌入數組的對象。 此外,返回的對象包含的信息少於.../pulls
路由返回的信息。 例如, merged_at
字段不存在,因為是_links
字段。 但是,在每個 PR 對象中,都有一個.pull_request.url
字段,其中包含一個 URL,它將以相同的格式返回您將從.../pulls
URL 獲得的所有 PR 數據。updated_at
日期字段進行過濾,只需在上述查詢中放置updated
而不是created
。 closed
和merged
似乎也有效。&sort=created&order=asc
的內容附加到查詢 URL 來對結果進行排序。-I
參數與 curl),您可以使用正則表達式'^link:.*?<([^>]+)>; rel="next".+'
'^link:.*?<([^>]+)>; rel="next".+'
提取第一組中下一頁的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.