Class PullRequestsClient
提供 Pull Request 的创建、更新、合并,以及 Review、Review 评论、 Review 请求、文件、提交等操作的封装方法。
对应 GitHub REST API 文档: Pull Requests
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreate(String owner, String repo, CreatePullRequestRequest request) 创建新的 Pull Request。createReview(String owner, String repo, int pullNumber, CreateReviewRequest request) 为指定 Pull Request 创建 Review。为指定 Pull Request 创建 Review 评论。void为指定 Pull Request 请求 Review。voiddeletePendingReview(String owner, String repo, int pullNumber, long reviewId) 删除指定的待处理 Pull Request Review(状态为 PENDING 的 Review)。voiddeleteReviewComment(String owner, String repo, long commentId) 删除指定的 Pull Request Review 评论。void删除指定 Pull Request 的 Review 请求。驳回指定的 Pull Request Review。获取单个 Pull Request 的详细信息。获取指定 Pull Request Review 的详细信息。boolean检查指定 Pull Request 是否已被合并。list(String owner, String repo, ListPullsOptions options) 列出指定仓库的 Pull Request。listCommits(String owner, String repo, int pullNumber, PageOptions options) 列出指定 Pull Request 中的提交。listFiles(String owner, String repo, int pullNumber, PageOptions options) 列出指定 Pull Request 中修改的文件。listReviewComments(String owner, String repo, int pullNumber, ListReviewCommentsOptions options) 列出指定 Pull Request 的 Review 评论。listReviewCommentsForRepo(String owner, String repo, ListReviewCommentsOptions options) 列出仓库中所有 Pull Request 的 Review 评论。listReviews(String owner, String repo, int pullNumber, PageOptions options) 列出指定 Pull Request 的 Reviews。merge(String owner, String repo, int pullNumber, MergePullRequestRequest request) 合并指定的 Pull Request。提交指定的 Pull Request Review(触发 Review 事件)。update(String owner, String repo, int pullNumber, UpdatePullRequestRequest request) 更新指定的 Pull Request。更新 Pull Request 的头部分支,使其与基础分支保持同步。更新指定的 Pull Request Review 评论。Methods inherited from class GithubClient
actions, builder, configureObjectMapper, delete, get, get, getPaged, getRaw, gists, git, issues, meta, notifications, orgs, patch, post, projects, pulls, put, putNoBody, releases, repos, search, teams, users, webhooksModifier and TypeMethodDescriptionactions()static GithubClientBuilderbuilder()protected com.fasterxml.jackson.databind.ObjectMapperconfigureObjectMapper(com.fasterxml.jackson.databind.ObjectMapper mapper) protected GithubResponse<Void> protected <T> GithubResponse<T> get(String path, com.fasterxml.jackson.core.type.TypeReference<T> typeRef, Map<String, String> queryParams) protected <T> GithubResponse<T> protected <T> Page<T> protected GithubResponse<byte[]> gists()git()issues()meta()orgs()protected <T> GithubResponse<T> protected <T> GithubResponse<T> projects()pulls()protected <T> GithubResponse<T> protected GithubResponse<Void> releases()repos()search()teams()users()webhooks()
-
Constructor Details
-
PullRequestsClient
-
-
Method Details
-
list
列出指定仓库的 Pull Request。对应端点:
GET /repos/{owner}/{repo}/pulls- Parameters:
owner- 仓库所有者repo- 仓库名称options- 列表选项(状态、头部分支、基础分支、排序、方向等),可为 null- Returns:
- 分页的 Pull Request 列表
-
get
获取单个 Pull Request 的详细信息。对应端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号- Returns:
- Pull Request 详情
-
create
public GithubResponse<PullRequest> create(String owner, String repo, CreatePullRequestRequest request) 创建新的 Pull Request。对应端点:
POST /repos/{owner}/{repo}/pulls- Parameters:
owner- 仓库所有者repo- 仓库名称request- 创建 Pull Request 的请求体(标题、正文、头部分支、基础分支等)- Returns:
- 创建后的 Pull Request
-
update
public GithubResponse<PullRequest> update(String owner, String repo, int pullNumber, UpdatePullRequestRequest request) 更新指定的 Pull Request。对应端点:
PATCH /repos/{owner}/{repo}/pulls/{pull_number}- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号request- 更新 Pull Request 的请求体(标题、正文、状态等)- Returns:
- 更新后的 Pull Request
-
listReviews
public Page<PullRequestReview> listReviews(String owner, String repo, int pullNumber, PageOptions options) 列出指定 Pull Request 的 Reviews。对应端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号options- 分页选项,可为 null- Returns:
- 分页的 Review 列表
-
getReview
public GithubResponse<PullRequestReview> getReview(String owner, String repo, int pullNumber, long reviewId) 获取指定 Pull Request Review 的详细信息。对应端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号reviewId- Review ID- Returns:
- Review 详情
-
createReview
public GithubResponse<PullRequestReview> createReview(String owner, String repo, int pullNumber, CreateReviewRequest request) 为指定 Pull Request 创建 Review。对应端点:
POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号request- 创建 Review 的请求体(事件、正文、评论等)- Returns:
- 创建后的 Review
-
submitReview
public GithubResponse<PullRequestReview> submitReview(String owner, String repo, int pullNumber, long reviewId, Map<String, Object> body) 提交指定的 Pull Request Review(触发 Review 事件)。对应端点:
POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号reviewId- Review IDbody- 请求体,包含事件类型(如 "APPROVE"、"REQUEST_CHANGES"、"COMMENT")- Returns:
- 提交后的 Review
-
dismissReview
public GithubResponse<PullRequestReview> dismissReview(String owner, String repo, int pullNumber, long reviewId, Map<String, String> body) 驳回指定的 Pull Request Review。对应端点:
PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号reviewId- Review IDbody- 请求体,包含驳回原因(message 字段)- Returns:
- 驳回后的 Review
-
deletePendingReview
删除指定的待处理 Pull Request Review(状态为 PENDING 的 Review)。对应端点:
DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号reviewId- Review ID
-
listReviewComments
public Page<Comment> listReviewComments(String owner, String repo, int pullNumber, ListReviewCommentsOptions options) 列出指定 Pull Request 的 Review 评论。对应端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}/comments- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号options- 列表选项(排序、方向、时间筛选等),可为 null- Returns:
- 分页的评论列表
-
listReviewCommentsForRepo
public Page<Comment> listReviewCommentsForRepo(String owner, String repo, ListReviewCommentsOptions options) 列出仓库中所有 Pull Request 的 Review 评论。对应端点:
GET /repos/{owner}/{repo}/pulls/comments- Parameters:
owner- 仓库所有者repo- 仓库名称options- 列表选项(排序、方向、时间筛选等),可为 null- Returns:
- 分页的评论列表
-
createReviewComment
public GithubResponse<Comment> createReviewComment(String owner, String repo, int pullNumber, Map<String, Object> body) 为指定 Pull Request 创建 Review 评论。对应端点:
POST /repos/{owner}/{repo}/pulls/{pull_number}/comments- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号body- 请求体(包含正文、路径、行号等信息)- Returns:
- 创建后的评论
-
updateReviewComment
public GithubResponse<Comment> updateReviewComment(String owner, String repo, long commentId, Map<String, String> body) 更新指定的 Pull Request Review 评论。对应端点:
PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}- Parameters:
owner- 仓库所有者repo- 仓库名称commentId- 评论 IDbody- 请求体(包含更新后的正文)- Returns:
- 更新后的评论
-
deleteReviewComment
-
createReviewRequest
public void createReviewRequest(String owner, String repo, int pullNumber, Map<String, List<String>> body) 为指定 Pull Request 请求 Review。对应端点:
POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号body- 请求体,包含 reviewers(用户名列表)和 team_reviewers(团队名称列表)
-
deleteReviewRequest
public void deleteReviewRequest(String owner, String repo, int pullNumber, Map<String, List<String>> body) 删除指定 Pull Request 的 Review 请求。对应端点:
DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号body- 请求体,包含 reviewers(用户名列表)和 team_reviewers(团队名称列表)
-
listFiles
public Page<PullRequestFile> listFiles(String owner, String repo, int pullNumber, PageOptions options) 列出指定 Pull Request 中修改的文件。对应端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}/files- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号options- 分页选项,可为 null- Returns:
- 分页的文件列表
-
listCommits
列出指定 Pull Request 中的提交。对应端点:
GET /repos/{owner}/{repo}/pulls/{pull_number}/commits- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号options- 分页选项,可为 null- Returns:
- 分页的提交列表
-
merge
public GithubResponse<MergeResult> merge(String owner, String repo, int pullNumber, MergePullRequestRequest request) 合并指定的 Pull Request。对应端点:
PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号request- 合并请求体(合并方式、提交消息等)- Returns:
- 合并结果
-
isMerged
-
updateBranch
public GithubResponse<Map<String,Object>> updateBranch(String owner, String repo, int pullNumber, Map<String, String> body) 更新 Pull Request 的头部分支,使其与基础分支保持同步。对应端点:
PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch- Parameters:
owner- 仓库所有者repo- 仓库名称pullNumber- Pull Request 编号body- 可选的请求体(如期望的头部分支 SHA)- Returns:
- 更新结果,包含 message 字段
-