获取仓库单个WebHook¶
GET /api/v5/repos/{owner}/{repo}/hooks/{id}
该接口用于获取指定仓库中单个 WebHook 的配置详情,包括回调地址、订阅的事件类型、最近一次推送的返回结果及激活状态等信息。
访问令牌支持说明¶
- AtomGit 用户访问令牌(AtomGit user access tokens)
是否允许匿名访问¶
此接口不允许匿名访问
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
owner |
path | string | 是 | 仓库所属空间地址(企业、组织或个人的地址path) |
repo |
path | string | 是 | 仓库路径(path) |
id |
path | integer | 是 | Webhook 的 ID |
access_token |
query | string | 是 | 用户授权码 |
响应参数¶
| 字段 | 类型 | 必返 | 可为空 | 说明 |
|---|---|---|---|---|
id |
integer | 是 | 否 | Webhook 的 ID |
url |
string | 是 | 是 | Webhook 回调地址 |
password |
string | 是 | 是 | Webhook 回调地址对应的密码(Secret Token) |
result |
string | 是 | 是 | 最近一次推送的返回结果,可能为 null |
project_id |
integer | 是 | 否 | 所属仓库的 ID |
result_code |
integer | 是 | 是 | 最近一次推送的返回状态码 |
push_events |
boolean | 是 | 是 | 是否订阅 Push 事件 |
tag_push_events |
boolean | 是 | 是 | 是否订阅 Tag Push 事件 |
issues_events |
boolean | 是 | 是 | 是否订阅 Issue 事件 |
note_events |
boolean | 是 | 是 | 是否订阅评论(Note)事件 |
merge_requests_events |
boolean | 是 | 是 | 是否订阅合并请求(Merge Request)事件 |
created_at |
string | 是 | 是 | 创建时间 |
active |
boolean | 是 | 是 | 是否激活 |
失败响应¶
401 未认证
404 未找到
403 禁止访问
HTTP 响应状态码¶
| 状态码 | 说明 |
|---|---|
200 |
成功(OK) |
401 |
需要认证(Requires authentication) |
403 |
禁止访问(Forbidden) |
404 |
未找到(Not found) |
请求示例¶
参数说明¶
<owner>替换为仓库所属空间地址(企业、组织或个人的地址path);<repo>替换为仓库路径(path);<id>替换为 Webhook 的 ID;<token>替换为你的 AtomGit 用户访问令牌。
cURL¶
curl -X GET 'https://api.atomgit.com/api/v5/repos/<owner>/<repo>/hooks/<id>?access_token=<token>' \
-H 'Accept: application/json'
JavaScript¶
// 原生 fetch (Node.js 18+ / 浏览器)
const token = "<YOUR-TOKEN>";
const owner = "<owner>";
const repo = "<repo>";
const id = "<id>";
const response = await fetch(
`https://api.atomgit.com/api/v5/repos/${owner}/${repo}/hooks/${id}?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
token = "<YOUR-TOKEN>"
owner = "<owner>"
repo = "<repo>"
webhook_id = "<id>"
resp = requests.get(
f"https://api.atomgit.com/api/v5/repos/{owner}/{repo}/hooks/{webhook_id}",
params={"access_token": token},
headers={"Accept": "application/json"},
timeout=10,
)
resp.raise_for_status()
print(resp.json())
响应示例¶
状态码: 200
{
"id": 9529,
"url": "https://api.atomgit.com/hook/callback",
"password": "123445",
"result": null,
"project_id": 282463,
"result_code": 0,
"push_events": false,
"tag_push_events": false,
"issues_events": true,
"note_events": false,
"merge_requests_events": true,
"created_at": "2024-09-26T16:13:27+08:00",
"active": true
}
错误码¶
| 错误码 | 说明 |
|---|---|
401 |
未认证或凭证无效(缺少/无效的访问凭证) |
403 |
禁止访问(无权访问该资源) |
404 |
请求路径不存在(或 Webhook 不存在) |
429 |
请求过于频繁,触发限流 |
500 |
系统内部错误 |
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 gitcode-dev/atomgit-api-doc