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
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 command line interface to buy things in stregsystemet

Stregsystemet-CLI This repository is the Stregsystemet CLI, to buy things in Stregsystemet, at AAU. Use of this cli-tool is at your own risk and there

F-klubben 14 Oct 18, 2022
A simple discord slash command handler for for discord.py.

A simple discord slash command handler for discord.py About β¦Ώ Installation β¦Ώ Disclaimer β¦Ώ Examples β¦Ώ Documentation β¦Ώ Discussions Note that master bran

641 Jan 03, 2023
MasterDuel Image Recognition Translation Command Line Tool

MasterDuelTranslate(Use Ygo Card DataBase,belong win32 window shot & image match)

PatchouliTC 77 Dec 01, 2022
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 03, 2023
Wordle-textual - Play Wordle from the CLI, using Textual

Wordle, playable from the CLI This project seeks to emulate Wordle in your shell

PhenoM4n4n 3 Mar 29, 2022
ICMP Reverse Shell written in Python 3 and with Scapy (backdoor/rev shell)

icmpdoor - ICMP Reverse Shell icmpdoor is an ICMP rev shell written in Python3 and scapy. Tested on Ubuntu 20.04, Debian 10 (Kali Linux), and Windows

Jeroen van Kessel 206 Dec 29, 2022
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands

PIGIT A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands. For example: git status --short, this project c

Zachary 1 Apr 09, 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
A terminal written in Python.

PyDOS Read the title and then you'll figure out what this actually is. Running First, download or clone this repo. Next, run run.py. After this, you c

TechStudent10 2 Mar 01, 2022
Splitgraph command line client and python library

Splitgraph Overview Splitgraph is a tool for building, versioning and querying reproducible datasets. It's inspired by Docker and Git, so it feels fam

Splitgraph 313 Dec 24, 2022
TUIFIManager - A cross-platform terminal-based file manager

TUIFI Manager A cross-platform terminal-based file manager (and component), mean

142 Dec 26, 2022
Random scripts and other bits for interacting with the SpaceX Starlink user terminal hardware

starlink-grpc-tools This repository has a handful of tools for interacting with the gRPC service implemented on the Starlink user terminal (AKA "the d

270 Dec 29, 2022
LSD (Linux Spotify Downloader) is a command line tool for downloading or rather recording content on Spotify.

LSD (Linux Spotify Downloader) is a command line tool for downloading or rather recording content on Spotify.

Jannis Zahn 7 Jun 21, 2022
Fylm is a wonderful automated command line app for organizing your film media.

Overview Fylm is a wonderful automated command line app for organizing your film media. You can pronounce it Film or File 'em, whichever you like! It

Brandon Shelley 30 Dec 05, 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
split-manga-pages: a command line utility written in Python that converts your double-page layout manga to single-page layout.

split-manga-pages split-manga-pages is a command line utility written in Python that converts your double-page layout manga (or any images in double p

Christoffer Aakre 3 May 24, 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
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
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