forked from Gitlink/gitlink-cli
3.8 KiB
3.8 KiB
gitlink-cli webhook +list
列出仓库的所有 Webhook。
命令格式
gitlink-cli webhook +list [--owner OWNER] [--repo REPO] [--page PAGE] [--limit LIMIT]
参数说明
| 参数 | 短参数 | 说明 | 是否必须 | 默认值 |
|---|---|---|---|---|
--owner |
-o |
仓库所有者 | 否 | 自动从 git remote 解析 |
--repo |
-r |
仓库名称 | 否 | 自动从 git remote 解析 |
--page |
-p |
页码 | 否 | 1 |
--limit |
-l |
每页数量 | 否 | 20 |
返回值
成功返回
{
"ok": true,
"data": {
"webhooks": [
{
"id": "123",
"hook_url": "https://example.com/webhook",
"events": ["push", "pull_request"],
"is_active": true,
"content_type": "json",
"description": "CI/CD webhook",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"total_count": 5,
"page": 1,
"limit": 20
},
"meta": {
"page": 1,
"limit": 20,
"total_count": 5
}
}
错误返回
{
"ok": false,
"error": {
"code": 401,
"message": "Authentication failed",
"suggestion": "Please run 'gitlink-cli auth login' to authenticate"
}
}
使用示例
基本用法
# 列出当前仓库的 Webhook(需要在 git 仓库目录中)
gitlink-cli webhook +list
# 列出指定仓库的 Webhook
gitlink-cli webhook +list --owner myuser --repo myrepo
# 分页显示
gitlink-cli webhook +list --owner myuser --repo myrepo --page 2 --limit 10
JSON 格式输出(AI Agent 使用)
# 获取 JSON 格式输出便于解析
gitlink-cli webhook +list --owner myuser --repo myrepo --format json
# 使用 jq 处理输出
gitlink-cli webhook +list --format json | jq '.data.webhooks[] | select(.is_active == true)'
# 统计 Webhook 数量
gitlink-cli webhook +list --format json | jq '.data.total_count'
Table 格式输出
# 表格格式更易阅读(默认)
gitlink-cli webhook +list --format table
# 指定表格格式
gitlink-cli webhook +list --owner myuser --repo myrepo --format table
错误处理
常见错误
1. 认证失败
Error: [401] Authentication failed
原因: Token 过期或无效 解决方案:
gitlink-cli auth login
2. 权限不足
Error: [403] You don't have permission to view webhooks
原因: 用户没有仓库访问权限 解决方案: 确认您是仓库成员或公开项目
3. 仓库不存在
Error: [404] Repository not found
原因: 仓库名称或所有者错误
解决方案: 使用 gitlink-cli repo +list 确认仓库名称
AI Agent 使用建议
检查 Webhook 配置
# 检查是否已配置特定类型的 Webhook
gitlink-cli webhook +list --format json | jq '.data.webhooks[] | select(.hook_url | contains("ci-system"))'
# 检查是否有激活的 Webhook
gitlink-cli webhook +list --format json | jq '.data.webhooks[] | select(.is_active == true)'
# 获取所有 Webhook 的 URL
gitlink-cli webhook +list --format json | jq '.data.webhooks[].hook_url'
批量操作
# 获取所有 Webhook ID
webhook_ids=$(gitlink-cli webhook +list --format json | jq -r '.data.webhooks[].id')
# 批量测试所有 Webhook
for id in $webhook_ids; do
gitlink-cli webhook +test --id $id
done
注意事项
- 分页查询: 默认每页显示 20 个,使用
--limit可调整 - 权限要求: 至少需要仓库读取权限
- 自动解析: 在 git 仓库目录中可省略
--owner和--repo - 格式选择: AI Agent 建议使用
--format json便于解析
相关命令
webhook +create- 创建新 Webhookwebhook +info- 查看特定 Webhook 详情webhook +events- 查看支持的事件类型