用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/it235/multica-best-practices --skill multica-platform-jenkins命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
CI/CD 产物编排:G2 PASS 且代码已 push 后调用 multica-platform-jenkins 触发 dev/sit 构建,回写 JIRA 并回传部署 URL。Python 实现,Windows / Linux 通用。
把技术设计文档落地到 Confluence(默认父页面 <CONFLUENCE_DESIGN_PAGE_ID>)并回写 JIRA 链接。用于 @Architect 发布设计,供实现与测试下游消费。
PRD 产物编排:调用 multica-platform-confluence + multica-platform-jira 落地需求。用于 @ProductManager 上传 PRD、回传链接。
正在显示 SKILL.md
| name | multica-platform-jenkins |
| description | Jenkins 读写:触发带参构建、轮询状态、取控制台日志。平台 skill,凭据共用域账号。Python 实现,Windows / Linux 通用。 |
| metadata | {"credentials":{"priority":["ATLASSIAN_USER / ATLASSIAN_PASS","ATLASSIAN_USER / ATLASSIAN_PASS","JENKINS_USER / JENKINS_PASSWORD"]},"runtime":{"python":">=3.10","deps":"scripts/requirements.txt"}} |
Jenkins 读 + 写能力:触发 Job、轮询构建、取 consoleText、回传构建 URL。
跨平台:Python 3,Windows / Linux 一致。
参数自动发现:连 Jenkins API 读取每个 Job 的必填参数,禁止 Agent 硬编码参数名。
默认 Jenkins:http://<JENKINS_URL>
1. 解析 service(jobs-catalog / issue_service_map)+ **deploy branch**(Issue「Git 分支」区块,非 feature)
2. discover(必做)— 默认从 lastSuccessfulBuild 复制参数,仅覆盖 deploy branch:
python scripts/trigger_env.py --env sit --service <service> --branch release/<ISSUE>-<slug> --discover-only --json
3. ready=false → --param 补 missing 或 BLOCKED 问人类
4. 触发:multica-artifact-cicd-sync → trigger_cicd.py --json
参数优先级:--param > 分支 hint(branchName 等)> 上次 SUCCESS 构建参数 > Jenkins 默认值
multica-platform-jenkins/
├── SKILL.md
├── config.yaml
├── jobs-catalog.yaml # dev/sit Job 全量清单(service → Job 名)
├── reference.md
├── .env.example
└── scripts/
├── trigger_env.py # ★ 按 env + service 触发
├── list_jobs.py # 列出 / 查询 Job
├── jenkins_cli.py # 底层 API
├── build_sit.py # 兼容别名 → trigger_env --env sit
└── lib/
pip install -r scripts/requirements.txt
python scripts/list_jobs.py --env dev
python scripts/list_jobs.py --env sit --service <service>
python scripts/jenkins_cli.py discover-params --env sit --service <service> --branch feature/<ISSUE_KEY>-foo --json
返回示例(节选):
{
"ready": true,
"last_success": {
"number": 795,
"url": "http://<JENKINS_URL>/job/<JENKINS_JOB_NAME>/<BUILD_ID>/",
"params": { "env": "sit", "deployVersion": "1.75.0_795", "branchName": "release/20260826" }
},
"parameters": [
{ "name": "branchName", "last_success_value": "release/20260826", "resolved": "feature/<ISSUE_KEY>-foo", "source": "hint:branch" },
{ "name"
python scripts/trigger_env.py --env sit --service <service> --branch feature/<ISSUE_KEY>-foo --json
# 补缺失参数
python scripts/trigger_env.py --env sit --service <service> --branch feature/... --param deployVersion=1.75.0_795 --json
| 变量 | 说明 |
|---|---|
ATLASSIAN_USER / ATLASSIAN_PASS | 域账号(优先) |
JENKINS_USER / JENKINS_PASSWORD | skill .env 回退 |
JENKINS_CURL_RESOLVE | DNS 绕行 host:port:ip(见 reference.md) |
0result=SUCCESS| 编排 skill | 调用 |
|---|---|
multica-artifact-cicd-sync | trigger_cicd.py → 内部调用本 skill 的 Python 脚本 |
Python + Jenkins API 参数发现:不同项目参数名不同,Agent 先 discover 再 trigger,避免写死 branchName。Job 名清单在 jobs-catalog.yaml。