From 5a19ebed67f6180d81f810efc43cf92c8e489556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Thu, 21 Aug 2025 22:35:27 +0800 Subject: [PATCH] Add run ID parameter to API trigger for enhanced build requests --- .cnb.yml | 3 ++- .github/workflows/cnb_trigger.py | 16 ++++++++++++---- .github/workflows/publish.yml | 3 ++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.cnb.yml b/.cnb.yml index 96bf796e..2cc869dd 100644 --- a/.cnb.yml +++ b/.cnb.yml @@ -20,7 +20,8 @@ main: stages: - name: API触发上传 script: | + echo run id: $RUN_ID cd .github/workflows pip install -r requirements.txt - python github_download_and_cnb_upload.py --cnb-token $CNB_TOKEN --github-token $GITHUB_TOKEN + python github_download_and_cnb_upload.py --cnb-token $CNB_TOKEN --github-token $GITHUB_TOKEN --run-id $RUN_ID echo api done! \ No newline at end of file diff --git a/.github/workflows/cnb_trigger.py b/.github/workflows/cnb_trigger.py index f8f8d46b..bef6587f 100644 --- a/.github/workflows/cnb_trigger.py +++ b/.github/workflows/cnb_trigger.py @@ -10,7 +10,7 @@ import json import sys import argparse -def trigger_build(token, branch="main", event="api_trigger_one"): +def trigger_build(token, branch="main", event="api_trigger_one", runid=None): """ 触发构建请求 @@ -18,6 +18,7 @@ def trigger_build(token, branch="main", event="api_trigger_one"): token (str): 授权token branch (str): 分支名称,默认为main event (str): 事件类型,默认为api_trigger_one + runid (str): 运行ID,可选参数 Returns: dict: API响应结果 @@ -37,11 +38,17 @@ def trigger_build(token, branch="main", event="api_trigger_one"): "event": event } + # 如果提供了runid,则添加到env中 + if runid: + data["env"] = { + "RUN_ID": runid + } + try: print(f"正在发起构建请求...") print(f"URL: {url}") - print(f"分支: {branch}") - print(f"事件: {event}") + + print(f"请求体: {json.dumps(data, indent=2, ensure_ascii=False)}") response = requests.post(url, headers=headers, json=data) @@ -70,6 +77,7 @@ def main(): parser.add_argument("token", help="授权token") parser.add_argument("--branch", default="main", help="分支名称 (默认: main)") parser.add_argument("--event", default="api_trigger_one", help="事件类型 (默认: api_trigger_one)") + parser.add_argument("--runid", help="运行ID (可选)") args = parser.parse_args() @@ -77,7 +85,7 @@ def main(): print("错误: 必须提供token参数") sys.exit(1) - result = trigger_build(args.token, args.branch, args.event) + result = trigger_build(args.token, args.branch, args.event, args.runid) if result is None: sys.exit(1) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e2e844f8..eb04b7be 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -559,4 +559,5 @@ jobs: env: CNB_TOKEN: ${{ secrets.CNB_TOKEN }} run: | - python .github/workflows/cnb_trigger.py "$CNB_TOKEN" + python .github/workflows/cnb_trigger.py "$CNB_TOKEN" --runid ${{ github.run_id }} +