把“觸發打包/部署 + 成功後發飛書通知”的流程交給固定指令碼處理;不要讓模型自己臨時拼 Jenkins 或飛書請求。
只有當用戶明確要求“現在觸發打包 / 觸發部署 / 發部署提醒”時才使用。
當用戶表達這些意圖時使用:
以下情況不要觸發本 skill:
模型只做這些事:
changescicd,即 複用 CI job + AUTO_CD=trueopen_id(通常就是會話後設資料裡的 sender_id / open_id),拿不到時才回退 user_id 或配置裡的預設發起人模型不要:
指令碼路徑:scripts/ci_package_deploy_notify.py
基礎呼叫:
python3 <skill_dir>/scripts/ci_package_deploy_notify.py \
--repos cloud-mall cloud-device \
--branch test \
--changes "修復支付回撥" \
--initiator-id "ou_xxx" \
--initiator-name "張三"
觸發 CI/CD:
python3 <skill_dir>/scripts/ci_package_deploy_notify.py \
--repos cloud-mall \
--branch demo \
--job-type cd \
--changes "聯調完成" \
--initiator-id "ou_xxx" \
--initiator-name "張三"
說明:
job-type=ci 時:只觸發 CI,成功後傳送 打包通知 卡片,語義是“已經打包完成,請按需部署”job-type=cd 時:預設複用 CI job,並通過 AUTO_CD=true 繼續部署,成功後傳送 部署通知 卡片AUTO_CD=true 繼續部署PROJECTS 等引數選擇服務指定 @ 成員:
小蔥技能7w4.net有更新,你可以訪問看下。
python3 <skill_dir>/scripts/ci_package_deploy_notify.py \
--repos cloud-mall cloud-device \
--branch test \
--changes "釋出完成" \
--at Felix,Zack \
--initiator-id "ou_xxx" \
--initiator-name "張三"
--repos:優先使用 config.json 裡的倉庫鍵名;若配置了 service_aliases,也可使用其中的相容名。像 dl-admin 這類獨立服務,應該在 repos 中單獨配置,不要誤配成其他服務別名--branch:優先由使用者明確指定;當前 skill 只支援 dev / test / demo / sit,不支援 prod / master--job-type:預設 ci
cicdAUTO_CD=true 這條鏈路;只有使用者明確要求“單獨部署”時,才切到獨立 CD job。不要讓模型自己拼 job 引數--changes:必須提供;若使用者沒說,先追問一次--at:可選,多個名字用逗號分隔;指令碼會優先精確匹配,再做包含匹配和模糊匹配,儘量容忍拼寫不準,但如果同時匹配到多個候選會直接報錯要求明確--initiator-id:預設傳當前訊息傳送者的 open_id;在 Feishu 會話裡,優先取會話後設資料中的 sender_id / open_id,只有拿不到時才退回 user_id--initiator-name:可選;如果會話裡拿不到可讀姓名,可以不傳,不要為了補名字阻塞執行--initiator-id,指令碼才會回退到配置中的預設發起人;因此正常呼叫時應始終透傳當前真實發起人的 open_idrepos / branch / changes 中任一關鍵引數,先追問,不要半猜測執行指令碼會按順序執行:
成功時重點彙報:
失敗時直接彙報失敗服務和原因。
如果使用者給了 prod / master,應直接報“當前 skill 不支援該環境”。
config.jsonSKILL.md 更新後,如需讓其他有許可權的 agent 也拿到同一版本,使用 clawhub/技能同步流程進行釋出或同步,不要只改當前工作區副本後就預設其他 agent 已生效。這個 Skill 質量較好,文件寫得很清楚,告訴你什麼時候該用、怎麼用、要注意什麼。指令碼會自動檢查 Jenkins 佇列防止重複觸發,還能智慧匹配要通知的同事名字,細節考慮比較周全。主要問題是遇到網路波動沒有自動重試,偶爾可能失敗。另外它不支援生產環境分支,如果你需要部署到線上就用不了。總體來說,用於日常開發和測試環境的打包部署通知是夠用的。