https://github.com/lightning1377/jenkins-client
VS Code extension that shows Jenkins build status for the current Git branch in the status bar.
https://github.com/lightning1377/jenkins-client
build-status ci-cd developer-tools jenkins jenkins-api typescript vscode-extension
Last synced: 24 days ago
JSON representation
VS Code extension that shows Jenkins build status for the current Git branch in the status bar.
- Host: GitHub
- URL: https://github.com/lightning1377/jenkins-client
- Owner: lightning1377
- License: mit
- Created: 2026-05-23T12:39:43.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-11T05:41:40.000Z (25 days ago)
- Last Synced: 2026-06-11T06:10:10.463Z (25 days ago)
- Topics: build-status, ci-cd, developer-tools, jenkins, jenkins-api, typescript, vscode-extension
- Language: TypeScript
- Homepage:
- Size: 148 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Jenkins Client
[](https://marketplace.visualstudio.com/items?itemName=Siavash.jenkins-client)
Jenkins Client brings Jenkins build status, recent builds, and Pipeline stages into VS Code. It watches the current Git branch, matches the pushed commit against recent Jenkins builds, and gives you quick actions for opening the job, build, console output, or Pipeline details.

## Highlights

- Stateful status bar text for passed, failed, unstable, aborted, building, queued, paused, and unknown builds
- Jenkins activity-bar views for the current build, recent builds, and Pipeline stages
- Guided setup command that saves the API token in VS Code Secret Storage
- Build matching across recent builds, including failed, unstable, aborted, in-progress, and never-successful jobs
- Support for freestyle jobs, Pipeline jobs, folders, and multibranch Pipeline job paths
- Pipeline details webview when Jenkins exposes the Pipeline REST API plugin
- Quick actions to refresh, open job/build/console, copy build URL, and open Pipeline details
- Live settings reload without reloading the VS Code window

## Requirements
- VS Code 1.80.0 or newer
- A Git workspace
- Access to a Jenkins server
- A Jenkins username and API token
- Optional: Jenkins Pipeline REST API plugin for stage visualization
## Setup
1. Run **Jenkins: Setup Jenkins Client** from the command palette.
2. Enter the Jenkins URL, username, API token, and default job path.
3. Optionally enter branch-specific job mappings and ignored branches.
4. Let the setup command validate Jenkins access and save the workspace settings.
You can still configure the extension manually:
```json
{
"jenkinsBuildStatus.enabled": true,
"jenkinsBuildStatus.jenkinsUrl": "https://jenkins.example.com",
"jenkinsBuildStatus.username": "your-jenkins-user",
"jenkinsBuildStatus.jobName": "Folder/My Jenkins Job"
}
```
Then run **Jenkins: Set Jenkins API Token**.
## Multibranch And Branch-Specific Jobs
For a multibranch Pipeline root, set `jobName` to the root job path. Jenkins Client tries both the configured job and `jobName/current-branch` when resolving builds.
Use `branchSpecificJobs` when a branch uses a job outside the default mapping:
```json
{
"jenkinsBuildStatus.jobName": "Main Build",
"jenkinsBuildStatus.branchSpecificJobs": {
"release/1.0": "Release Build",
"develop": "Develop Build"
}
}
```
Use `excludeBranches` for branches Jenkins does not build:
```json
{
"jenkinsBuildStatus.excludeBranches": ["docs", "prototype"]
}
```
## Commands
- **Jenkins: Setup Jenkins Client**
- **Jenkins: Refresh Jenkins Status**
- **Jenkins: Open Jenkins Job**
- **Jenkins: Open Jenkins Build**
- **Jenkins: Open Jenkins Console Output**
- **Jenkins: Open Jenkins Pipeline Details**
- **Jenkins: Copy Jenkins Build URL**
- **Jenkins: Clear Jenkins Service Cache**
- **Jenkins: Set Jenkins API Token**
- **Jenkins: Clear Jenkins API Token**
- **Jenkins: Show Jenkins Client Output**
## Settings
- `jenkinsBuildStatus.enabled` - enable Jenkins Client for the workspace
- `jenkinsBuildStatus.jenkinsUrl` - Jenkins server URL
- `jenkinsBuildStatus.username` - Jenkins username
- `jenkinsBuildStatus.jobName` - default Jenkins job path
- `jenkinsBuildStatus.branchSpecificJobs` - branch-to-job mapping
- `jenkinsBuildStatus.excludeBranches` - branches ignored by Jenkins Client
- `jenkinsBuildStatus.remoteName` - Git remote used to resolve pushed commits
- `jenkinsBuildStatus.recentBuildLimit` - recent builds shown in the sidebar
- `jenkinsBuildStatus.scanBuildLimit` - recent builds scanned to match the current commit
- `jenkinsBuildStatus.showStatusBarWhenUnconfigured` - show setup status in unconfigured workspaces
- `jenkinsBuildStatus.pipelineDetails.enabled` - fetch Pipeline stage details when available
## Pipeline Details
Pipeline stage visualization uses Jenkins Pipeline REST API endpoints such as `/wfapi/runs` and `/:run-id/wfapi/describe`. If those endpoints are unavailable, Jenkins Client still shows normalized build status and recent builds, and the Pipeline views explain that stage details require the Pipeline REST API plugin.
## Development
```bash
npm install
npm run compile
npm run lint
```
To debug the extension, open this folder in VS Code and run the **Launch Extension** configuration.
## Packaging
```bash
npm run vsce
```
The packaged VSIX is written to `releases/`.
## Release Notes
See [CHANGELOG.md](CHANGELOG.md).
## Feedback And Contributing
Found a bug or have a feature request? Open an issue or submit a pull request on the [GitHub repository](https://github.com/lightning1377/jenkins-client).