Jenkins Controller Extractor avatar

Jenkins Controller Extractor

Pricing

from $0.35 / 1,000 records

Go to Apify Store
Jenkins Controller Extractor

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

Datamule

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

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.

Typical job: check the recent build history of one public Jenkins job (is it passing, failing, or unstable, and how long do builds take?).

Quick start

  1. Click Try for free.
  2. The form opens with this ready-to-run example already filled in (a public Debian installer job, 3 builds). If you opened a blank form, paste it:
{ "baseUrl": "https://jenkins.debian.net", "job": "d-i_build_debian-installer", "buildDepth": 3, "maxRecords": 3 }
  1. Click Start. The run returns up to 3 rows, one per build.
  2. Swap in your own controller URL and job name. The job name is the part after /job/ in the job's web URL (use folder/child for nested jobs).

Output preview

Real rows from a local run of the input above on 2026-09-25 (selected fields):

jobNamebuildNumberresulttimestampdurationMs
d-i_build_debian-installer980UNSTABLE2026-09-18T22:29:53Z2222076
d-i_build_debian-installer979FAILURE2026-09-07T19:58:01Z55632
d-i_build_debian-installer978FAILURE2026-09-04T19:58:01Z55967

Results and build numbers change as the controller keeps building.

What it does

Three modes, auto-selected from your input:

ModeWhenOutput
jobs (default)just a baseUrlone 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.
buildsset a jobone row per recent build of that single job — result, duration, timestamp, building flag.
discoverymode = discoveryone row describing the controller itself — Jenkins version, job count, node mode, security.

Input

  • baseUrl (required) — the controller root, e.g. https://jenkins.debian.net or https://ci.adoptium.net. The /api/json path is added for you.
  • mode — jobs (default) · builds · discovery. Leave empty to auto-select (jobs, or builds when a job is set).
  • job — (builds mode) a job name, a nested folder/child path, 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 bearer token or extraHeaders.
  • A controller with no jobs, or a job with no build history, returns 0 rows and a clean run — it never invents data.

Example

{ "baseUrl": "https://jenkins.debian.net", "maxRecords": 25 }
{ "baseUrl": "https://jenkins.debian.net", "mode": "discovery" }

Pricing and cost

  • $0.0005 per row (job or build) on the free tier, down to $0.00025 on higher Apify plans.
  • The quick start (3 rows) costs at most $0.0015 in event charges; 1,000 rows cost about $0.50. Apify platform usage is billed separately.
  • A run that returns 0 rows has no row charge. Set maxRecords to cap spend: a whole-controller jobs run can be large (jenkins.debian.net lists ~990 root jobs).