Jenkins Controller Extractor
Pricing
from $0.35 / 1,000 records
Jenkins Controller Extractor
Point at any Jenkins or Hudson controller (anonymous-read) and get one structured row per job or build: status, results, timings, build history, job graph. Works on any controller via the standard /api/json Remote Access API.
Pricing
from $0.35 / 1,000 records
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Point at any Jenkins or Hudson controller and get clean, structured data out
of its standard Remote Access API (/api/json) — no per-host scraper, no
setup. Every Jenkins controller (the dominant self-hosted CI server) speaks the
identical documented API, and a large population of open-source project
controllers leaves anonymous read enabled, so their job graph and build
history are yours in one call.
What it does
Three modes, auto-selected from your input:
| Mode | When | Output |
|---|---|---|
| jobs (default) | just a baseUrl | one row per job on the whole controller, each with its last-build result, status, and timings. Jenkins folders are recursed into so nested jobs surface too. |
| builds | set a job | one row per recent build of that single job — result, duration, timestamp, building flag. |
| discovery | mode = discovery | one row describing the controller itself — Jenkins version, job count, node mode, security. |
Input
- baseUrl (required) — the controller root, e.g.
https://jenkins.debian.netorhttps://ci.adoptium.net. The/api/jsonpath is added for you. - mode —
jobs(default) ·builds·discovery. Leave empty to auto-select (jobs, or builds when ajobis set). - job — (builds mode) a job name, a nested
folder/childpath, or a full job URL. - buildDepth — (builds mode) how many recent builds to fetch (default 10).
- foldersRecurse / maxFolderDepth — (jobs mode) recurse into folders (default on, depth 3).
- maxRecords — a global cap on rows (each row is one billable event).
- bearer / extraHeaders — optional auth for a private / rate-limited controller. Never required for public controllers; never logged.
Output
One flat row per job or build. Jobs carry: jobName, jobType
(freestyle / pipeline / multibranch / matrix / maven / folder / …), jobClass,
folderPath, url, color, statusText, buildable, inQueue, and a
lastBuild* summary (number, result, timestamp, duration, url). Builds carry:
buildNumber, result, timestamp, durationMs, building, url. Every row
also has controller meta (_source, _software, _version, _jobCount) and a
lossless _raw copy of the original API entry. Timestamps are ISO-8601 UTC.
Notes
- Works on any controller that allows anonymous read of its API. For gated
controllers, supply a
bearertoken orextraHeaders. - A controller with no jobs, or a job with no build history, returns 0 rows and a clean run — it never invents data.
- Pay-per-event: one event per row returned.
Example
{ "baseUrl": "https://jenkins.debian.net", "maxRecords": 25 }
{ "baseUrl": "https://ci.adoptium.net", "job": "build-scripts/openjdk21-pipeline", "buildDepth": 20 }
