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
An anime command-line system information tool written in python.

Animefetch - v0.0.3 An anime command-line system information tool written in python. Description Animefetch is an anime command-line system informatio

Thadeuks 6 Jun 17, 2022
Dead simple CLI tool to try Python packages - It's never been easier! :package:

try - It's never been easier to try Python packages try is an easy-to-use cli tool to try out Python packages. Features Install specific package versi

Timo Furrer 659 Dec 28, 2022
Universal Command Line Interface for Amazon Web Services

This package provides a unified command line interface to Amazon Web Services.

Amazon Web Services 13.3k Jan 07, 2023
Easily handle day to day CLI operation via Python instead of regular Bash programs.

pz Ever wished to use Python in Bash? Would you choose the Python syntax over sed, awk, ...? Should you exactly know what command would you use in Pyt

CZ.NIC 697 Jan 03, 2023
Squirrel - A cli program to track writing progress

Squirrel Very much a WIP project squirrel is a command line program that tracks you writing progress and gives you useful information and cute and pic

3 Mar 23, 2022
CLI utility to search and download torrents from major torrent sites

CLI Torrent Downloader About CLI Torrent Downloader provides convenient and quick way to search torrent magnet links (and to run associated torrent cl

x0r0x 86 Dec 19, 2022
A user-friendly python CLI for Fmask 4.3 software (GERS Lab, UCONN).

pyFmask What is pyFmask pyFmask is a user-friendly python CLI for Fmask 4.3 software (GERS Lab, UCONN; https://github.com/GERSL/Fmask). Fmask (Zhu et

1 Jan 05, 2022
This is the public repo for the VS Code Extension AT&T i386/IA32 UIUC-ECE391 Syntax Highlighting

AT&T i386 IA32 UIUC ECE391 GCC Highlighter & Snippet & Linter This is the VS Code Extension for UIUC ECE 391, MIT 6.828, and all other AT&T-based i386

Jackgetup 1 Feb 05, 2022
A python program to detect your emotion and suggest a playlist.

mood_music A python program to detect your emotion and suggest a playlist. This program is written in python using opencv,FER() and tensorflow This pr

Aditya_Sai 1 Jan 02, 2022
Python CLI vm manager for remote access of docker images via noVNC

vmman is a tool to quickly boot and view docker-based VMs running on a linux server through noVNC without ssh tunneling on another network.

UCSD Engineers for Exploration 1 Nov 29, 2021
Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.

Enriches Click with option groups, constraints, command aliases, help sections for subcommands, themes for --help and other stuff.

Gianluca Gippetto 62 Dec 22, 2022
A terminal application for managing images and artifacts in Azure Container Registry.

acr-browser acr-browser is a terminal-based user interface for managing container images and artifacts in Azure Container Registry. 🚀 This project ow

Sam Dobson 5 Jul 30, 2022
Python3 parser for Apple's crash reports

pyCrashReport in intended for analyzing crash reports from Apple devices into a clearer view, without all the thread listing and loaded images, just the actual data you really need to debug the probl

7 Aug 19, 2022
🗃️ Fileio-cli wrapper for fileioapi.py with fire.py, inspiration DOS

🗃️ File.io File.io simply upload a file, share the link, and after it is downloaded, the file is completely deleted. An API wrapper for the file.io w

nkot56297 2 May 12, 2022
Make tree planting a part of your daily workflow. 🌳

Continuous Reforestation Make tree planting a part of your daily workflow. 🌳 A GitHub Action for planting trees within your development workflow usin

protontypes 168 Dec 22, 2022
Command line tool to automate transforming the effects of one color profile to another, possibly more standard one.

Finished rendering the frames of that animation, and now the colors look washed out and ugly? This terminal program will solve exactly that.

Eric Xue 1 Jan 26, 2022
A python-based terminal application that displays current cryptocurrency prices

CryptoAssetPrices A python-based terminal application that displays current cryptocurrency prices. Covered Cryptocurrencies Bitcoin (BTC) Ethereum (ET

3 Apr 21, 2022
Python library and command line tool for interacting with Bugzilla

python-bugzilla This package provides two bits: bugzilla python module for talking to a Bugzilla instance over XMLRPC or REST /usr/bin/bugzilla comman

Python Bugzilla Project 112 Nov 05, 2022
A minimalist Vim plugin manager.

A minimalist Vim plugin manager. Pros. Easy to set up: Single file. No boilerplate code required. Easy to use: Concise, intuitive syntax Super-fast pa

Junegunn Choi 30.2k Jan 08, 2023
Centauro - a command line tool with some network management functionality

Centauro Ferramenta de rede O Centauro é uma ferramenta de linha de comando com

1 Jan 01, 2022