用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MQjehovah/agent --skill jenkins命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
月度经营复盘。适用于"XX月经营情况 / 经营分析 / 经营报告 / 月度复盘"类任务。固化已验证可用的批量 SQL 查询集与报告模板,一次并行查完、直接出报告,禁止自由探索数据库。
产品经营分析。分析销售、采购、库存、成本、现金流、生产等业务数据并生成报告。已按数字中台真实数据库校准:明确标注哪些指标数据库能算、哪些无数据源不得编造,每个维度附可用 SQL。
严格 Prove-It 测试驱动开发模式。先写失败测试,证明它失败,再写代码,证明它通过,最后重构。
基于 SOC 职业分类
正在显示 SKILL.md
| name | jenkins |
| description | jenkins操作技能,通过 Jenkins API 进行作业管理、构建触发、构建监控等运维操作。 |
适用场景: 通过 Jenkins API 进行作业管理、构建触发、构建监控等运维操作。
获取所有作业列表:
curl -u [username]:[password or token]http://cloudci.xzrobot.com/api/json?pretty=true
http://cloudci.xzrobot.com/api/json?pretty=truehttp://cloudci.xzrobot.com/job/JOBNAME/api/json?pretty=truehttp://cloudci.xzrobot.com/job/JOBNAME/lastBuild/api/json?pretty=truehttp://cloudci.xzrobot.com/job/JOBNAME/lastStableBuild/api/json?pretty=truehttp://cloudci.xzrobot.com/job/JOBNAME/lastSuccessfulBuild/api/json?pretty=truehttp://cloudci.xzrobot.com/job/JOBNAME/lastFailedBuild/api/json?pretty=true
curl -u [username]:[password or token] http://cloudci.xzrobot.com/queue/api/json?pretty=true
curl -u [username]:[password or token] http://cloudci.xzrobot.com/job/JOBNAME/lastBuild/buildNumber
获取 Crumb:
curl -s -f -u "[username]:[password or token]" \
--cookie-jar cookie.jar \
-s http://cloudci.xzrobot.com/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,%22:%22,//crumb)
无参构建:
curl -u [username]:[password or token] \
http://cloudci.xzrobot.com/job/JOBNAME/build \
-X POST -H "Jenkins-Crumb:<CRUMB>"
有参构建:
curl -u [username]:[password or token] \
http://cloudci.xzrobot.com/job/JOBNAME/buildWithParameters \
-X POST -H "Jenkins-Crumb:<CRUMB>" \
--data-urlencode json='{"param1":"value1","param2":"value2"}'
通过 POST Body 触发:
curl -u [username]:[password or token] \
http://cloudci.xzrobot.com/job/ROBOT_JENKINS_TEST/api/json?tree="lastBuild[buildNumber]" \
-X POST -H "Jenkins-Crumb:<CRUMB>" \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'json={"parameter":[
{"name":"ENVIRONMENT","value":"test"},
{"name":"BRANCH","value":"master"}
]}'
curl -u [username]:[password or token] \
http://cloudci.xzrobot.com/job/JOBNAME/BUILD_ID/logText/progressiveText?start=0
from jenkinsapi.jenkins import Jenkins
class JenkinsClient:
def __init__(self):
self.jenkins = Jenkins(
'http://cloudci.xzrobot.com',
username='[username]',
password='[password or token]',
use_crumb=True
)
def get_all_jobs(self):
"""获取所有作业"""
return self.jenkins.get_jobs_info()
def get_job_info(self, job_name):
"""获取作业信息"""
job = self.jenkins.get_job(job_name)
return {
'last_build': job.get_last_build().__str__(),
'last_completed': job.get_last_completed_build().__str__(),
'last_good': job.get_last_good_build().__str__(),
'last_failed': job.get_last_failed_buildnumber(),
'is_running': job.is_queued_or_running()
}
def trigger_build(self, job_name, params=None):
"""触发构建"""
if params:
self.jenkins.build_job(job_name, params=params)
else:
self.jenkins.build_job(job_name)
def get_build_info(self, job_name, build_id=None):
"""获取构建信息"""
job = .jenkins.get_job(job_name)
build_id:
build = job.get_build(build_id)
{
: build.get_timestamp(),
: build.get_console(),
: build.get_params(),
: build.get_status(),
: build.get_changeset_items()
}
client = JenkinsClient()
client.trigger_build(, {: , : })
待触发: 构建ID需要从 lastBuild/buildNumber 获取后再查询日志
运行中: is_queued_or_running() 返回 True
成功: 构建状态为 SUCCESS
失败: 构建状态为 FAILURE