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 utility that, given a markdown file, checks whether all its links work.

A command-line utility written in Python that checks validity of links in a markdown file.

Teclado 2 Dec 08, 2021
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
A Multipurpose bot with many Commands made using Pycord

This repo has all of the commands you will ever need in a discord bot. a Multipurpose discord bot

Pogrammar 42 Dec 18, 2022
A supercharged Git/GitHub command line interface (CLI)

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

Donne Martin 7.4k Jan 07, 2023
Pastekan adalah website paste kode / teks sederhana

Pastekan pastekan adalah website paste kode / teks sederhana. install pip install pastekan penggunaan pastekan myfile.txt atau echo "hi" | pastekan

Sekai Kode 1 Dec 24, 2021
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
dsub is a command-line tool that makes it easy to submit and run batch scripts in the cloud.

Open-source command-line tool to run batch computing tasks and workflows on backend services such as Google Cloud.

Data Biosphere 233 Jan 01, 2023
Albert launcher extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecular substance, and more

unit-converter-albert-ext Extension for converting units of length, mass, speed, temperature, time, current, luminosity, printing measurements, molecu

Jonah Lawrence 2 Jan 13, 2022
A command line tool to hide and reveal information inside images (works for both PNGs and JPGs)

ImgReRite A command line tool to hide and reveal information inside images (work

Jigyasu 10 Jul 27, 2022
Features terminal for python

Features Terminal V1.0 (23/10/2021) Um programa para linux com diferentes ferramentas! Recursos: Criador de QR code Gerador de senhas Teste de velocid

1 Oct 26, 2021
Custom 64 bit shellcode encoder that evades detection and removes some common badchars (\x00\x0a\x0d\x20)

x64-shellcode-encoder Custom 64 bit shellcode encoder that evades detection and removes some common badchars (\x00\x0a\x0d\x20) Usage Using a generato

Cole Houston 2 Jan 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
Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections.

code-connect Open a file in your locally running Visual Studio Code instance from arbitrary terminal connections. Motivation VS Code supports opening

Christian Volkmann 56 Nov 19, 2022
A lightweight terminal-based password manager coded with Python using SQLCipher for SQLite database encryption.

password-manager A lightweight terminal-based password manager coded with Python using SQLCipher for SQLite database encryption. Screenshot Pre-requis

Leonardo de Araujo 15 Oct 15, 2022
Kattis shell for getting examples, testing and submitting.

Kattis shell for getting examples, testing and submitting.

Simon Green Kristensen 15 Sep 30, 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
CLI based Crunchyroll Account Checker Proxyless written in python from scratch.

A tool for checking Combolist of Crunchyroll accounts without proxies, It is written in Python from Scratch ,i.e, no external module is used rather than inbuilt Python modules.

Abhijeet 8 Dec 13, 2022
moviepy-cli: Command line interface for MoviePy.

Moviepy-cli is designed to apply several video editing in a single command with Moviepy as an alternative to Video-cli.

Kentaro Wada 23 Jun 29, 2022
Gamestonk Terminal is an awesome stock and crypto market terminal

Gamestonk Terminal is an awesome stock and crypto market terminal. A FOSS alternative to Bloomberg Terminal.

Gamestonk Terminal 18.6k Jan 03, 2023
Conditional Transformer Language Model for Controllable Generation

CTRL - A Conditional Transformer Language Model for Controllable Generation Authors: Nitish Shirish Keskar, Bryan McCann, Lav Varshney, Caiming Xiong,

Salesforce 1.7k Jan 05, 2023