mcpField
G
gitlab-issue

gitlab-issue

github.com/grandcamel开发4103 次安装40 周前更新
代码仓库

关于 gitlab-issue

gitlab-issue 是使用 `glab` CLI 管理 GitLab Issue 的技能,支持查看、创建、更新、讨论和状态变更,适用于项目事项跟踪。

主要功能

  1. 01列出并查看 Issue
  2. 02创建和更新 Issue 详情
  3. 03关闭或重新打开 Issue
  4. 04添加评论并管理订阅

适用场景

  1. 01分诊未分配的 Issue
  2. 02创建详细的缺陷报告
  3. 03更新负责人、标签或里程碑
  4. 04评论 Issue 的处理进展

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/grandcamel/gitlab-assistant-skills --skill gitlab-issue

安装后在 Claude Code 中输入/gitlab-issue确认已加载。

详细介绍

Issue 技能

使用 glab CLI 执行 GitLab 的 Issue 操作。

快速参考

操作命令风险
列出 Issueglab issue list-
查看 Issueglab issue view <id>-
创建 Issueglab issue create⚠️
更新 Issueglab issue update <id>⚠️
关闭 Issueglab issue close <id>⚠️
重新打开 Issueglab issue reopen <id>⚠️
删除 Issueglab issue delete <id>⚠️⚠️
添加备注glab issue note <id>⚠️

风险说明:- 安全 | ⚠️ 谨慎 | ⚠️⚠️ 警告 | ⚠️⚠️⚠️ 危险

使用此技能的时机

始终在以下情况下使用:

  • 用户想要处理 Issue
  • 用户提到“issue”“bug”“task”“ticket”或相关术语
  • 用户想要跟踪或管理工作事项

以下情况下绝不要使用:

  • 用户想要对 10 个或更多 Issue 执行批量操作(改用 gitlab-bulk)
  • 用户只想搜索或筛选 Issue(改用 gitlab-search)

可用命令

列出 Issue
glab issue list [options]

选项:

标志说明
-a, --assignee=<user>按受派人筛选(使用 @me 表示自己)
--author=<user>按作者筛选
-l, --label=<labels>按逗号分隔的标签筛选
-m, --milestone=<milestone>按里程碑筛选
-s, --state=<state>按状态筛选:opened、closed、all(默认:opened)
-c, --closed仅获取已关闭的 Issue
--all获取所有 Issue
-P, --per-page=<n>每页的条目数
--confidential仅筛选机密 Issue
--search=<query>按标题/描述搜索 Issue

示例:

# List all open issues
glab issue list

# List issues assigned to you
glab issue list --assignee=@me

# List closed issues
glab issue list --closed

# List issues with specific label
glab issue list --label=bug

# List issues in a milestone
glab issue list --milestone="Release 1.0"

# Search issues
glab issue list --search="login bug"

# Get all issues (paginated)
glab issue list --all
查看 Issue 详情
glab issue view <id> [options]

选项:

标志说明
-w, --web在浏览器中打开 Issue
-c, --comments显示 Issue 评论
-s, --system-logs显示系统活动

示例:

# View issue in terminal
glab issue view 42

# Open issue in browser
glab issue view 42 --web

# View with comments
glab issue view 42 --comments
创建 Issue
glab issue create [options]

选项:

标志说明
-t, --title=<title>Issue 标题
-d, --description=<desc>Issue 描述
-a, --assignee=<users>逗号分隔的受派人
-l, --label=<labels>逗号分隔的标签
-m, --milestone=<milestone>里程碑标题
--confidential创建为机密 Issue
--weight=<n>Issue 权重(0-9)
-w, --web创建后在浏览器中打开
-y, --yes跳过确认提示

示例:

# Create issue with title
glab issue create -t "Fix login bug"

# Create issue with full details
glab issue create -t "Add dark mode" -d "Implement dark mode toggle" -l "enhancement,ui"

# Create issue with milestone and assignee
glab issue create -t "Release prep" -m "Release 2.0" -a "@me"

# Create confidential issue
glab issue create -t "Security vulnerability" --confidential

# Create and open in browser
glab issue create -t "New feature" --web
更新 Issue
glab issue update <id> [options]

选项:

标志说明
-t, --title=<title>更新标题
-d, --description=<desc>更新描述
-a, --assignee=<users>更新受派人
--unassign移除所有受派人
-l, --label=<labels>添加标签
--unlabel=<labels>移除标签
-m, --milestone=<milestone>设置里程碑
--confidential标记为机密
--public标记为公开
--lock-discussion锁定讨论
--unlock-discussion解锁讨论

示例:

# Update title
glab issue update 42 -t "Updated title"

# Add labels
glab issue update 42 -l "priority,reviewed"

# Remove labels
glab issue update 42 --unlabel="needs-review"

# Change assignee
glab issue update 42 -a "username"

# Add to milestone
glab issue update 42 -m "Sprint 5"
关闭/重新打开 Issue
# Close issue
glab issue close <id>

# Reopen issue
glab issue reopen <id>
删除 Issue
glab issue delete <id>

**警告:**这会永久删除该 Issue。请谨慎操作。

添加备注/评论
glab issue note <id> -m "<message>"

示例:

# Add comment
glab issue note 42 -m "Working on this now"

# Add closing comment
glab issue note 42 -m "Fixed in !123"
订阅/取消订阅
# Subscribe to issue notifications
glab issue subscribe <id>

# Unsubscribe
glab issue unsubscribe <id>

常见工作流

工作流 1:Issue 分类处理
# 1. List unassigned issues
glab issue list --assignee=""

# 2. View issue details
glab issue view 42

# 3. Assign and label
glab issue update 42 -a "developer" -l "bug,priority"
工作流 2:处理 Issue
# 1. Find assigned issues
glab issue list --assignee=@me

# 2. View details
glab issue view 42

# 3. Create branch and work
git checkout -b fix/issue-42

# 4. Add progress note
glab issue note 42 -m "Started work on this"

# 5. Close when MR is merged
glab issue close 42
工作流 3:快速报告 Bug
# Create issue with all details
glab issue create \
  -t "Login fails with special characters" \
  -d "Steps to reproduce:
1. Enter username with @ symbol
2. Click login
3. Error: 500

Expected: Login succeeds" \
  -l "bug,login"

故障排除

问题原因解决方案
身份验证失败令牌无效/已过期运行 glab auth login
未找到 IssueID 无效或无权访问使用 glab issue list 验证 ID
权限被拒绝权限不足检查项目权限
无法关闭Issue 已锁定请求维护者解锁

相关文档

评论

支持 Markdown