ClawSkills logoClawSkills

Gitlab

使用 `glab` CLI 与 GitLab 交互。当 Claude 需要处理 GitLab 合并请求、CI/CD 管道、问题、发布或发出 API 请求时使用。Su

介绍

# GitLab Skill

使用 `glab` CLI 与 GitLab 进行交互。当不在 git 目录中时,请指定 `--repo owner/repo` 或 `--repo group/namespace/repo`。同时也接受完整的 URL。

## 合并请求

列出开放的合并请求:

```bash glab mr list --repo owner/repo ```

查看 MR 详情:

```bash glab mr view 55 --repo owner/repo ```

从当前分支创建 MR:

```bash glab mr create --fill --target-branch main ```

批准、合并或检出:

```bash glab mr approve 55 glab mr merge 55 glab mr checkout 55 ```

查看 MR 差异:

```bash glab mr diff 55 ```

## CI/CD 流水线

检查当前分支的流水线状态:

```bash glab ci status ```

以交互方式查看流水线(浏览作业、查看日志):

```bash glab ci view ```

列出最近的流水线:

```bash glab ci list --repo owner/repo ```

实时追踪作业日志:

```bash glab ci trace glab ci trace 224356863 # specific job ID glab ci trace lint # by job name ```

重试失败的流水线:

```bash glab ci retry ```

验证 `.gitlab-ci.yml`:

```bash glab ci lint ```

## 议题

列出和查看议题:

```bash glab issue list --repo owner/repo glab issue view 42 ```

创建议题:

```bash glab issue create --title "Bug report" --label bug ```

添加评论:

```bash glab issue note 42 -m "This is fixed in !55" ```

## 高级查询 API

使用 `glab api` 调用子命令未覆盖的端点。支持 REST 和 GraphQL。

获取项目发布:

```bash glab api projects/:fullpath/releases ```

获取包含特定字段的 MR(通过管道传递给 jq):

```bash glab api projects/owner/repo/merge_requests/55 | jq '.title, .state, .author.username' ```

分页浏览所有议题:

```bash glab api issues --paginate ```

GraphQL 查询:

```bash glab api graphql -f query=' query { currentUser { username } } ' ```

## JSON 输出

通过管道传递给 `jq` 进行过滤:

```bash glab mr list --repo owner/repo | jq -r '.[] | "\(.iid): \(.title)"' ```

## 变量和发布

管理 CI/CD 变量:

```bash glab variable list glab variable set MY_VAR "value" glab variable get MY_VAR ```

创建发布:

```bash glab release create v1.0.0 --notes "Release notes here" ```

## 与 GitHub CLI 的主要区别

| 概念 | GitHub (`gh`) | GitLab (`glab`) | | ------------------------- | ------------- | -------------------------------------- | | Pull/Merge Request | `gh pr` | `glab mr` | | CI runs | `gh run` | `glab ci` | | 仓库路径格式 | `owner/repo` | `owner/repo` 或 `group/namespace/repo` | | 交互式流水线查看 | N/A | `glab ci view` |

更多产品