Skip to content

alefragnani/vscode-jenkins-status

Repository files navigation


Read-only Logo

What's new in Jenkins Status 4.5

  • Adds Localization support
  • Adds Workspace Trust support
  • Adds Virtual Workspace support
  • Adds Remote Development support
  • Adds Multi-root support

Support

Jenkins Status is an open source extension created for Visual Studio Code. While being free and open source, if you find it useful, please consider supporting it.

Jenkins Status

It adds an area in the status bar, indicating the build status for any Jenkins job. Specially useful if you want to connect a project with its CI server.

Features

View the Jenkins build status of your project inside Visual Studio Code.

screenshot

It is automatically enabled if you have a .jenkins or .jenkinsrc.js file in the root folder of your project. The only required information is the url pointing to your Jenkins job.

If you need authentication, just add username and password_or_token in the .jenkins file and you are ready to go.

.jenkins file

{
    "url": "http://127.0.0.1:8080/job/myproject/",
    "username": "jenkins_user",
    "password": "jenkins_password_or_token"
}

or

[
    {
        "url": "http://127.0.0.1:8080/job/myproject/",
        "name": "Jenkins Build",
        "username": "jenkins_user",
        "password": "jenkins_password_or_token"
    },
    {
        "url": "http://127.0.0.1:8080/job/myprojectTests/",
        "name": "Jenkins Acceptance Tests",
        "username": "jenkins_user",
        "password": "jenkins_password_or_token"
    }
]

.jenkinsrc.js file

// can also return a promise of required JSON structure
module.exports = [{
    "url": "http://127.0.0.1:8080/job/myproject/",
    "name": "Jenkins Build",
    "username": "jenkins_user",
    "password": "jenkins_password_or_token"
},
{
    "url": "http://127.0.0.1:8080/job/myprojectTests/",
    "name": "Jenkins Acceptance Tests",
    "username": "jenkins_user",
    "password": "jenkins_password_or_token"
}];

If you are having trouble with self-signed certificates and your build status says SELF_SIGNED_CERT_IN_CHAIN, you could use a workaroud adding a strictTls flag to your .jenkins file or .jenkinsrc.js export:

    "strictTls": false

Available commands

  • Jenkins: Open in Jenkins: Open the Jenkins project in you browser
  • Jenkins: Open in Jenkins (Console Output): Open the Console Output of the Jenkins project in you browser
  • Jenkins: Update Status: Manually update the status of our Jenkins project

Working with Remotes

The extension support Remote Development scenarios, and you may choose how to use it, depending on your needs

I access Remotes, and use .jenkins files

This is the regular scenario, and that's why you don't need to do anything special for the extension to work. It works out of the box.

When installed locally, the extension will properly recognize the .jenkins file on remotes, and display the status bar for each Url.

It just works

I access Remotes, but I use .jenkinsrc.js files

If you need to use .jenkinsrc.js files, the extension must be installed on that remote. This happens because it is not possible to import the .jenkinsrc.js file remotely.

Available settings

  • Interval (in minutes) to automatically update the status
    "jenkins.polling": 2

Note: 0 (zero) means no update

Contributors

Special thanks to the people that have contributed to the project:

  • Kalin Krustev (@md2perpe) - Cleanup source (see PR)
  • Kalin Krustev (@md2perpe) - Typo (see PR)
  • Kalin Krustev (@kalinkrustev) - Support Remote Development (see PR)
  • Keunhong Lee (@leeopop) - Skip authentication when no username is provided (see PR)
  • Amit Mittal (@eramitmittal) - Multiple Jobs and in-progress status support (see PR)
  • Kimitaka Watanabe (@kimitaka) - Updated .jenkins example in README (see PR)
  • Zhao Xiaojie (@LinuxSuRen) - Status Bar improvements (see PR)
  • Grzegorz Judas (@grzegorzjudas) - HTTPS Support using NODE_TLS_REJECT_UNAUTHORIZED environment variable (see PR)
  • Adam Parkin (@pzelnip) - Fix tooltip for failed builds (see PR)
  • Mike Patrick (@mikepatrick) and Mensa Ulysse (@umens) - Support Authentication (see PR)
  • Vojtěch Habarta (@vojtechhabarta) - Support for larger JSON responses (see PR)

Also thanks to everyone who helped opening issues with ideas and bug reports.

License

MIT © Alessandro Fragnani