jenkins-tui is a terminal based user interface for Jenkins.

Overview

jenkins-tui πŸ“¦

jenkins-tui

jenkins-tui is a terminal based user interface for Jenkins.

🚧 ⚠️ This app is a prototype and in very early stages of development. There will be bugs and missing functionality. Additionally, it has only been tested on OSX.

πŸš€ This project is powered by textual and rich!

Install

pip install jenkins-tui

Configure

The app stores the sensitive stuff at ~/.jenkins-tui.toml. You can create it manually using the schema below or let the app do it for you on first run.

# .jenkins-tui.toml

url = ""
username = ""
password = ""

Run

jenkins

Develop

Install dependencies

poetry install

Install pre commit hooks

pre-commit install

Run locally

cd src
python -m jenkins_tui.app
Comments
  • Add validation to the initial config wizard

    Add validation to the initial config wizard

    When you start the app for the first time you will be asked a few questions. The answers will populate the config file that drives the app.

    There is currently no validation on the input of these questions. They are just straight reads.

    I think at a minimum there should be:

    • Valid URL validation
    • Empty inputs not allowed
    • A final confirmation prompt

    Source: https://github.com/chelnak/jenkins-tui/blob/6faff6831e4d609a4223f2f69628c2d2c636d6b3/src/jenkins_tui/app.py#L55

    enhancement help wanted good first issue 
    opened by chelnak 3
  • Test on other Operating systems

    Test on other Operating systems

    The app was developed on OSX and has not been tested on other platforms.

    We know that it will not work on windows due to textual not having a driver yet.

    This doesn't rule out Linux platforms though.

    The assignee of this ticket should add or update a section called "compatibility" in the README.

    documentation enhancement good first issue 
    opened by chelnak 2
  • Pagination shows 0 pages when there is no content

    Pagination shows 0 pages when there is no content

    On the build executor screen, pagination shows 0 of 1 pages when there is no content to display.

    Ideally it should show 1 of 1 pages because even though empty, you land on page 1.

    bug 
    opened by chelnak 0
  • Mock jenkins http client

    Mock jenkins http client

    Now that we have dependency injection it's possible to override the Jenkins api client with a mock instance.

    e.g..

        with container.client.override(mock.Mock()):
            run()  # <-- overridden dependency is injected automatically
    

    https://python-dependency-injector.ets-labs.org/

    enhancement 
    opened by chelnak 0
  • Quitting (Q) the application can be be delayed or non responsive

    Quitting (Q) the application can be be delayed or non responsive

    If the application has been open for a long time, quitting the application can be delayed for a number of seconds. It's almost like the app is trying to finish processing events.

    We need to find out what is stopping the app from being responsive when it receives a quit message.

    bug 
    opened by chelnak 0
Releases(v0.2.2)
  • v0.2.2(Nov 27, 2021)

  • v0.2.1(Nov 26, 2021)

    πŸš€ Features

    • Clean up jenkins client
      • PR: #81
    • Performance stuff
      • PR: #80
    • start a common utils package
      • PR: #82
    • Improve initial config workflow
      • PR: #84
    Everything else!
    • Mega refactor of docstrings
      • PR: #83
    • Optionals
      • PR: #85
    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Nov 24, 2021)

    πŸš€ Features

    • Searching MVP
      • PR: #79

    This release introduces an MVP for searching. Press ctrl+k to toggle the search widget!

    As always, expect some πŸ› !

    searching mvp Source code(tar.gz)
    Source code(zip)
  • v0.1.4(Nov 22, 2021)

    πŸš€ Features

    • clean up styling stuff

      • PR: #73
    • Add basic debug mode

      • PR: #77

    πŸ› Bugfixes

    • Table fixes
      • PR: #74
    • Ensure help padding matches nav
      • PR: #78
    Source code(tar.gz)
    Source code(zip)
  • v0.1.3(Nov 21, 2021)

    This release mainly focuses on improving the UX. You can now get around the app by using keys and there is a new help menu (thanks @sauljabin) that has some useful things in it.

    πŸš€ Features

    • Layout updates and fixes
      • PR: #69
    Screenshot 2021-11-21 at 10 11 14 Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Nov 15, 2021)

  • v0.1.1(Nov 14, 2021)

    πŸš€ Features

    • Localize timestamps
      • PR: #57
    • improve refreshing of tree
      • PR: #58
    • Refactor tree interactions
      • PR: #59
    • Lots more refactoring and bad git-foo
      • PR: #61
    Everything else!
    • cleaner versioning and use a makefile
      • PR: #54
    • Adds branch check
      • PR: #55
    • Add compatibility section to README.md
      • PR: #56

    Screenshots

    build_view

    build_with_parameters_view

    Source code(tar.gz)
    Source code(zip)
  • v0.0.5(Oct 16, 2021)

    πŸš€ Features

    • Improve layouts and some spring cleaning..even though it's autumn
      • PR: #51

    πŸ› Bugfixes

    • Ensure queue honours chicken
      • PR: #44
    Everything else!
    Source code(tar.gz)
    Source code(zip)
  • v0.0.4(Oct 13, 2021)

    πŸš€ Features

    • Clean up imports
      • PR: #31
    • Jenkins client
      • PR: #33
    • Create a single instance of httpx.AsyncClient per Jenkins instance
      • PR: #37
    • Re-implement scroll view for container
      • PR: #38

    πŸ› Bugfixes

    • Fix executor table
      • PR: #30
    • Jenkins client
      • PR: #33
    • Fix header
      • PR: #35
    • Bump the top edge gutter by 1
      • PR: #41
    • Fix build queue table
      • PR: #42
    Everything else!
    Source code(tar.gz)
    Source code(zip)
  • v0.0.3(Oct 8, 2021)

    πŸš€ Features

    • Support asynchronous widget updates
      • PR: #26

    πŸ› Bugfixes

    • Change feature to enhancement
      • PR: #12
    Everything else!
    • Adds code of conduct from GitHub template
      • PR: #19
    • Adds CONTRIBUTING.md
      • PR: #20
    • Removes gitversion.yml
      • PR: #21
    Source code(tar.gz)
    Source code(zip)
  • v0.0.2(Oct 5, 2021)

  • v0.0.1(Oct 4, 2021)

Owner
Craig Gumbley
Craig Gumbley
A dec-bin converter uses 2's complement.

2's Complement Dec-Bin Converter A dec-bin converter uses 2's complement. Visit my Medium Post. What is 2's complement? Two's complement is the most c

C.H Jacky 9 Mar 01, 2022
alternative cli util for update-alternatives

altb altb is a cli utility influenced by update-alternatives of ubuntu. Linked paths are added to $HOME/.local/bin according to XDG Base Directory Spe

Elran Shefer 8 Dec 07, 2022
A communist shell written in Python

kash A communist shell written in Python It doesn't support escapes, quotes, comment lines, |, &&, , or similar yet. If you need help, get it from

Γ‡Δ±nar YΔ±lmaz 1 Dec 10, 2021
pwy - A simple weather tool.

A simple weather tool. I made this as a way for me to learn Python, API, and PyPi packaging. Name changed from wwy to pwy.

Clint 105 Dec 31, 2022
A CLI for creating styled-components for React projects quickly

new-component Ian Cleary (iancleary) Description Welcome! This is a CLI for creating styled-components for React projects quickly. Note: I've rewrote

Ian Cleary (he/him/his) 1 Feb 15, 2022
The command line interface for Gradient - Gradient is an an end-to-end MLOps platform

Gradient CLI Get started: Create Account β€’ Install CLI β€’ Tutorials β€’ Docs Resources: Website β€’ Blog β€’ Support β€’ Contact Sales Gradient is an an end-to

Paperspace 58 Dec 06, 2022
An open source terminal project made in python

Calamity-Terminal An open source terminal project made in python. Calamity Terminal is a free and open source lightweight terminal. Its made 100% off

1 Mar 08, 2022
This is a CLI program which can help you generate your own QR Code.

Python-QR-code-generator This is a CLI program which can help you generate your own QR Code. Single.py This will allow you only to input a single mess

1 Dec 24, 2021
Terminal Colored Text for Python

Terminal Colored Text for Python

R3CKhi-**75 3 Sep 10, 2022
Container images for portable development environments

Docker Dev Spin up a container to develop from anywhere! To run, just: docker run -ti aghost7/nodejs-dev:boron tmux new Alternatively, if on Linux: p

Jonathan Boudreau 163 Dec 22, 2022
uploadgram uses your Telegram account to upload files up to 2GiB, from the Terminal.

uploadgram uploadgram uses your Telegram account to upload files up to 2GiB, from the Terminal. Heavily inspired by the telegram-upload Installing: pi

Shrimadhav U K 97 Jan 06, 2023
A CLI tool for using GLIDE to generate images from text.

Text-Glided-Diffusion Installation First clone this repository: git clone https://github.com/afiaka87/text-glided-diffusion.git cd text-glided-diffusi

Clay Mullis 68 Dec 30, 2022
🎈 `st` is a CLI to quickly kick-off your new Streamlit project

🎈 st - a friendly Streamlit CLI st is a CLI that helps you kick-off a new Streamlit project so you can start crafting the app as soon as possible! Ho

Arnaud 18 Dec 19, 2022
Personal and work vim 8 configuration with submodules

vimfiles Windows Vim 8 configuration files based on the recommendations of Ruslan Osipov, Keep Your vimrc file clean and The musings of bluz71. :help

1 Aug 27, 2022
bsp_tool provides a Command Line Interface for analysing .bsp files

bsp_tool Python library for analysing .bsp files bsp_tool provides a Command Line Interface for analysing .bsp files Current development is focused on

Jared Ketterer 64 Dec 28, 2022
Access hacksec.in from your command-line

Access hacksec.in from your command-line

hacksec.in 3 Oct 26, 2022
A CLI tool that scans through a directory and organizes all loose files into folders by file type.

Organizer CLI Organizer CLI is a python command line tool that goes through a given directory and organizes all un-folder bound files into folders by

Mulaza Jacinto 6 Dec 14, 2022
Lsp Plugin for working with Python virtual environments

py_lsp.nvim What is py_lsp? py_lsp.nvim is a neovim plugin that helps with using the lsp feature for python development. It tackles the problem about

Patrick Haller 55 Dec 27, 2022
CLI Utility to encode and recursively recreate directories with ffmpeg.

FFenmass CLI Utility to encode and recursively recreate directories with ffmpeg. Report Bug Β· Request Feature Table of Contents Getting Started Prereq

George Av. 8 May 06, 2022
Program Command Line Interface (CLI) Sederhana: Pemesanan Nasi Goreng Hekel

Program ini merupakan aplikasi yang berjalan di dalam command line (terminal). Program ini menggunakan built-in library python yaitu argparse yang dapat menerima parameter saat program ini dijalankan

Habib Abdurrasyid 5 Nov 19, 2021