List all the planned jobs in a Jenkins server.

Parameters:

Parameters:
JenkinsListJobs connects to your Jenkins controller and lists all jobs it can see for the supplied user. It performs an authenticated GET of the Jenkins REST endpoint and returns the JSON as well as a neat table with job names, URLs, and last-known status (the “color” field).
A reachable Jenkins controller.
Typical choices:
https://<your-cloudflare-tunnel>.trycloudflare.com (recommended for local dev)http://host.docker.internal:8080 (if the workflow runs in Docker on the same machine)http://<your-LAN-IP>:8080A Jenkins user and API Token (preferred over password).
Jenkins base URL set correctly (so links in responses are right):
Manage Jenkins → System → Jenkins Location → Jenkins URL (use the same external URL you pass to this button).
| Field | What to put | Example / Notes |
|---|---|---|
| Jenkins server URL | The externally reachable base URL (no trailing slash) | https://milwaukee-heated-deeper-easily.trycloudflare.com |
| Login/user | Jenkins username | Vasmar |
| Password (or token) | The API token for that user | Paste the generated token |
| Debug information level | Logging verbosity | Use nothing (prevents the script from treating curl’s debug text as an error) |
| Parameters for cURL | Extra curl flags (optional) | Leave empty. Only add if you really need something like --connect-timeout 5 --max-time 20 or --insecure for self-signed TLS (last resort). |
| n connection error | Retry attempts on transient network errors | Default 3 is fine |
Tip: If you ever see the button return data but still show a red “error”, it’s almost always verbosity/flags confusing the script. Set Debug =
nothingand clear extra curl flags.
GET${JENKINS_URL}/api/jsonTypical response fields used:
{
"jobs": [
{
"_class": "hudson.model.FreeStyleProject",
"name": "smoke",
"url": "https://<your-url>/job/smoke/",
"color": "blue|red|notbuilt|disabled|..."
}
]
}
name, url, color for each job./api/json payload for downstream processing.nothing).smoke) in the output table.Could not resolve host (e.g., host.docker.internal)
Use your Cloudflare tunnel, or your LAN IP, or ensure the runtime can resolve that hostname.
Failed to connect / host unreachable
TLS certificate issues
Prefer a valid cert. If you must, add --insecure temporarily in “Parameters for cURL” (not recommended for long-term).
401 Unauthorized
403 / crumb errors
Not expected for this GET action. (Crumbs are needed for POST like “build”.)
nothing and remove extra curl flags. The script can misinterpret verbose/stderr as failure.localhost:8080 securely and give the button a stable HTTPS URL.http://host.docker.internal:8080 (works on Docker Desktop for Windows/macOS).http://<your-lan-ip>:8080 and allow the port through your OS firewall.