Token导航 LogoToken导航

Agent Skill · 开发

gitlab-webhook(GitLab webhook 开发)

用于围绕 GitLab 项目、Merge Request、Issue、分支、流水线和代码审查流程提供辅助能力。它适合让 Agent 查询项目状态、整理提交差异、辅助检查合并请求或汇总 CI 结果。使用时需要确认项目权限、访问 token 和目标分支范围;涉及合并、推送、改工单或触发流水线时,应先预览影响并核对团队流程。

gitlab-webhook 是开发类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在开发类的 21,746 个 Skill 里排第 10,955。

总安装 2,002周安装 81GitHub Stars 1下载 629核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:gitlab-webhook(GitLab webhook 开发)
来源仓库:https://github.com/grandcamel/gitlab-assistant-skills
仓库路径:skills/gitlab-webhook
安装命令:
npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-webhook
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-webhook

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于围绕 GitLab 项目、合并请求、Issue、分支和流水线提供辅助能力。适合查询项目状态、整理提交差异、检查合并请求或汇总 CI 结果。通过命令行安装并配置访问 token 后,支持对 Webhook 的配置与管理。涉及合并、推送或改工单时,应先预览影响并核对团队流程。

gitlab-webhook 属于开发类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/gitlab-webhook

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill git…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

gitlab-webhook 怎么安装?

在终端执行 npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-webhoo…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

gitlab-webhook 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

gitlab-webhook 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

gitlab-webhook 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

gitlab-webhook 用的人多吗?

公开数据是累计安装 2,002 次,近一周安装 81 次,下载 629 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

gitlab-webhook 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
gitlab-webhook

GitLab webhook 开发 · 本页

2,0021接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Webhook Skill

Webhook management for GitLab using glab api raw endpoint calls.

Quick Reference

OperationCommand PatternRisk
List webhooksglab api projects/:id/hooks-
Get webhookglab api projects/:id/hooks/:hook_id-
Create webhookglab api projects/:id/hooks -X POST -f...⚠️
Update webhookglab api projects/:id/hooks/:hook_id -X PUT -f...⚠️
Delete webhookglab api projects/:id/hooks/:hook_id -X DELETE⚠️⚠️
Test webhookglab api projects/:id/hooks/:hook_id/test/:trigger -X POST⚠️
List group hooksglab api groups/:id/hooks-

Risk Legend: - Safe | ⚠️ Caution | ⚠️⚠️ Warning | ⚠️⚠️⚠️ Danger

When to Use This Skill

ALWAYS use when:

  • User mentions "webhook", "hook", "web hook"
  • User wants to integrate GitLab with external services
  • User mentions "notification", "callback", "trigger URL"
  • User wants to set up CI/CD integrations or Slack notifications

NEVER use when:

  • User wants to configure built-in integrations (use project settings)
  • User wants to manage CI/CD pipelines (use gitlab-ci)
  • User wants system hooks (requires admin access)

API Prerequisites

Required Token Scopes: api

Permissions:

  • View webhooks: Maintainer+
  • Manage webhooks: Maintainer+

Webhook Events

EventFlagDescription
Pushpush_eventsCode pushed to repository
Tagtag_push_eventsTags created/deleted
Merge Requestmerge_requests_eventsMR created/updated/merged
Issuesissues_eventsIssue created/updated/closed
Notesnote_eventsComments on MRs/issues/commits
Confidential Notesconfidential_note_eventsConfidential comments
Jobjob_eventsCI job status changes
Pipelinepipeline_eventsPipeline status changes
Deploymentdeployment_eventsDeployment status changes
Wikiwiki_page_eventsWiki pages created/updated
Releasesreleases_eventsReleases created

Available Commands

List Webhooks

# List project webhooks
glab api projects/123/hooks --method GET

# List with pagination
glab api projects/123/hooks --paginate

# List group webhooks (Premium)
glab api groups/456/hooks --method GET

# Using project path
glab api "projects/$(echo 'mygroup/myproject' | jq -Rr @uri)/hooks"

Get Webhook Details

# Get specific webhook
glab api projects/123/hooks/789 --method GET

Create Webhook

# Basic webhook for push events
glab api projects/123/hooks --method POST \
  -f url="https://example.com/webhook" \
  -f push_events=true

# Webhook for MR and pipeline events
glab api projects/123/hooks --method POST \
  -f url="https://example.com/webhook" \
  -f push_events=false \
  -f merge_requests_events=true \
  -f pipeline_events=true

# Webhook with secret token
glab api projects/123/hooks --method POST \
  -f url="https://example.com/webhook" \
  -f push_events=true \
  -f token="my-secret-token" \
  -f enable_ssl_verification=true

# Full-featured webhook
glab api projects/123/hooks --method POST \
  -f url="https://example.com/webhook" \
  -f push_events=true \
  -f tag_push_events=true \
  -f merge_requests_events=true \
  -f issues_events=true \
  -f note_events=true \
  -f pipeline_events=true \
  -f job_events=true \
  -f token="secret" \
  -f enable_ssl_verification=true

# Webhook for specific branches only
glab api projects/123/hooks --method POST \
  -f url="https://example.com/webhook" \
  -f push_events=true \
  -f push_events_branch_filter="main"

Update Webhook

# Update URL
glab api projects/123/hooks/789 --method PUT \
  -f url="https://new-url.com/webhook"

# Enable additional events
glab api projects/123/hooks/789 --method PUT \
  -f pipeline_events=true \
  -f job_events=true

# Disable event
glab api projects/123/hooks/789 --method PUT \
  -f push_events=false

# Update secret token
glab api projects/123/hooks/789 --method PUT \
  -f token="new-secret-token"

# Change SSL verification
glab api projects/123/hooks/789 --method PUT \
  -f enable_ssl_verification=false

Delete Webhook

# Delete webhook
glab api projects/123/hooks/789 --method DELETE

Test Webhook

# Test push event
glab api projects/123/hooks/789/test/push_events --method POST

# Test MR event
glab api projects/123/hooks/789/test/merge_requests_events --method POST

# Test tag push event
glab api projects/123/hooks/789/test/tag_push_events --method POST

# Test note event
glab api projects/123/hooks/789/test/note_events --method POST

# Test issues event
glab api projects/123/hooks/789/test/issues_events --method POST

Webhook Configuration Options

OptionTypeDescription
urlstringWebhook endpoint URL (required)
tokenstringSecret token for validation
push_eventsbooleanTrigger on push
push_events_branch_filterstringBranch filter for push events
tag_push_eventsbooleanTrigger on tag push
merge_requests_eventsbooleanTrigger on MR events
issues_eventsbooleanTrigger on issue events
confidential_issues_eventsbooleanTrigger on confidential issues
note_eventsbooleanTrigger on comments
confidential_note_eventsbooleanTrigger on confidential notes
pipeline_eventsbooleanTrigger on pipeline events
job_eventsbooleanTrigger on job events
deployment_eventsbooleanTrigger on deployments
wiki_page_eventsbooleanTrigger on wiki changes
releases_eventsbooleanTrigger on releases
enable_ssl_verificationbooleanVerify SSL certificate

Common Workflows

Workflow 1: Set Up Slack Notifications

# Create webhook for Slack
glab api projects/123/hooks --method POST \
  -f url="https://hooks.slack.com/services/T00/B00/XXX" \
  -f push_events=true \
  -f merge_requests_events=true \
  -f pipeline_events=true \
  -f enable_ssl_verification=true

Workflow 2: Set Up CI Trigger

# Webhook to trigger external CI
glab api projects/123/hooks --method POST \
  -f url="https://ci.example.com/trigger" \
  -f push_events=true \
  -f tag_push_events=true \
  -f token="ci-trigger-token" \
  -f push_events_branch_filter="main"

Workflow 3: Audit All Webhooks

# List all webhooks with details
glab api projects/123/hooks --paginate | \
  jq -r '.[] | "ID: \(.id)\n  URL: \(.url)\n  Events: push=\(.push_events), mr=\(.merge_requests_events), pipeline=\(.pipeline_events)\n  SSL: \(.enable_ssl_verification)\n"'

Workflow 4: Migrate Webhook to New URL

# 1. Get current webhook config
glab api projects/123/hooks/789 | jq

# 2. Update URL
glab api projects/123/hooks/789 --method PUT \
  -f url="https://new-service.example.com/webhook"

# 3. Test the webhook
glab api projects/123/hooks/789/test/push_events --method POST

Workflow 5: Set Up Deployment Notifications

# Webhook for deployment events only
glab api projects/123/hooks --method POST \
  -f url="https://deploy-tracker.example.com/webhook" \
  -f push_events=false \
  -f deployment_events=true \
  -f token="deploy-secret"

Workflow 6: Disable All Non-Essential Events

hook_id=789

# Keep only push and MR events
glab api projects/123/hooks/$hook_id --method PUT \
  -f push_events=true \
  -f merge_requests_events=true \
  -f tag_push_events=false \
  -f issues_events=false \
  -f note_events=false \
  -f job_events=false \
  -f pipeline_events=false

Webhook Payload

GitLab sends JSON payloads with event data. Key fields:

Push Event Payload

{
  "object_kind": "push",
  "ref": "refs/heads/main",
  "before": "abc123...",
  "after": "def456...",
  "commits": [...],
  "project": {...}
}

MR Event Payload

{
  "object_kind": "merge_request",
  "event_type": "merge_request",
  "object_attributes": {
    "iid": 1,
    "title": "...",
    "state": "opened",
    "action": "open"
  }
}

Validating Webhooks

Use the secret token to validate webhook authenticity:

# In your webhook handler, verify the X-Gitlab-Token header
# matches the token you configured

Troubleshooting

IssueCauseSolution
Webhook not firingEvent not enabledCheck event flags
403 ForbiddenNot maintainerNeed Maintainer+ role
SSL verification failedInvalid certificateUse enable_ssl_verification=false or fix cert
Webhook URL unreachableNetwork/firewall issueVerify URL is accessible from GitLab
Test returns errorEndpoint errorCheck your webhook handler logs
Too many requestsWebhook loopVerify handler doesn't trigger events

Best Practices

  1. Use HTTPS: Always use secure URLs for webhooks
  2. Set secret token: Validate webhooks with a secret token
  3. Enable only needed events: Reduce noise and processing
  4. Handle failures gracefully: GitLab retries failed deliveries
  5. Monitor webhook health: Check recent deliveries in GitLab UI
  6. Use branch filters: Limit push events to relevant branches

Related Documentation

平台分布

Codex

34.54%
按下载量换算217

Claude

31.64%
按下载量换算199

Cursor

19.41%
按下载量换算122

Gemini CLI

9.92%
按下载量换算62

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills