Jenkins personal assistant - CLI tool to interact with Jenkins server
Note - jenni will only work inside the git repository
- Print Jenkins build history of a Job.
- Show estimated remaining time for running builds.
- Open Jenkins build in the browser.
- Trigger new builds. (without parameters)
- Watch the console output or stage view after triggering a build.
- View specific build console output.
- Trigger new builds with parameters
- Abort running builds
- Make sure you have Node.js
- Jenkins API Token - How to get a Jenkins API token
> npm i -g jenni
Above installation will give you globally available
jen command to intract with Jenkins server.
Migration from v0.2.6 to v1
The v1 has breaking changes. If you're using an old version of Jenni, follow the steps below before upgrading to v1.
step 1: Find the config dir path > jen c output: Config path - /home/suresh/.config/jenni-nodejs/config.json step 2: Manually delete the config directory > rm -rf /home/suresh/.config/jenni-nodejs step 3: > npm update -g jenni@latest
Each git project will requires separate initialization.
jen init will walk you through to initialize jenni to your project.
> jen --help Usage: jen [options] [command] Jenkins personal assistant Options: -v, --version output the version number -d, --debug Enable debug mode -h, --help output usage information Commands: init|i Initialize jen status|s Print branch build status open|o Open jenkins build in browser build|b [options] Trigger a new build console|co [options] Show console output config|c [options] Show or Update repository configuration
||-||Initialize jenni to your project.|
||-||Print branch build history.|
||Optional build number
|Open jenkins build in the browser.|
Watch the console output after triggering a build.
Watch the stage view after triggering a build.
|Trigger a new build and optionally watch its console output or stage view. Note it's not possible to view console output, stage view together.|
View specific build console output.
|By default, this command will print the last build console output. If the job has more than one running builds, then it will prompt the user to select a build to retrieve its console output. Use
Refer to this flow chart that explains console command behavior.
e.g. Reconfigure username & token
|Overwrite project jenni config. Without any options it will print current config.|
It's basic for the moment, pass
--debug to log debug messages. Can also be enabled by setting the environment variable
> jen status -d // OR > DEBUG_JEN=true jen status
At the moment Jenni handles only
WorkflowMultiBranchProjectjob types. So, if you get the error message
Unsupported job type: <job type>please file an issue.
When initializing Jenni (
jen init) currently there is no way to interactively select jobs inside the folders (Issue). As a workaround, Jenni will print jobs up to 3 levels deep. For example
├── folder-1 │ ├── folder-1.1 │ │ └── job3 │ └── job2 └── job1 for the above structure, the output will be: job1 folder-1 → job2 folder-1 → folder-1.1 - job3
So if your job is deeply nested, you should manually configure the job. Follow this guide.
I'm no expert Jenkins user
There're a few similar project you can found below:
MIT © Sureshraj