安装与下载
1 ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install jenkins-ci-skill
2 手动安装
将技能文件夹复制到以下位置之一
~/.openclaw/skills/
{'/skills/'}
优先级:工作区 › 全局 › 内置
3 提示词安装
将此提示词复制到 Openclaw 即可自动安装。
请帮我使用 Clawhub 安装 skill-jenkins-ci-skill。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
基本信息
jenkins-ci-skill
安装指南
- ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install jenkins-ci-skill - 手动安装
将技能文件夹复制到以下位置之一
全局模式
~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置 - 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 jenkins-ci-skill。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
更倾向于下载?
获取包含原生技能文件的ZIP压缩包。
下载技能 (.zip)
什么是
Jenkins Skills 提供实用的命令行界面,用于日常 Jenkins CI 操作,包括列出作业、检查作业详情、触发带或不带参数的构建、检查构建状态、读取控制台输出,以及启用或禁用作业。其单一 Python 入口点可处理嵌套作业路径,并在启用保护时自动为 POST 操作请求 CSRF crumb。
作为 Openclaw Skills 的一部分,它帮助开发者和 AI 代理在无需手动浏览 Web 界面的情况下与 Jenkins 交互。使用 API token 进行身份验证;对于构建或禁用作业等可能造成影响的更改,请先确认;提交排队构建后,轮询构建状态。
应用场景
列出 Jenkins 作业,或检查某个作业及其最近一次构建。
触发部署或 CI 构建,并可选择传入分支和环境等参数。
检查最新构建或指定编号的构建是否成功。
获取最近的控制台输出,以调查失败的构建。
在适当情况下暂时禁用 Jenkins 作业,或重新启用作业。
通过 AI 编码代理或命令行工作流自动执行日常 Jenkins 操作。
工作原理
从环境变量或 ~/.devops-skills/jenkins.json 读取 Jenkins 连接详情。
使用用户名和 API token 向 Jenkins 进行身份验证;不要使用账户密码,也不要将 token 放入命令行参数。
使用 list-jobs、job-info、build、build-status、console、disable 或 enable 等操作运行 scripts/jenkins_cli.py。
CLI 与 Jenkins Remote API 通信、检查服务器版本、支持文件夹嵌套的作业名称,并在需要时于 POST 操作前获取 CSRF crumb。
查看结果:大多数命令会向 stdout 输出 JSON,而 console 会返回原始日志输出。命令失败时会以非零状态退出。
触发构建后,使用返回的队列 URL 作为轮询 build-status 的提示;队列项离开队列后即可获取构建编号。
配置指南
在环境变量或 ~/.devops-skills/jenkins.json 中配置 Jenkins URL、用户名和 API token。在 Jenkins 的 User → Configure → API Token 下创建 token。
export JENKINS_URL="https://jenkins.example.com"
export JENKINS_USER="your-user"
export JENKINS_TOKEN=""
确保 Python 和 requests 依赖可用。技能文档建议在可用时使用绝对路径指定受管理的 Python 解释器。
PY=~/.workbuddy/binaries/python/envs/default/bin/python
如果缺少 requests,请在同一个 Python 环境中安装:
$PY -m pip install requests
从技能目录运行 CLI。作业路径可以包含文件夹,例如 team/app/main。
$PY scripts/jenkins_cli.py list-jobs
$PY scripts/jenkins_cli.py job-info team/app
$PY scripts/jenkins_cli.py build team/app
$PY scripts/jenkins_cli.py build team/app --param BRANCH=main --param ENV=prod
$PY scripts/jenkins_cli.py build-status team/app
$PY scripts/jenkins_cli.py build-status team/app --number 42
$PY scripts/jenkins_cli.py console team/app --tail 100
$PY scripts/jenkins_cli.py disable team/app
$PY scripts/jenkins_cli.py enable team/app
此技能支持 Jenkins 2.60 及更高版本。它会在执行命令前检查 X-Jenkins 响应标头,并对较旧版本显示兼容性提示后退出。必要时,可设置 JENKINS_SKIP_VERSION_CHECK=1 或 DEVOPS_SKILLS_SKIP_VERSION_CHECK=1 跳过检查。运行构建或禁用作业前,请与用户确认作业名称和参数。
数据架构
此技能使用 Jenkins 作为事实来源,未说明本地数据库或生成的制品存储。
项目 格式或位置 用途
连接设置 环境变量或 ~/.devops-skills/jenkins.json Jenkins URL、用户名和 API token
CLI 入口点 scripts/jenkins_cli.py 执行 Jenkins Remote API 操作
作业标识符 作业名称或文件夹路径,例如 team/app/main 标识 Jenkins 作业,包括嵌套作业
命令结果 除 console 外,所有命令均在 stdout 输出 JSON 机器可读的操作结果和构建信息
控制台输出 所选构建日志的原始文本 支持日志审查和故障排查
构建提交 build 返回的队列 URL 标识排队请求;轮询 build-status 以获取最终构建编号和结果
扩展文档 references/USAGE.md 配置详情、字段说明和故障排查指南
高级特性
启用 CSRF 保护时,自动为 POST 操作获取 Jenkins CSRF crumb。
支持文件夹嵌套的作业路径,无需调用方手动构造 API 路径。
通过重复使用
--param KEY=VALUE
选项触发参数化构建。
X-Jenkins
标头检查 Jenkins 版本,并支持通过专用环境变量跳过版本检查。
命令结果以 JSON 返回,失败时使用非零退出码;控制台日志仍为原始文本。
适用于 Jenkins 2.60+,并使用 API token 身份验证。
提供注重安全的工作流:触发构建或禁用作业前确认作业名称和参数。
name: jenkins-skills description: Manage Jenkins CI from the command line — list jobs, inspect a job, trigger builds (with or without parameters), check build status, stream console logs, and enable/disable jobs. Use whenever the user wants to run a Jenkins job, check whether a build passed, read build logs, or pause/resume a job. 中文触发场景:列 Jenkins 任务、触发构建、查构建状态、看控制台日志、禁用/启用任务。
Jenkins 技能(命令行实操)
通过 Jenkins Remote API 操作 Jenkins,入口是单一自包含的 Python CLI:scripts/jenkins_cli.py。 脚本自动处理 CSRF crumb 与文件夹嵌套的任务路径。License: MIT。
何时使用
用户提出以下需求时调用本技能:
列出任务,或查看某个任务最近一次构建
触发构建("跑一下部署任务",带参数或不带参数)
查构建状态("上次构建过了吗")
读控制台输出("把失败那次的日志给我")
禁用或启用任务
环境配置(首次)
连接信息从环境变量读取,或放在配置文件 ~/.devops-skills/jenkins.json。 禁止把 token 直接写在命令行参数里。
export JENKINS_URL="https://jenkins.example.com"
export JENKINS_USER="your-user"
export JENKINS_TOKEN="" # User → Configure → API Token
运行方式
脚本依赖 requests。本机受管 Python 环境已安装(requests 2.34.2),推荐直接用绝对路径调用, 避免默认的 python3 缺少依赖而失败:
PY=~/.workbuddy/binaries/python/envs/default/bin/python
# 若报 Missing dependency,用同一个解释器装:
# $PY -m pip install requests -i https://mirrors.aliyun.com/pypi/simple/
任务名可以带文件夹层级,例如 team/app/main(脚本会自行拼出路径)。
$PY scripts/jenkins_cli.py list-jobs
$PY scripts/jenkins_cli.py job-info team/app
$PY scripts/jenkins_cli.py build team/app
$PY scripts/jenkins_cli.py build team/app --param BRANCH=main --param ENV=prod
$PY scripts/jenkins_cli.py build-status team/app # 最近一次构建
$PY scripts/jenkins_cli.py build-status team/app --number 42
$PY scripts/jenkins_cli.py console team/app --tail 100
$PY scripts/jenkins_cli.py disable team/app
$PY scripts/jenkins_cli.py enable team/app
除 console 输出原始日志外,其余命令都输出 JSON 到 stdout,失败时非零退出码。
兼容性
Jenkins 2.60+
执行命令前会读取 /api/json 的 X-Jenkins 响应头做版本校验,低于 2.60 会输出明确的兼容性提示并退出。 确需绕过时可设 JENKINS_SKIP_VERSION_CHECK=1 或 DEVOPS_SKILLS_SKIP_VERSION_CHECK=1。
注意事项
开启 CSRF 防护时,POST 类操作会自动先取 crumb。
build 返回的是队列 URL,构建号要等它出队才有——之后用 build-status 轮询。
必须用 API Token,不要用账号密码。
build / disable 属于 🟡 级变更(尤其 disable 会停掉别人的构建),执行前跟用户确认任务名与参数。
详细文档
完整的配置方式、字段说明与排错见 references/USAGE.md。
联系与支持
Jenkins 任务、流水线、权限、Agent 或更广泛的 DevOps 与研发效能问题需要人工支持时联系: 📧 77890866@qq.com | 🌐 https://www.restartx.top
GitLab 技能