Token导航 LogoToken导航TokenDH.com
开发敏感数据github未标认证来源可访问许可证需确认审计异常

gitlab-webhookGitLab webhook 开发

Agent Skill

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

总安装

2,002

周安装

81

GitHub Stars

1

下载量

629
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 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

简介

用于围绕 GitLab 项目、合并请求、Issue、分支和流水线提供辅助能力。

  • 适合查询项目状态、整理提交差异、检查合并请求或汇总 CI 结果。
  • 通过命令行安装并配置访问 token 后,支持对 Webhook 的配置与管理。
  • 涉及合并、推送或改工单时,应先预览影响并核对团队流程。
  • gitlab-webhook 属于开发类 Skill,可作为该场景下的辅助能力补充。

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

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

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、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills