Git Product home page Git Product logo

jenkins-jack's Introduction

logo

Jenkins Jack

Jack into your remote Jenkins to execute Pipeline scripts, provide Pipeline step auto-completions, pull Shared Library step documenation, run console groovy scripts across multiple nodes, and more!

Honestly, not that much more.

Features

  • Pipeline Jack
    • Execute (with build paramaters)
      • Stream syntax highlighted output to output channel
    • Abort
    • Update
    • Shared Library reference docs
  • Script Console Jack
    • Execute
  • Node Jack
    • Set multiple nodes offline
    • Set multiple nodes online
    • Disconnect multiple nodes
  • Job Jack
    • Disable multiple jobs
    • Enable mulitiple jobs
    • Delete multiple jobs
  • Build Jack
    • Download a build log
    • Delete multiple builds
  • Supports switching between Jenkins hosts for running commands
  • Pipeline (GDSL) auto-completions for groovy files

Extension Commands (Jacks!)

See jacks for a more comprehensive list of commands and features.

Jack Description Command
Pipeline Remotely build/abort/update Jenkins pipeline scripts from an open groovy file, streaming syntax highlighted output to the output console. extension.jenkins-jack.pipeline
Script Console Remote execute on the Jenkins Script Console from an open groovy file, targeting one or more nodes. Results will appearing in the output console. extension.jenkins-jack.scriptConsole
Build Select a job to download logs to display on the output window or to delete from the remote Jenkins. extension.jenkins-jack.build
Job Select one or more jobs to disable, re-enable, or delete from the remote Jenkins. extension.jenkins-jack.job
Node Select one or more nodes to set offine, online, or disconnect from the remote Jenkins. extension.jenkins-jack.node

Individual jacks can be mapped to hot keys as user sees fit.

Auto-completions (faux snippets)

From your remote Jenkins, Jenkins Jack will pull, parse, and provide Pipeline steps as auto-completions from the Pipeline step definitions (GDSL).

Any groovy file in the editor will have these completions. This feature can be enabled/disabled via Settings by searching for Jenkins Jack.

Configuration

Jenkins Jack works by hooking into the user's running Jenkins instance via the Jenkins Remote API. Before you can use the plugin, you must fill in the extension settings to point to a Jenkins host(s) in settings.json:

"jenkins-jack.jenkins.connections": [
    {
        "name": "localhost",                            // "name" can be seen in the host selection command
        "uri": "http://localhost:8080",
        "username": "drapplesauce",


        "password": "217287g126721687162f76f387fdsy7",  // gen API token via <your-jenkins>/user/<user name>/configure
                                                        // E.g. http://127.0.0.1:8080/user/drapplesauce/configure

        "active": true                                  // Indicates the active jenkins host you're connected to.
                                                        // Also set via host selection command
    }
]

You can get to this via the Settings UI (ctrl+,) and searching for Jenkins Jack Connections.

Quick-use

ctrl+shift+j

Displays a list of all Jack sub-commands provided by the extension (jenkins-jack.jacks)

Local Packaging and Installation

To create a standalone vsix for installation locally, run the following commands:

# From the root of the extension.
npm install -g vsce # For packaging
npm install # Install dependencies.
vsce package # Bake some bread.
code --install-extension .\jenkins-jack-0.0.1.vsix # ...or whatever version was built

Support

Do you have a feature request or would like to report a bug? Super duper! Create an issue via github's issue tracker.

Currently, there are no hard guidelines defined for feature requests, bugs, or questions since I have no idea what I'm doing. These will become more defined as interest in the project increases or something something.

Authors

  • Travis Abeyti - Initial work

License

This project is licensed under the MIT License - see the LICENSE.md file for details. Do what you will with this.

jenkins-jack's People

Contributors

tabeyti avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.