Skip to main content

A CLI tool to manage and have fun with Jenkins server

Project description

portfolio_view

yojenkins

PYPI Version Python Versions PYPI Status Licence Workflow

Install Now!

yojenkins is a cross-platform command line interface (CLI) tool to monitor, manage, and deal with Jenkins server. It makes it possible to interact with a Jenkins server without using the browser based Jenkins UI.

This tool is able to be integrated into a script as middleware in order to automate Jenkins related tasks or enable Jenkins configuration as code.

yojenkins will liberate you and your browser from the Jenkins Web UI

With yojenkins you can manage:

  • Authentication: Authentication structure similar to AWS API
  • Server: Create, shutdown, view queue, and more
  • User accounts: Create, delete, add/remove permission, and more
  • Nodes/agents: Create, delete, shut down server, and more
  • Credentials: Create, update, delete, list, and more
  • Folders: Create items, delete items, disable, enable, and more
  • Jobs: Create, delete, trigger, monitor, search, and more
  • Builds: Monitor, abort, tail logs, follow logs, and more
  • Stages: Get info, get logs, view steps, view status
  • Steps: Get info
  • Other tools and functions: Run groovy scripts remotely, run custom REST calls, setup a shared library, view command usage history, and more

For a complete CLI command outline, see section below

:blue_book: Documentation

For all information and documentation, please visit yojenkins.com

:movie_camera: Overview Video

This video presents an overview of yojenkins, while demonstrating a few basic funcitonalities and workflow.

overview_video

:ballot_box_with_check: Project Contact

If you happen to find any issues with this project or think of any features that you want to request, see the following links:

:heartbeat: Help this Project

This is a very young project and I am always looking for help in any way. If you like this project, please consider helping.

:broken_heart: Similar Projects

If this project is not something you were were looking for, that ok, there are similar projects out there, which each one with their own advantages and disadvantages.

Complete CLI Outline

yojenkins
    |
    |-- account     Manage user accounts
    |     |--- create           Create a user account
    |     |--- delete           Delete a user account
    |     |--- info             Get user information
    |     |--- list             List all users
    |     |--- password-reset   Reset a user password
    |     |--- permission       Add or remove user permission
    |     |--- permission-list  List all available permissions
    |
    |
    |-- auth        Manage authentication and profiles
    |     |--- configure  Configure authentication
    |     |--- show       Show the local credentials profiles
    |     |--- token      Generate authentication API token
    |     |--- user       Show current user information
    |     |--- verify     Check if credentials can authenticate
    |     |--- wipe       Wipe all credentials for this device
    |
    |
    |-- build       Manage builds
    |     |--- abort    Abort build
    |     |--- browser  Open build in web browser
    |     |--- delete   Delete build
    |     |--- diff     Find difference between two builds
    |     |--- info     Build information
    |     |--- logs     Get build logs
    |     |--- monitor  Start monitor UI
    |     |--- rebuild  Rebuild a build with same parameters
    |     |--- stages   Get build stages
    |     |--- status   Build status text/label
    |
    |
    |-- credential  Manage credentials
    |     |--- config        Get credential configuration
    |     |--- create        Create new credentials
    |     |--- delete        Remove credentials
    |     |--- get-template  Cred. type template to create a cred.
    |     |--- info          Credential information
    |     |--- list          List credentials
    |     |--- move          Move a credential to another folder/domain
    |     |--- update        Reconfigure existing credentials
    |
    |
    |-- folder      Manage folders
    |     |--- browser     Open folder in web browser
    |     |--- config      Get folder configuration
    |     |--- copy        Copy an existing item
    |     |--- create      Create an item [folder, view, job]
    |     |--- delete      Delete folder or view
    |     |--- info        Folder information
    |     |--- items       List all items in folder
    |     |--- jobs        List all jobs in folder
    |     |--- search      Search folders by REGEX pattern
    |     |--- subfolders  List all subfolders in folder
    |     |--- views       List all views in folder
    |
    |
    |-- job         Manage jobs
    |     |--- browser       Open job in web browser
    |     |--- build         Build a job
    |     |--- build-exist   Check if build number exists
    |     |--- config        Get job configuration
    |     |--- create        Create a job
    |     |--- delete        Delete job
    |     |--- diff          Find difference between two jobs
    |     |--- disable       Disable job
    |     |--- enable        Enable job
    |     |--- info          Job information
    |     |--- last          Get previous build number
    |     |--- list          List all builds for job
    |     |--- monitor       Start monitor UI
    |     |--- next          Get next build number
    |     |--- queue-cancel  Cancel this job in queue
    |     |--- queue-check   Check if this job is in queue
    |     |--- rename        Rename job
    |     |--- search        Search jobs by REGEX pattern
    |     |--- set           Set the next build number
    |     |--- wipe          Wipe job workspace
    |
    |
    |-- node        Manage nodes
    |     |--- config            Get node configuration
    |     |--- create-ephemeral  Setup a local or remote ephemeral node
    |     |--- create-permanent  Setup a local or remote persistent node
    |     |--- delete            Delete a node
    |     |--- disable           Disable a node
    |     |--- enable            Enable a node
    |     |--- info              Node information
    |     |--- list              List all nodes
    |     |--- logs              Node logs
    |     |--- prepare           Prepare a remote machine to become a node
    |     |--- reconfig          Reconfigure the node
    |     |--- status            Node status
    |
    |
    |-- server      Manage server
    |     |--- browser          Open server home page in web browser
    |     |--- info             Server information
    |     |--- people           Show all people/users on server
    |     |--- plugins          Show plugin information
    |     |--- queue            Show current job build queues on server
    |     |--- quiet            Server quite mode enable/disable
    |     |--- reachable        Check if server is reachable
    |     |--- restart          Restart the server
    |     |--- server-deploy    Create a local development server (Docker)
    |     |--- server-teardown  Remove a local development server
    |     |--- shutdown         Shut down the server
    |
    |
    |-- stage       Manage build stages
    |     |--- info    Stage information
    |     |--- logs    Stage steps
    |     |--- status  Stage status text
    |     |--- steps   Get stage steps
    |
    |
    |-- step        Manage stage steps
    |     |--- info  Step information
    |
    |
    |-- tools       Tools and more
          |--- bug-report        Report a bug
          |--- docs              Open browser to the documentation
          |--- feature-request   Request a feature
          |--- history           Show detailed command usage history
          |--- rest-request      Send a generic Rest request to server
          |--- run-script        Run Groovy script on server, return result
          |--- shared-lib-setup  Set up a Jenkins shared library

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yojenkins-0.1.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

yojenkins-0.1.1-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file yojenkins-0.1.1.tar.gz.

File metadata

  • Download URL: yojenkins-0.1.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for yojenkins-0.1.1.tar.gz
Algorithm Hash digest
SHA256 50b221bcf857d6b1285310ab5a109e488ff156538c31e0675d6ba0d35bf330a5
MD5 6e2beea4a18ec3d85e0b44ea66004768
BLAKE2b-256 666ab2d649cd67abbf59b65fa8791f1ffeff15d39c26e33371501f70c6846b21

See more details on using hashes here.

File details

Details for the file yojenkins-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: yojenkins-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for yojenkins-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6530c322a7382122e08f73048479779b966fa8d9752fd01544dfb95b3c8c7427
MD5 7c352f280702aba2fbaff5923ef32565
BLAKE2b-256 6edb8b377e82b433990d87380e412e862588a1da477f7d37a77322ff6ba0a01f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page