alefragnani / vscode-jenkins-status

Jenkins Status Extension for Visual Studio Code
MIT License
27 stars 20 forks source link
jenkins status status-bar visual-studio-code vscode vscode-extension


Read-only Logo

What's new in Jenkins Status 4.5

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

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

Contributors

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

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

License

MIT © Alessandro Fragnani