From ed89db94a0a58a0e6e0c8cbf74079fbf91c7d19d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=98=8C?= <392871505@qq.com> Date: Tue, 7 Jul 2026 18:20:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B4=A8=E9=87=8F=E9=97=A8=E7=A6=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20CI=5FCONFIRMED=20=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 由于 DevOps/建木 API 未在 CLI 中完整实现,自动 CI 检测无法获取流水线状态。 添加 CI_CONFIRMED=true 环境变量,允许用户手动确认 CI 已通过。: Co-Authored-By: Claude --- shortcuts/ci/ci.go | 4 ++++ .../scripts/04-quality-gate-decision.sh | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/shortcuts/ci/ci.go b/shortcuts/ci/ci.go index 9a755af..a201657 100644 --- a/shortcuts/ci/ci.go +++ b/shortcuts/ci/ci.go @@ -365,6 +365,7 @@ Prompts for confirmation before stopping the build.`, Flags: []common.Flag{ {Name: "page", Short: "p", Usage: "Page number", Default: "1"}, {Name: "limit", Short: "l", Usage: "Items per page", Default: "20"}, + {Name: "name", Short: "n", Usage: "Pipeline name (optional)"}, }, Run: func(ctx *common.RuntimeContext) error { if err := ctx.ResolveOwnerRepo(); err != nil { @@ -373,6 +374,9 @@ Prompts for confirmation before stopping the build.`, q := url.Values{} q.Set("page", ctx.Arg("page")) q.Set("limit", ctx.Arg("limit")) + if n := ctx.Arg("name"); n != "" { + q.Set("name", n) + } env, err := ctx.CallAPIWithQuery("GET", fmt.Sprintf("/v1%s/pipelines/run_results", ctx.RepoPath()), q) if err != nil { return err diff --git a/skills/gitlink-quality-gate/scripts/04-quality-gate-decision.sh b/skills/gitlink-quality-gate/scripts/04-quality-gate-decision.sh index 18e84cb..2211e14 100644 --- a/skills/gitlink-quality-gate/scripts/04-quality-gate-decision.sh +++ b/skills/gitlink-quality-gate/scripts/04-quality-gate-decision.sh @@ -47,6 +47,18 @@ if [ -f "$CI_FILE" ]; then CI_STATUS_TEXT=$(cat "$CI_FILE") fi +# 如果 CLI 无法检测 CI 状态,允许手动确认 +if [ "$CI_STATUS_TEXT" = "unknown" ]; then + echo "[INFO] CLI 无法自动检测 DevOps 流水线状态" + echo "[INFO] 如果 DevOps 流水线已成功运行,可设置环境变量:" + echo " export CI_CONFIRMED=true" + echo "" + if [ "$CI_CONFIRMED" = "true" ]; then + echo "[INFO] 检测到 CI_CONFIRMED=true,视为 CI 已通过(手动确认)" + CI_STATUS_TEXT="passing" + fi +fi + # 占位评分(AI 在实际运行时计算填充) CODE_REVIEW_SCORE=85 CI_STATUS=100