返回全部 Skills

glab-glql

开发工具

使用glab CLI针对GitLab项目和组执行GLQL查询

0

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add https://gitlab.com/gitlab-org/ai/skills --skill glab-glql

skill.md

name: glab-glql
description: 使用glab CLI针对GitLab项目和组执行GLQL查询
version: 1.0.0
license: MIT
metadata:
    audience: developers
    author: dgruzd
    workflow: gitlab

GLQL 技能

通过 glab api 执行 GitLab 查询语言 (GLQL) 查询。

GLQL 可跨项目和群组查询问题、合并请求和史诗。

POST /api/v4/glql 在 GitLab 18.7 中引入。没有原生的 glab glql 子命令;

使用 glab api --method POST glql 作为透传。

基本用法

glab api --method POST glql \
  --raw-field 'glql_yaml=query: project = "group/project" AND state = opened'

YAML 格式(推荐)

使用 --raw-field 传递多行 YAML 字符串。所有选项都在同一个 glql_yaml 值中:

glab api --method POST glql \
  --raw-field 'glql_yaml=fields: id,title,state,author
project: gitlab-org/gitlab
limit: 5
sort: created desc
query: assignee = currentUser() AND state = opened'

配置选项

选项必需描述
queryGLQL 过滤表达式
fields要返回的字段,逗号分隔。默认:title
project限定为 group/project。不能与 group 同时使用
group限定为群组 slug。不能与 project 同时使用
limit1-100。默认:100
sort`字段 ascdesc(例如 created descdue ascmerged desc`)

作用域

# 项目作用域
--raw-field 'glql_yaml=fields: id,title,assignees
project: gitlab-org/gitlab
limit: 10
query: state = opened AND assignee = currentUser()'

# 群组作用域——必须添加收窄过滤条件,否则在大型群组上会超时
--raw-field 'glql_yaml=fields: id,title,state
group: gitlab-org
limit: 10
query: state = opened AND assignee = currentUser()'

参考链接

  • [查询字段与操作符](references/query-reference.md) —— 过滤器、操作符、日期语法
  • [输出字段、jq 模式、分页](references/output-reference.md) —— 响应结构、jq 代码片段