Jenkins
An open-source arsenal of reusable skills for AI agents — repo understanding, code review, delivery workflows, security pentests, and plug-and-play integrations with Jira, GitHub, GitLab, Jenkins & more. Drop into Claude Code, Codex, or any skill-aware host.
npx -y skills add yuelenghan/orbit --skill jenkinsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when the user needs Jenkins job, build, queue, controller-summary, or configuration operations. Make sure to use this skill whenever the user mentions Jenkins, job, build, queue, pipeline, 构建, 任务, or any Jenkins controller operation. Trigger phrases: '触发 Jenkins 构建', '查看 console', '列出 Jenkins job', '查看队列', '重跑 build', '参数化构建', 'folder-a/service-build'.
SKILL.md
11.6 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it
Jenkins Skill
Use this skill to operate Jenkins controllers through the packaged launcher and local CLI runtime.
Runtime and execution
Always run the packaged launcher through ${JENKINS_SKILL_DIR} so it works from the user's current working directory:
- macOS/Linux:
${JENKINS_SKILL_DIR}/bin/jenkins - Windows:
${JENKINS_SKILL_DIR}\bin\jenkins.cmd
${JENKINS_SKILL_DIR} is a documentation placeholder, not a guaranteed shell environment variable.
Do not execute ${JENKINS_SKILL_DIR}/bin/jenkins or ${JENKINS_SKILL_DIR}\bin\jenkins.cmd literally when the host has not resolved that placeholder.
Resolve BIN to a real launcher path once before the first CLI call.
When the host leaves the placeholder unresolved, first use the active installed skill directory for this pack or any host-provided installed skill directory when available. Only fall back to standalone workspace installs such as .claude/skills/jenkins/bin/jenkins or .Codex/skills/jenkins/bin/jenkins when the plugin-installed path is not available.
Do not call node dist/cli.js directly.
Do not start with version, doctor, or --help when the user already asked for a concrete Jenkins read or write task, unless the launcher itself is failing.
When exact command syntax is unclear, use the packaged launcher with <group> --help or <group> <action> --help before guessing flags.
The launcher first reuses a compatible system Node runtime when available (currently Node >= 20), and only downloads the required runtime into the local cache when the machine does not already have one.
Provider-specific caveats
You MUST run BIN config get before any job, build, queue, or system command. Do NOT offer the user a choice to skip the config step.
If that call returns ok: false, CONFIG_ERROR, or stored config was not found, stop the workflow and guide the user through config set before attempting any Jenkins business command.
Use BIN config set --base-url <URL> --user <USER> --token <API_TOKEN> for first-time setup.
Persisted config lives at ~/.config/jenkins-cli/config.json, following the same pattern as Bitbucket's ~/.config/bitbucket-cli/config.json.
After config set, rerun BIN config get, confirm it succeeds, and only then rerun the original Jenkins read or write command.
When config state is unknown, do not run config get in parallel with job, build, queue, or system commands.
Scope and boundaries
- Jenkins controller API only.
- CLI-mediated operations only.
- Do not call Jenkins REST endpoints directly from the skill layer.
- v1 authentication is username plus API token stored through
config set. - Treat
--joband--folderas slash-separated Jenkins paths such asfolder-a/service-build.
Deployment-related capabilities
The CLI supports these deployment-adjacent workflows out of the box:
| Workflow | How |
|---|---|
| Verify build result | build get returns result (SUCCESS/FAILURE/UNSTABLE/ABORTED), duration, timestamp |
| Check build artifacts | build get returns artifacts array (may be empty for pipeline jobs) |
| Follow a deploy build | job build-with-params → queue get → build get + build console |
| Read deploy console | build console --job <path> --number <N> --tail 50 for recent output |
| Check last successful deploy | build get --job <path> --number lastSuccessfulBuild |
| Multi-branch pipeline builds | Use --job folder/repo/branch path format (e.g. SampleOrg/sample-service/master) |
| Job health | job get returns healthReport array with score and description |
Known limitations for deployment workflows
- No Pipeline stage tracking:
build getdoes not return per-stage status. Usebuild consolewith--tailto infer stage progress from log output. - No artifact download:
build getlists artifact file names but the CLI does not provide a download command. - No environment variable or parameter readback:
job getreturns summary info only; build parameters are not exposed in the current API. - No deployment environment mapping: Jenkins does not natively expose which environment a build deploys to; this must be inferred from job naming conventions or build parameters.
- No rollback command: Rollback must be implemented as a new build with previous version parameters.
Output and error handling expectations
- Prefer stable, structured CLI output that downstream agents can parse reliably.
- Distinguish read actions and write actions explicitly.
- For write failures, return explicit and actionable failure details; do not swallow errors.
- Never print or repeat the stored API token.
Error remediation table
When a CLI error matches a row below, you MUST apply the one-step recovery action exactly as stated. Do NOT substitute a generic multi-step explanation when the table provides a concise recovery. If the error persists after recovery, stop and report it to the user.
| Error | Typical cause | Recovery action |
|---|---|---|
| 401 Unauthorized | Stored API token is invalid or expired | Run BIN config set --base-url <URL> --user <USER> --token <NEW_TOKEN>, then BIN config get to confirm, then retry |
| 403 Forbidden | User lacks permission on the target job/folder | Verify the job path with BIN job list or BIN job list --folder <parent>; switch to an authorized user via config set if needed |
| 404 Not Found | Job path is wrong or the job does not exist on that controller | List available jobs with BIN job list or BIN job list --folder <parent> to find the correct path; correct the --job value and retry |
| Connection refused | Controller URL is wrong or Jenkins is down | Run BIN config get to check base-url; correct it with config set or confirm Jenkins is reachable at that URL |
| Timeout | Network latency or unresponsive controller | Retry once; if it fails again, ask the user to verify network connectivity to the controller URL |
For config-level errors (CONFIG_ERROR, stored config was not found), see the Configuration flow in references/usage.md.
Quick reference — common operations
Use these directly without reading supporting files. BIN = the resolved launcher path for this session, not the literal ${JENKINS_SKILL_DIR} placeholder token.
| Task | Command |
|---|---|
| Read config status | BIN config get |
| Store config | BIN config set --base-url <URL> --user <USER> --token <TOKEN> |
| List root jobs | BIN job list |
| List jobs in a folder | BIN job list --folder <path> |
| Read one job | BIN job get --job <path> |
| Trigger a job | BIN job build --job <path> |
| Trigger a parameterized job | BIN job build-with-params --job <path> --params-json '<JSON>' |
| Create a freestyle job | BIN job create --job <path> [--config-xml-file <path>] |
| Create a folder | BIN job create-folder --folder <path> [--config-xml-file <path>] |
| Create a multi-branch pipeline | BIN job create-multi-branch --job <path> --repo-url <url> [--credentials-id <id>] |
| Copy an existing job | BIN job copy --from <path> --to <path> |
| Read job config.xml | BIN job get-config --job <path> |
| Update job config.xml | BIN job reconfig --job <path> --config-xml-file <path> |
| Delete a job | BIN job delete --job <path> |
| Read one build | BIN build get --job <path> --number <N> |
| Read build console | BIN build console --job <path> --number <N> [--tail <lines>] |
| List queue items | BIN queue list |
| Read one queue item | BIN queue get --id <ID> |
| Cancel one queue item | BIN queue cancel --id <ID> |
| Read controller summary | BIN system info |
Notes on build triggering:
job buildis for non-parameterized jobs.job build-with-paramsaccepts exactly one of--params-jsonor--params-file.- Trigger responses return the Jenkins queue location when Jenkins exposes it. Use
queue getto follow the item until an executable number appears. - After a queue item gets an executable build number, switch to
build getorbuild console.
Notes on job creation:
job create,job create-folder, andjob create-multi-branchare write operations. Confirm the target path with the user before running them.- When
--config-xml-fileis omitted,createandcreate-foldership a minimal default config.xml;create-multi-branchinstead requires--repo-url(with optional--credentials-id). job copyrequires--fromand--toto share the same parent folder; only the leaf segment may differ.- All four creation actions hit Jenkins
createItemwith the user's API token; no separate CSRF crumb is required.
Notes on job lifecycle:
job get-configreturns the rawconfig.xmlof a job. Use this to inspect or template a job's configuration before copying or reconfiguring.job reconfigreplaces the entireconfig.xmlof an existing job. It is a write operation — confirm the target with the user before running it. A common workflow isget-config→ edit locally →reconfig.job deletepermanently removes a job. It is a write operation — confirm the target with the user before running it.
Common command mistakes — There is no
job_infoorbuild startcommand. Usejob get --job <path>to inspect a job andjob build --job <path>to trigger a build. There is nojob editcommand; usejob reconfig --job <path> --config-xml-file <path>to update a job's config.xml. Never invent or guess command names; if unsure, run<group> --helpfirst.
Deployment-oriented quick reference
| Task | Command |
|---|---|
| Check last completed build result | BIN build get --job <path> --number lastCompletedBuild |
| Check last successful build | BIN build get --job <path> --number lastSuccessfulBuild |
| Check last stable build | BIN build get --job <path> --number lastStableBuild |
| Read deploy log tail | BIN build console --job <path> --number <N> --tail 100 |
| Trigger rollback build | BIN job build-with-params --job <path> --params-json '{"BRANCH":"<prev-branch>","VERSION":"<prev-version>"}' |
| Check if a build is still running | BIN build get --job <path> --number <N> → check building field |
| Read multi-branch pipeline build | BIN build get --job <folder>/<repo>/<branch> --number <N> |
| Check job health report | BIN job get --job <path> → read healthReport array |
Capability Domain
Domain:
ci
Provides:
ci.config.getci.config.setci.job.getci.job.triggerci.build.getci.build.consoleci.queue.get- provider-specific workflow helpers
Config check:
jenkins config get
Supporting files
Read supporting files only when the condition matches — the quick reference tables above cover most invocations.
| File | Read when |
|---|---|
references/commands.md | User asks about an unfamiliar command, flag, or group not shown in the quick reference tables above |
references/usage.md | Performing a write operation (build trigger, config set, queue cancel), or first-time setup / troubleshooting |
examples/common-workflows.md | Executing a multi-step deployment sequence (e.g. trigger → queue poll → build check → console read), or when the user asks for an end-to-end walkthrough |
Gives 0 of the 12 instructions most ci cd skills give in ~2.7k tokens
Counted across 392 of the 394 authors here whose files we hold, read 2026-08-06
- pin third-party actions to full commit SHAsin 33 of 392
- cache dependencies appropriatelyin 24 of 392, across 12 files
- optimize pipelines exceeding ten minutesin 20 of 392, across 6 files
- enforce all quality gates before mergein 20 of 392, across 7 files
- Configure branch protection rulesin 19 of 392, across 5 files
- use environments for deployment trackingin 19 of 392, across 7 files
- implement manual gates for productionin 19 of 392, across 7 files
- implement security scanningin 18 of 392, across 5 files
- fix failing code instead of disabling checksin 18 of 392, across 4 files
- use CI/CD variables for secretsin 18 of 392, across 6 files
- move checks upstream in the pipelinein 17 of 392, across 3 files
- use specific image tagsin 17 of 392, across 5 files
Said here and by no other author read
- run config get before any business command
- resolve BIN to a real launcher path before first call
- use group or action help before guessing flags
- rerun config get after config set to confirm success
- apply table recovery actions exactly for matching errors
- distinguish read actions and write actions explicitly
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.