用途:该技能用于通过 glab api 调用 GitLab 的 raw 搜索端点,在全局、群组或项目范围内查找资源。适用场景包括跨 GitLab 搜索、查找议题/合并请求/代码/提交,以及用户提到 search、find、query、look for、where is、which project has、find all 等意图时。
主要能力:支持多种搜索范围(scope),包括 projects、issues、merge_requests、milestones、snippet_titles、wiki_blobs、commits、blobs、notes、users。可按全局、群组、项目三个层级调用,例如 glab api "search?scope=issues&search=..."、glab api "projects/123/search?scope=blobs&search=..."、glab api "groups/456/search?scope=issues&search=..."。支持分页参数 per_page、page 以及 --paginate 自动翻页。支持高级搜索语法,如精确短语(URL 编码引号)、filename:、extension:、path: 过滤。可结合 jq 提取字段、统计数量或按项目分组。
使用方式:需具备 read_api 或 api 令牌权限,搜索结果仅限当前认证用户可访问的资源。命令示例:glab api "search?scope=projects&search=api+gateway" --method GET。项目路径可用 jq 进行 URL 编码,如 glab api "projects/$(echo 'mygroup/myproject' | jq -Rr @uri)/search?scope=blobs&search=TODO"。
限制:基础搜索仅检索标题与描述,代码搜索需要启用高级搜索(Elasticsearch);结果受访问权限限制;大规模搜索受速率限制;空结果可能因无匹配或无权限;400 错误通常为 scope 无效;结果不完整时需使用 --paginate。该技能不用于列出全部条目、已知精确 ID 的查询或本地文件搜索。