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 command line tool (and Python library) for archiving Twitter JSON

A command line tool (and Python library) for archiving Twitter JSON

Documenting the Now 1.3k Dec 28, 2022
Python Processing Tool for Vasp Ipnut/Output

PivotPy A Python Processing Tool for Vasp Input/Output. A CLI is available in Powershell, see Vasp2Visual. stylea{text-decoration: none !important;c

Abdul Saboor 5 Aug 16, 2022
Simple command line tool to train and deploy your machine learning models with AWS SageMaker

metamaker Simple command line tool to train and deploy your machine learning models with AWS SageMaker Features metamaker enables you to: Build a dock

Yasuhiro Yamaguchi 5 Jan 09, 2022
Termtyper is a TUI typing application that provides you a great feel with typing with a lot of options to tweak

Termtyper Termtyper is a TUI (Text User Interface) typing application that provides you a great feel with typing with a lot of options to tweak! It is

Noob Coder 834 Dec 27, 2022
command line interface to manage VALORANT skins

A PROPER RELEASE IS COMING SOON, IF YOU KNOW HOW TO USE PYTHON YOU CAN USE IT NOW! valorant skin manager command line interface simple command line in

colinh 131 Dec 25, 2022
A command-line tool to upload local files and pastebin pastes to your mega account, without signing in anywhere

A command-line tool to upload local files and pastebin pastes to your mega account, without signing in anywhere

ADI 4 Nov 17, 2022
Free and Open-Source Command Line tool for Text Replacement

Sniplet Free and Open Source Text Replacement Tool Description: Sniplet is a work in progress CLI tool which can do text replacement globally in Linux

Veeraraghavan Narasimhan 13 Nov 28, 2022
gcptree - Like the unix tree command but for GCP Org Heirarchy

gcptree Like the unix tree command but for GCP Org Heirarchy. For a note on coloring, the org node is green, folders and blue, and projects that are n

Ryan Canty 25 Sep 06, 2022
A supercharged Git/GitHub command line interface (CLI)

A supercharged Git/GitHub command line interface (CLI).

Donne Martin 7.4k Jan 07, 2023
A terminal UI dashboard to monitor requests for code review across Github and Gitlab repositories.

A terminal UI dashboard to monitor requests for code review across Github and Gitlab repositories.

Kyle Harrison 150 Dec 14, 2022
This is a Command Line program to interact with your NFTs, Cryptocurrencies etc

This is a Command Line program to interact with your NFTs, Cryptocurrencies etc. via the ThirdWeb Platform. This is just a fun little project that I made to be able to connect to blockchains and Web3

Arpan Pandey 5 Oct 02, 2022
Present - A terminal-based presentation tool with colors and effects.

present A terminal-based presentation tool with colors and effects. You can also play a codio (pre-recorded code block) on a slide. present is built o

Vinayak Mehta 4.2k Jan 03, 2023
f90nml - A Fortran namelist parser, generator, and editor

f90nml - A Fortran namelist parser, generator, and editor A Python module and command line tool for parsing Fortran namelist files Documentation The c

Marshall Ward 110 Dec 14, 2022
Cek Username IG Yang Masih Bisa Dipake

Cek Username IG Cara Install $ pkg update && pkg upgrade $ pkg install python $ pkg install git $ git clone https://github.com/Dekusec/ig-checker $ cd

Deku 3 Nov 28, 2021
A simple python script to execute a command when a YubiKey is disconnected

YubiKeyExecute A python script to execute a command when a YubiKey / YubiKeys are disconnected. β€β€β€Ž β€Ž How to use: 1. Download the latest release and d

6 Mar 12, 2022
Command line interface for unasync

CLI for unasync Command line interface for unasync Getting started Install Run the following command to install the package with pip: pip install unas

Leynier GutiΓ©rrez GonzΓ‘lez 3 Apr 04, 2022
A CLI for advanced management of your notes with simple commands

PyNoteManager This is a CLI for advanced management of your notes with simple co

3 Dec 30, 2021
Custom function scheduler TUI (text-based user interface) in the console

Custom function scheduler TUI (text-based user interface) in the console

Luke 1 Oct 26, 2022
MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future

MsfMania MsfMania is a command line tool developed in Python that is designed to bypass antivirus software on Windows and Linux/Mac in the future. Sum

446 Dec 21, 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