列出授权用户所有仓库¶
GET /api/v5/user/repos
用户调用此接口,进行列出授权用户所有仓库操作。
访问令牌支持说明¶
- AtomGit 用户访问令牌(AtomGit user access tokens)
是否允许匿名访问¶
此接口不允许匿名访问
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
access_token |
query | string | 是 | 用户授权码 |
visibility |
query | string | 否 | 可见范围:公开(public)、私有(private)或所有(all),默认 all |
affiliation |
query | string | 否 | 关联关系:owner(授权用户拥有的仓库)、collaborator(授权用户为仓库成员)、organization_member(授权用户为仓库所在组织并有访问仓库权限)、enterprise_member(授权用户所在企业并有访问仓库权限)、admin(所有有权限的,包括所管理的组织中所有仓库、所管理的企业的所有仓库);可用逗号分隔组合,如 owner, organization_member 或 owner, collaborator, organization_member |
type |
query | string | 否 | 筛选用户仓库:其创建(owner)、个人(personal)、其为成员(member)、公开(public)、私有(private);不能与 affiliation 参数一并使用,否则会报 422 错误;与 visibility 参数一起使用时,visibility 参数拥有更高的优先级 |
sort |
query | string | 否 | 排序方式:创建时间(created)、更新时间(updated)、最后推送时间(pushed)、仓库所属与名称(full_name);默认 full_name |
direction |
query | string | 否 | 排序方向:若 sort 为 full_name,用升序(asc);否则降序(desc) |
q |
query | string | 否 | 搜索关键字 |
page |
query | integer | 否 | 当前的页码 |
per_page |
query | integer | 否 | 每页的数量,最大为 100,默认 20 |
repo_type |
query | string | 否 | 筛选仓库类型:code(代码仓)、model(模型仓)、dataset(数据集仓)、space(space)、all(所有仓库类型);默认 code |
响应参数¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
id |
integer | 是 | 否 | 仓库 ID |
full_name |
string | 是 | 否 | 仓库所属与名称(如 owner/name) |
human_name |
string | 是 | 否 | 仓库人类可读名称 |
url |
string | 是 | 否 | 仓库 API 地址 |
namespace |
object | 是 | 否 | 命名空间信息 |
path |
string | 是 | 否 | 仓库路径 |
name |
string | 是 | 否 | 仓库名称 |
description |
string | 是 | 是 | 仓库描述 |
status |
string | 是 | 否 | 仓库状态,0:开始(表示仓库未归档),2:关闭(表示仓库已归档) |
ssh_url_to_repo |
string | 是 | 否 | SSH 克隆地址 |
http_url_to_repo |
string | 是 | 否 | HTTP 克隆地址 |
web_url |
string | 是 | 否 | 仓库网页地址 |
homepage |
string | 是 | 否 | 仓库主页 |
members |
string[] | 是 | 是 | 仓库成员列表 |
assignee |
object[] | 是 | 是 | 指派人员列表 |
forks_count |
integer | 是 | 否 | Fork 数量 |
stargazers_count |
integer | 是 | 否 | Star 数量 |
project_labels |
object[] | 是 | 是 | 项目标签列表 |
relation |
string | 是 | 是 | 与授权用户的关系 |
permission |
object | 是 | 否 | 当前用户的仓库权限 |
internal |
integer | 是 | 否 | 是否为内部仓库,取值 0/1 |
open_issues_count |
integer | 是 | 否 | 打开的 Issue 数量 |
has_issue |
integer | 是 | 否 | 是否启用 Issue,取值 0/1 |
watched |
integer | 是 | 否 | 是否已关注,取值 0/1 |
watchers_count |
integer | 是 | 否 | 关注者数量 |
assignees_number |
integer | 是 | 否 | 指派人员数量 |
enterprise |
object | 是 | 否 | 所属企业信息 |
default_branch |
string | 是 | 否 | 默认分支 |
fork |
integer | 是 | 否 | 是否为 Fork 仓库,取值 0/1 |
owner |
object | 是 | 否 | 仓库所有者信息 |
assigner |
object | 是 | 否 | 指派者信息 |
private |
integer | 是 | 否 | 是否私有仓库,取值 0/1 |
public |
integer | 是 | 否 | 是否公开仓库,取值 0/1 |
repo_type |
string | 是 | 否 | 仓库类型:code/model/dataset/space |
namespace 对象
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
namespace.id |
integer | 是 | 否 | 命名空间 ID |
namespace.type |
string | 是 | 否 | 命名空间类型 |
namespace.name |
string | 是 | 否 | 命名空间名称 |
namespace.path |
string | 是 | 否 | 命名空间路径 |
namespace.html_url |
string | 是 | 否 | 命名空间网页地址 |
assignee 对象数组
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
assignee.id |
string | 是 | 否 | 用户 ID |
assignee.login |
string | 是 | 否 | 登录名 |
assignee.name |
string | 是 | 否 | 用户名称 |
assignee.avatar_url |
string | 是 | 否 | 头像地址 |
assignee.html_url |
string | 是 | 否 | 用户主页地址 |
assignee.type |
string | 是 | 否 | 用户类型 |
permission 对象
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
permission.pull |
integer | 是 | 否 | 拉取权限,取值 0/1 |
permission.push |
integer | 是 | 否 | 推送权限,取值 0/1 |
permission.admin |
integer | 是 | 否 | 管理权限,取值 0/1 |
enterprise 对象
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
enterprise.id |
integer | 是 | 否 | 企业 ID |
enterprise.path |
string | 是 | 否 | 企业路径 |
enterprise.html_url |
string | 是 | 否 | 企业网页地址 |
enterprise.type |
string | 是 | 否 | 企业类型 |
owner 对象
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
owner.id |
string | 是 | 否 | 所有者 ID |
owner.login |
string | 是 | 否 | 登录名 |
owner.name |
string | 是 | 否 | 名称 |
owner.type |
string | 是 | 否 | 类型 |
assigner 对象
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
assigner.id |
string | 是 | 否 | 指派者 ID |
assigner.login |
string | 是 | 否 | 登录名 |
assigner.name |
string | 是 | 否 | 名称 |
assigner.type |
string | 是 | 否 | 类型 |
失败响应¶
只有成功响应是不够的:调用方需要知道失败长什么样,才能写错误处理。
400 参数错误
401 未认证
422 参数冲突
(错误字段名以后端实际返回为准。)
HTTP 响应状态码¶
| 状态码 | 说明 |
|---|---|
200 |
成功(OK) |
400 |
参数错误 |
401 |
需要认证(Requires authentication) |
422 |
参数冲突(affiliation 与 type 不能同时使用) |
请求示例¶
参数说明¶
示例中所有 <...> 占位符均需替换为实际值:
<token>替换为你的 AtomGit 用户访问令牌。
cURL¶
curl -X GET 'https://api.atomgit.com/api/v5/user/repos?access_token=<token>' \
-H 'Accept: application/json'
JavaScript¶
// 原生 fetch (Node.js 18+ / 浏览器)
const token = "<YOUR-TOKEN>";
const response = await fetch(
`https://api.atomgit.com/api/v5/user/repos?access_token=${token}`,
{
headers: {
"Accept": "application/json",
},
}
);
if (!response.ok) {
throw new Error(`请求失败: ${response.status}`);
}
const data = await response.json();
console.log(data);
Python¶
import requests
resp = requests.get(
"https://api.atomgit.com/api/v5/user/repos",
params={"access_token": "<YOUR-TOKEN>"},
headers={"Accept": "application/json"},
timeout=10,
)
resp.raise_for_status()
print(resp.json())
响应示例¶
状态码: 200
[
{
"id": 4028329,
"full_name": "tiandi/test_yf_repo",
"human_name": "洪门 / test_yf_repo",
"url": "https://api.atomgit.com/api/v5/repos/tiandi/test_yf_repo",
"namespace": {
"id": 1420034,
"type": "enterprise",
"name": "洪门",
"path": "tiandi",
"html_url": "https://api.atomgit.com/tiandi"
},
"path": "test_yf_repo",
"name": "test_yf_repo",
"description": "",
"status": "0",
"ssh_url_to_repo": "git@atomgit.com:tiandi/test_yf_repo.git",
"http_url_to_repo": "https://api.atomgit.com/tiandi/test_yf_repo.git",
"web_url": "https://api.atomgit.com/tiandi/test_yf_repo",
"homepage": "https://api.atomgit.com/tiandi/test_yf_repo",
"members": ["aron1"],
"assignee": [
{
"id": "332008",
"login": "aron1",
"name": "yanfan",
"avatar_url": "https://api.atomgit.com/avatar.png",
"html_url": "https://api.atomgit.com/aron1",
"type": "User"
}
],
"forks_count": 0,
"stargazers_count": 0,
"project_labels": [],
"relation": "master",
"permission": {
"pull": 1,
"push": 1,
"admin": 1
},
"internal": 0,
"open_issues_count": 0,
"has_issue": 0,
"watched": 0,
"watchers_count": 0,
"assignees_number": 1,
"enterprise": {
"id": 1420034,
"path": "tiandi",
"html_url": "https://api.atomgit.com/tiandi",
"type": "enterprise"
},
"default_branch": "main",
"fork": 0,
"owner": {
"id": "444601",
"login": "yanfan",
"name": "yanfan",
"type": "User"
},
"assigner": {
"id": "444601",
"login": "yanfan",
"name": "yanfan",
"type": "User"
},
"private": 1,
"public": 0,
"repo_type": "code"
}
]
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc