用途:通过 glab api 调用 GitLab 徽章接口,管理项目或群组徽章,常用于在 README 中展示流水线状态、覆盖率、发布版本等指示器。
主要能力:列出项目徽章(glab api projects/:id/badges)、查看单个徽章、创建徽章(POST)、更新徽章(PUT)、删除徽章(DELETE)、预览渲染(projects/:id/badges/render),以及列出群组徽章(groups/:id/badges)。支持 GitLab 占位符,如 %{project_path}、%{project_id}、%{project_name}、%{project_namespace}、%{default_branch}、%{commit_sha},便于徽章在不同项目间复用。
使用方式:需 api 令牌作用域;读取徽章需 Reporter 及以上,管理徽章需 Maintainer 及以上。创建示例:glab api projects/123/badges --method POST -f link_url="https://gitlab.com/%{project_path}/-/pipelines" -f image_url="https://gitlab.com/%{project_path}/badges/%{default_branch}/pipeline.svg"。也可用 jq 从徽章列表生成 README Markdown,或在项目间复制徽章配置。
适用场景:为项目添加流水线、覆盖率、发布徽章;使用 shields.io 添加许可证、版本、维护状态等自定义徽章;审计或批量替换徽章。
限制:创建、更新、删除属于有风险操作;徽章不显示通常因 URL 错误,403 表示权限不足,占位符需用 %{...} 格式,覆盖率显示 unknown 需 CI 输出覆盖率报告,流水线徽章可能受缓存影响。该技能不用于议题/MR 标签、流水线状态查询或项目设置。