Class ReposClient
提供仓库的 CRUD 操作、分支管理、协作者管理、文件内容操作、 Fork、Stargazers、Watchers、Topics、License 等功能。
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid添加协作者到指定仓库。create(CreateRepoRequest request) 为当前认证用户创建一个新仓库。Fork 指定仓库到当前认证用户的账户或指定组织下。createForOrg(String org, CreateRepoRequest request) 在指定组织下创建一个新仓库。createOrUpdateFile(String owner, String repo, String path, CreateOrUpdateFileRequest request) 创建或更新仓库中的单个文件。void删除指定仓库。voiddeleteBranchProtection(String owner, String repo, String branch) 删除指定分支的保护规则。获取指定仓库的详细信息。获取指定仓库的某个分支信息。getBranchProtection(String owner, String repo, String branch) 获取指定分支的保护规则。getContent(String owner, String repo, String path, String ref) 获取仓库中指定路径的文件或目录内容。getLicense(String license) 获取指定许可证的详细信息。获取仓库的 README 文件内容。获取仓库的主题标签列表。booleanisCollaborator(String owner, String repo, String username) 检查指定用户是否为仓库的协作者。listBranches(String owner, String repo, ListBranchesOptions options) 列出指定仓库的分支。listCollaborators(String owner, String repo, ListCollaboratorsOptions options) 列出指定仓库的协作者。列出常用开源许可证。listForAuthenticatedUser(ListReposOptions options) 列出当前认证用户的所有仓库。listForks(String owner, String repo, ListForksOptions options) 列出指定仓库的所有 Fork。listForOrg(String org, ListOrgReposOptions options) 列出指定组织的仓库。listForUser(String username, ListUserReposOptions options) 列出指定用户的仓库。listLanguages(String owner, String repo) 列出仓库中使用的编程语言及其字节数。listStargazers(String owner, String repo, PageOptions options) 列出给仓库点了 Star 的用户。listWatchers(String owner, String repo, PageOptions options) 列出订阅(Watch)了指定仓库的用户。voidremoveCollaborator(String owner, String repo, String username) 从指定仓库移除协作者。voidreplaceTopics(String owner, String repo, List<String> topics) 替换仓库的主题标签列表。update(String owner, String repo, UpdateRepoRequest request) 更新指定仓库的信息。updateBranchProtection(String owner, String repo, String branch, Protection protection) 更新指定分支的保护规则。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
-
ReposClient
-
-
Method Details
-
get
获取指定仓库的详细信息。API 端点:
GET /repos/{owner}/{repo}- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称- Returns:
- 仓库详细信息
-
create
为当前认证用户创建一个新仓库。API 端点:
POST /user/repos- Parameters:
request- 创建仓库的请求参数- Returns:
- 创建成功后的仓库信息
-
createForOrg
在指定组织下创建一个新仓库。API 端点:
POST /orgs/{org}/repos- Parameters:
org- 组织名称request- 创建仓库的请求参数- Returns:
- 创建成功后的仓库信息
-
update
更新指定仓库的信息。API 端点:
PATCH /repos/{owner}/{repo}- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称request- 更新仓库的请求参数- Returns:
- 更新后的仓库信息
-
delete
-
listForAuthenticatedUser
列出当前认证用户的所有仓库。API 端点:
GET /user/repos- Parameters:
options- 查询选项(可为 null),支持 visibility、affiliation、type、sort、direction、since、before 等参数- Returns:
- 仓库分页列表
-
listForUser
列出指定用户的仓库。API 端点:
GET /users/{username}/repos- Parameters:
username- 用户名options- 查询选项(可为 null),支持 type、sort、direction、since、before 等参数- Returns:
- 仓库分页列表
-
listForOrg
列出指定组织的仓库。API 端点:
GET /orgs/{org}/repos- Parameters:
org- 组织名称options- 查询选项(可为 null),支持 type、sort、direction、since、before 等参数- Returns:
- 仓库分页列表
-
listCollaborators
列出指定仓库的协作者。API 端点:
GET /repos/{owner}/{repo}/collaborators- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称options- 查询选项(可为 null),支持 affiliation 参数- Returns:
- 协作者用户分页列表
-
isCollaborator
-
addCollaborator
-
removeCollaborator
-
listBranches
列出指定仓库的分支。API 端点:
GET /repos/{owner}/{repo}/branches- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称options- 查询选项(可为 null),支持 isProtected 参数筛选受保护分支- Returns:
- 分支分页列表
-
getBranch
获取指定仓库的某个分支信息。API 端点:
GET /repos/{owner}/{repo}/branches/{branch}- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称branch- 分支名称- Returns:
- 分支详细信息
-
getBranchProtection
获取指定分支的保护规则。API 端点:
GET /repos/{owner}/{repo}/branches/{branch}/protection- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称branch- 分支名称- Returns:
- 分支保护规则信息
-
updateBranchProtection
public GithubResponse<Protection> updateBranchProtection(String owner, String repo, String branch, Protection protection) 更新指定分支的保护规则。API 端点:
PUT /repos/{owner}/{repo}/branches/{branch}/protection- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称branch- 分支名称protection- 新的分支保护规则- Returns:
- 更新后的分支保护规则信息
-
deleteBranchProtection
-
getContent
-
createOrUpdateFile
public GithubResponse<Map<String,Object>> createOrUpdateFile(String owner, String repo, String path, CreateOrUpdateFileRequest request) 创建或更新仓库中的单个文件。API 端点:
PUT /repos/{owner}/{repo}/contents/{path}- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称path- 文件路径request- 创建或更新文件的请求参数(包含 message、content、sha 等)- Returns:
- 文件操作结果,包含 content 和 commit 信息
-
listLanguages
-
getTopics
-
replaceTopics
-
listForks
列出指定仓库的所有 Fork。API 端点:
GET /repos/{owner}/{repo}/forks- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称options- 查询选项(可为 null),支持 sort 参数(newest、oldest、stargazers、watchers)- Returns:
- Fork 仓库分页列表
-
createFork
Fork 指定仓库到当前认证用户的账户或指定组织下。API 端点:
POST /repos/{owner}/{repo}/forks- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称options- Fork 配置参数(可为 null),例如 organization 等- Returns:
- Fork 成功后的仓库信息
-
listStargazers
列出给仓库点了 Star 的用户。API 端点:
GET /repos/{owner}/{repo}/stargazers- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称options- 分页选项(可为 null),支持 per_page 和 page 参数- Returns:
- 点了 Star 的用户分页列表
-
listWatchers
列出订阅(Watch)了指定仓库的用户。API 端点:
GET /repos/{owner}/{repo}/subscribers- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称options- 分页选项(可为 null),支持 per_page 和 page 参数- Returns:
- 订阅用户分页列表
-
getReadme
获取仓库的 README 文件内容。API 端点:
GET /repos/{owner}/{repo}/readme- Parameters:
owner- 仓库所有者的用户名repo- 仓库名称ref- 分支、标签或 commit SHA(可为 null,默认使用仓库的默认分支)- Returns:
- README 文件的内容信息
-
getLicense
获取指定许可证的详细信息。API 端点:
GET /licenses/{license}- Parameters:
license- 许可证的 SPDX 标识符(如 "mit"、"apache-2.0")- Returns:
- 许可证详细信息
-
listCommonlyUsedLicenses
列出常用开源许可证。API 端点:
GET /licenses- Parameters:
options- 查询选项(可为 null),支持 featured 参数筛选精选许可证- Returns:
- 许可证分页列表
-