rezkam

jenkins

Interact with Jenkins CI via REST API. Use when checking build status, viewing test failures, reading console output, triggering builds, watching build progress, viewing pipeline stages, listing jobs, or managing the build queue on a Jenkins server.

rezkam 1 Updated 3mo ago

Resources

2
GitHub

Install

npx skillscat add rezkam/boring-but-good/jenkins

Install via the SkillsCat registry.

SKILL.md

Jenkins CI

Interact with a Jenkins CI server via its REST API.

Configuration

Run ./setup.sh from the repo root (recommended), or create config files manually:

mkdir -p ~/.boring/jenkins
echo 'https://your-jenkins.example.com' > ~/.boring/jenkins/url
echo 'your-username' > ~/.boring/jenkins/user
echo 'your-api-token' > ~/.boring/jenkins/token
chmod 600 ~/.boring/jenkins/token

Obtain an API token: Log in → Your Username → Configure → API Token → Add new Token → Generate.

Job path format

Paths use / to separate folders:

  • MyOrg/my-service/main — main branch
  • MyOrg/my-service/PR-42 — pull request
  • MyOrg/my-service/feature%2Fmy-branch — URL-encode slashes in branch names

Scripts

Build status

scripts/jenkins-build-status.sh <job-path> [build-number]

Test failures

scripts/jenkins-test-failures.sh <job-path> [build-number] [--full]

--full includes complete stack traces.

Console output

scripts/jenkins-console.sh <job-path> [build-number] [grep-pattern]

Trigger a build

scripts/jenkins-trigger.sh <job-path> [--param KEY=VALUE]...

Watch build progress

scripts/jenkins-watch.sh <job-path> [build-number]

Polls until the build finishes and exits 0 on success, 1 on failure.

Build history

scripts/jenkins-build-history.sh <job-path> [count]

Pipeline stages

scripts/jenkins-stages.sh <job-path> [build-number]

Shows stage names with pass/fail status (requires Pipeline plugin).

List jobs

scripts/jenkins-list-jobs.sh [folder-path] [--depth N]

Build queue

scripts/jenkins-queue.sh

Abort a build

scripts/jenkins-abort.sh <job-path> [build-number]

Raw API

scripts/jenkins-api.sh <endpoint> [curl-options...]

Typical workflow

S=scripts
$S/jenkins-build-status.sh "MyOrg/my-service/PR-42"
$S/jenkins-test-failures.sh "MyOrg/my-service/PR-42"
$S/jenkins-console.sh "MyOrg/my-service/PR-42" lastBuild "ERROR"
$S/jenkins-stages.sh "MyOrg/my-service/PR-42"
$S/jenkins-trigger.sh "MyOrg/my-service/PR-42"
$S/jenkins-watch.sh "MyOrg/my-service/PR-42"

API endpoints reference

Append to job URL:

  • /api/json — metadata
  • /lastBuild/api/json — last build
  • /lastBuild/consoleText — console
  • /lastBuild/testReport/api/json — test results
  • /build — trigger (POST)
  • /buildWithParameters?KEY=VALUE — parameterized trigger (POST)
  • /lastBuild/wfapi/describe — pipeline stages
  • /stop — abort (POST)

Query params: tree=field[sub], depth=N