Skip to content

Latest commit

 

History

History
64 lines (50 loc) · 2.38 KB

README.md

File metadata and controls

64 lines (50 loc) · 2.38 KB

iJenkinsCLI

An interactive command line interface for Jenkins CI on the base of urwid and autojenkins. For that situation when you dont want to use a browser.

Example Image

Features

  • Interactive browsing of Jobs and high level details in a Jenkins
  • Color coded Job status (Successful, Failed, Aborted, etc.)
  • Single keyword search, highlight and selection based on job names
  • View detailed job information
  • Trigger build of a job
  • View last build log of a job <3
  • Basic VIM like bindings ;)

Usage

  1. Clone the current version branch:
cd /tmp/
git clone -b 0.1 https://github.com/nkoester/iJenkinsCLI.git && cd iJenkinsCLI
  1. Install just like any other python lib:
export install_destination="/tmp/ijenkinscli"
mkdir -p $install_destination/lib/python2.7/site-packages/
export PYTHONPATH=$install_destination/lib/python2.7/site-packages/:$PATH
export PATH=$install_destination/bin:$PYTHONPATH
python setup.py install --prefix=$install_destination
  1. Run it:
iJenkinsCLI https://YOUR-SERVER-HERE:8080

Or use your credentials: ```bash iJenkins https://YOUR-SERVER-HERE:8080 --user=jon --password=doe -s


## Todos

Well, there is always a lot to do... For the first version I was driven by the features. There could be done much much more:

- [ ] Code cleanup. Currently the code is a mess.
- [ ] Improve visual layout and design. Currently a lot is feature driven and not design driven. 
- [ ] Create a urwid table with some more features
- [ ] Sort jobs by different columns
- [ ] Sort jobs by build status
- [ ] Add some sort of scrollbar
- [ ] Improve "Job Info" presentation. Currently it is simply displaying the dictionary with all content
- [ ] Add dialog for help (explaining commands etc.)
- [ ] Add dialog to login during runtime
- [ ] Expose further features of Jenkins (create job, show build number X, etc.)
- [ ] Parallelise/On demand Jenkins access. If you have many jobs, it may take a while to query all the data
- [ ] Allow different tree organisation (e.g. normal (current), build a tree based on job topology)
- [ ] Many more ...

## Feedback

Feel free to contact me if you have any ideas, pull-requests, remarks or feedback! :)