Jenkins 技能

Jenkins Skills 让你通过一个专用的 Python CLI 管理 Jenkins 作业和构建,该工具由 Jenkins Remote API 提供支持。

weiguang1017
2026年10月11日
0 收藏
2,527 下载

安装与下载

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压缩包。

下载技能 (.zip)

基本信息

名称 Jenkins 技能
Slug jenkins-ci-skill
创建者 weiguang1017
创建时间 2026-10-11 05:35:02
更新时间 2026-10-11 05:35:02
收藏数 0
使用量 2,527
浏览量 5

安装指南

  1. ClawHub CLI 从源直接安装技能的最快方式。
    npx clawhub@latest install jenkins-ci-skill
  2. 手动安装 将技能文件夹复制到以下位置之一
    全局模式
    ~/.openclaw/skills/
    工作区
    /skills/
    优先级:工作区 > 本地 > 内置
  3. 提示词安装 将此提示词复制到 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 技能

Jira Skills