Trigger and monitor Jenkins jobs without leaving your IDE. Browse your full folder hierarchy, star favorites, fill in build parameters, watch builds run live with streaming logs — and chain jobs into Blueprints, visual node-graph workflows that run whole pipelines (sequential or parallel) in one click.
Features
🗂 Full folder hierarchy
The job tree mirrors the Jenkins UI: folders, sub-folders, multibranch pipelines and their branch jobs, loaded in a single API request. Expansion state is remembered across sessions.
⭐ Favorites
Hover a job and click the star to pin it to the Favorites section at the top. Jobs you starred in the Jenkins UI itself (Favorite plugin, via Blue Ocean's API) show up there too — read-only, the extension never modifies them.
▶️ Trigger builds with parameters
Open a job to get a form for its parameters — text, boolean and choice parameters are supported, pre-filled with their defaults. CSRF crumbs are handled automatically.
📊 Build history & live progress
The last 10 builds with status, age and duration. Running builds show a live progress bar (based on Jenkins' estimated duration) and the view auto-refreshes every 10 seconds until the build finishes. After you trigger a job you stay on the page and watch it go from queued → running → done. Running builds have a stop button to abort them, and a queued build can be cancelled before it starts — both behind a confirmation dialog.
Every build row also has a log button that streams the console output live into an Output channel, and the job page lists the job's upstream/downstream projects — click one to jump to it. Builds you trigger appear in a Running section at the top of the sidebar, and you get a notification when they finish (same for blueprint runs).
🧩 Blueprints — chain jobs like Unreal Engine graphs
Open the Blueprints editor (button in the sidebar header, or Open Jenkins Blueprints from the command palette) and wire jobs together on a node canvas: drag a wire from one job's output port into another job to run it after the first one succeeds. Independent branches run in parallel — e.g. create_env first, then build_fe and build_be together.
- Inputs like
Branch or Env are asked for on every run and referenced in job parameters as ${Branch} — also mid-text (release/${Branch}). The Inputs node's blue flow pin wires straight to the jobs that should start first.
- Give every node a short display name instead of the long Jenkins path.
- Live run status on each node (queued → running → success/failed) with animated wires, build links and one-click console logs; anything downstream of a failure is skipped. Close and reopen the editor mid-run — the run state comes right back.
- Blueprints are plain JSON files in
~/.jenkins-sidebar/blueprints (configurable) — commit them to a repo or send one to a teammate, plus explicit Export/Import. Job URLs are re-anchored to each user's own server login, so shared files just work.
🎨 Native look & feel
The whole UI is built from your IDE theme variables — it follows your color theme, light, dark or high contrast.
Getting started
- Install the extension and click the Jenkins icon in the activity bar (or press
Cmd+Alt+J / Ctrl+Alt+J).
- Enter your server URL, username and an API token
(create one in Jenkins: your avatar → Security → API Token → Add new token).
- Hit Connect — your jobs appear.
Credentials are stored in your IDE's encrypted secret storage (Keychain on macOS, Credential Manager on Windows, libsecret on Linux). The API token never leaves the extension host — the sidebar webview itself never sees it.
Commands & shortcuts
| Command |
Default keybinding |
| Focus Jenkins Sidebar |
Cmd+Alt+J (mac) / Ctrl+Alt+J |
| Refresh Jenkins Jobs |
— (also available as the ↻ button in the sidebar) |
Settings
| Setting |
Default |
Description |
jenkinsSidebar.allowInsecureTls |
false |
Allow connections to servers with untrusted TLS certificates (expired, self-signed, unknown CA). Only enable for servers you trust — it disables certificate verification. |
jenkinsSidebar.blueprintsDir |
~/.jenkins-sidebar/blueprints |
Folder where Blueprint files (*.json) live. Point it at a shared or repo folder to share blueprints with your team. |
Troubleshooting
- Every failed request shows a toast with a Show Details button — full diagnostics (URL, HTTP status, response body, TLS error codes) land in the Jenkins Sidebar output channel (View → Output).
- Certificate errors (expired/self-signed certs on internal servers) can be bypassed with the
allowInsecureTls setting — the error toast links straight to it.
- Jenkins-side favorites require the Blue Ocean plugin on the server, since the Favorite plugin doesn't expose its data through the classic remote API. The output channel logs which source was used.
Good to know
- The extension never deletes, disables or reconfigures anything on Jenkins. It writes to the server in exactly two ways, both user-initiated: triggering builds (
POST .../build(WithParameters)), and — always behind an explicit confirmation — aborting a build or cancelling a queued item (POST .../stop, POST queue/cancelItem). Stopping a Blueprint run asks whether to just stop watching (builds keep running) or also abort the started builds. Deleting a blueprint only deletes the local JSON file.
- Job requests are sent to the server URL you logged in with, even when Jenkins' own configured root URL points elsewhere (http vs https, internal hostnames, reverse-proxy prefixes).
- Folders deeper than 10 levels are shown but their contents aren't loaded.
Development
npm install
npm run watch # rebuild on change
Press F5 in your IDE to launch an Extension Development Host. Cmd+R in that window reloads after webview changes; restart the debug session after package.json changes.
npm run package # production build (dist/)
License
MIT