All Projects → m-sureshraj → jenni

m-sureshraj / jenni

Licence: MIT license
👩‍💻 Jenkins Personal Assistant - CLI to interact with Jenkins server

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to jenni

Registration-and-Login-using-MERN-stack
Simple Registration and Login component with MERN stack
Stars: ✭ 210 (+425%)
Mutual labels:  node-js
build-user-vars-plugin
Set of environment variables that describe the user who started the build
Stars: ✭ 40 (+0%)
Mutual labels:  jenkins
express-file-upload
Node.js Express Upload/Download File Rest APIs example with Multer
Stars: ✭ 64 (+60%)
Mutual labels:  node-js
crowdin-api-client-js
JavaScript client library for Crowdin API
Stars: ✭ 89 (+122.5%)
Mutual labels:  node-js
mongo-uri-builder
A node.js module to easily create mongodb connection strings using configuration objects
Stars: ✭ 29 (-27.5%)
Mutual labels:  node-js
adyen-node-api-library
Adyen API Library for Node.js
Stars: ✭ 82 (+105%)
Mutual labels:  node-js
node-ctrip-tickets
🚄🚄🚄 Node.js 携程火车票查询,查询有票的列车
Stars: ✭ 12 (-70%)
Mutual labels:  node-js
mern-ecommerce
MERN Stack ecommerce site
Stars: ✭ 122 (+205%)
Mutual labels:  node-js
Shock
Shock - 내가 골라 외우는 영단어
Stars: ✭ 20 (-50%)
Mutual labels:  node-js
librecores-ci-jenkins-server
LibreCores Continuous Integration
Stars: ✭ 36 (-10%)
Mutual labels:  jenkins
pipeline-as-yaml-plugin
Jenkins Pipeline As Yaml Plugin
Stars: ✭ 111 (+177.5%)
Mutual labels:  jenkins
json-as-xlsx
Create excel from json npm package
Stars: ✭ 103 (+157.5%)
Mutual labels:  node-js
ebook-continuous-delivery-with-kubernetes-and-jenkins
Continuous Delivery for Java Apps: Build a CD Pipeline Step by Step Using Kubernetes, Docker, Vagrant, Jenkins, Spring, Maven and Artifactory
Stars: ✭ 39 (-2.5%)
Mutual labels:  jenkins
mp-ci
微信小程序、小游戏发布助手(CI)
Stars: ✭ 76 (+90%)
Mutual labels:  jenkins
aqua-microscanner-plugin
Enables scanning of docker builds in Jenkins for OS package vulnerabilities.
Stars: ✭ 37 (-7.5%)
Mutual labels:  jenkins
teresa
Teresa is a special bot of discord for you.
Stars: ✭ 21 (-47.5%)
Mutual labels:  node-js
MasterSeleniumFramework
Automation Testing | Web | Java | OOPS | Selenium WebDriver | TestNG | Maven | ExtentReport | Allure Reports | Java mail API | Design Patterns (Page Object Model, Singleton) | Jenkins | Data-Driven Testing using JSON file
Stars: ✭ 52 (+30%)
Mutual labels:  jenkins
nodejsdesignpatterns.com
Source for Website for Node.js Design Patterns, book by Mario Casciaro and Luciano Mammino, published by Packt (https://nodejsdp.link/buy)
Stars: ✭ 27 (-32.5%)
Mutual labels:  node-js
artifact-promotion-plugin
A simple Jenkins plugin to promote artifacts.
Stars: ✭ 29 (-27.5%)
Mutual labels:  jenkins
BocchiBot
BocchiBot is a multipurpose WhatsApp bot using wa-automate-nodejs library!
Stars: ✭ 228 (+470%)
Mutual labels:  node-js

jenni

Jenkins personal assistant - CLI tool to interact with Jenkins server

npm Build

jenni in action

Note - jenni will only work inside the git repository

Features

  • 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.

Upcoming Features

  • Trigger new builds with parameters
  • Abort running builds

Prerequisites

Installation

> 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

Setup

Each git project will requires separate initialization.

jen init will walk you through to initialize jenni to your project.

jen init

Usage

> 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
Command                  Options Description
jen init | i - Initialize jenni to your project.
jen status | s - Print branch build history.
jen open | o Optional build number
e.g. jen open <build number>
Open jenkins build in the browser.
jen build | b --watch | -w

Watch the console output after triggering a build.

--stage | -s

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.
jen console | co --build | -b

View specific build console output.
e.g. jen console --build <build id>
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 --build option to view the specific build console output.

Refer to this flow chart that explains console command behavior.
jen config | c --username | -n
--token | -t
--url | -u
--job-name
--job-path
--job-type

e.g. Reconfigure username & token
jen config --username <foo> --token <bar>
Overwrite project jenni config. Without any options it will print current config.

Debug

It's basic for the moment, pass -d or --debug to log debug messages. Can also be enabled by setting the environment variable DEBUG_JEN to true. E.g.

> jen status -d

// OR

> DEBUG_JEN=true jen status

Known Limitations

  • At the moment Jenni handles only WorkflowJob and WorkflowMultiBranchProject job 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.

Feedback

I'm no expert Jenkins user 🤫. I'm building this tool while learning Jenkins concepts. I'm really interested in hearing your use cases, insights, and suggestions for improvements.

Similar Projects

There're a few similar project you can found below:

license

MIT © Sureshraj

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].