yojenkins


Nameyojenkins JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/ismet55555/yojenkins
SummaryA CLI tool to manage and have fun with Jenkins server
upload_time2024-09-09 01:27:02
maintainerIsmet Handzic
docs_urlNone
authorIsmet Handzic
requires_python>=3.7
licenseNone
keywords jenkins monitor manage job build fun
VCS
bugtrack_url
requirements PyYAML click-help-colors click coloredlogs docker json2xml pypiwin32 python-jenkins pywin32 requests-futures toml windows-curses xmltodict yaspin
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img width="120" alt="portfolio_view" src="https://raw.githubusercontent.com/ismet55555/yojenkins/main/docs/source/logo_final.png">
</p>

<h1 align="center">yojenkins</h1>

<p align="center">

<a href="https://pypi.org/project/yojenkins/">
  <img alt="PYPI Version" src="https://img.shields.io/pypi/v/yojenkins?color=blue">
</a>

<a href="https://pypi.org/project/yojenkins/">
  <img alt="Python Versions" src="https://img.shields.io/pypi/pyversions/yojenkins">
</a>

<a href="https://pypi.org/project/yojenkins/">
  <img alt="PYPI Status" src="https://img.shields.io/pypi/status/yojenkins">
</a>

<a href="https://github.com/ismet55555/yojenkins/blob/main/LICENSE">
  <img alt="Licence" src="https://img.shields.io/pypi/l/yojenkins">
</a>

<a href="https://github.com/ismet55555/yojenkins/actions/workflows/test-build-publish.yml">
  <img alt="Workflow" src="https://github.com/ismet55555/yojenkins/actions/workflows/test-build-publish.yml/badge.svg">
</a>

<h3 align="center">
<a href="https://www.yojenkins.com/installation/">Install Now!</a>
</h3>

</p>

**`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](#complete-cli-outline)_

## :blue_book: Documentation

For all information and documentation, please visit [yojenkins.com](https://yojenkins.com)

## :movie_camera: Overview Video

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

<a target="_blank" rel="noopener noreferrer" href="https://youtu.be/w1p-eMzKuLE">
  <img width="35%" alt="overview_video" style="border:2px solid black;" src="https://img.youtube.com/vi/w1p-eMzKuLE/hqdefault.jpg">
</a>

## :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:

- Read more about the [release cycle](https://en.wikipedia.org/wiki/Software_release_life_cycle).
- [Bug Reports](https://www.yojenkins.com/bug_report/)
- [Feature Requests](https://www.yojenkins.com/feature_request/)

## :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.

- For financial or marketing support options see [Support This Project!](https://www.yojenkins.com/support/).
- To contribute to this project, see [Contribute to This Project!](https://www.yojenkins.com/contribute/).

## :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.

- [Official Jenkins CLI](https://www.jenkins.io/doc/book/managing/cli/)
- [jenkins-cli](https://github.com/jenkins-zh/jenkins-cli)
- [jenni](https://github.com/m-sureshraj/jenni)
- [jenkins-job-cli](https://github.com/gocruncher/jenkins-job-cli)

## Complete CLI Outline

```txt
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
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ismet55555/yojenkins",
    "name": "yojenkins",
    "maintainer": "Ismet Handzic",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "jenkins monitor manage job build fun",
    "author": "Ismet Handzic",
    "author_email": "ismet.handzic@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/66/6a/b2d649cd67abbf59b65fa8791f1ffeff15d39c26e33371501f70c6846b21/yojenkins-0.1.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img width=\"120\" alt=\"portfolio_view\" src=\"https://raw.githubusercontent.com/ismet55555/yojenkins/main/docs/source/logo_final.png\">\n</p>\n\n<h1 align=\"center\">yojenkins</h1>\n\n<p align=\"center\">\n\n<a href=\"https://pypi.org/project/yojenkins/\">\n  <img alt=\"PYPI Version\" src=\"https://img.shields.io/pypi/v/yojenkins?color=blue\">\n</a>\n\n<a href=\"https://pypi.org/project/yojenkins/\">\n  <img alt=\"Python Versions\" src=\"https://img.shields.io/pypi/pyversions/yojenkins\">\n</a>\n\n<a href=\"https://pypi.org/project/yojenkins/\">\n  <img alt=\"PYPI Status\" src=\"https://img.shields.io/pypi/status/yojenkins\">\n</a>\n\n<a href=\"https://github.com/ismet55555/yojenkins/blob/main/LICENSE\">\n  <img alt=\"Licence\" src=\"https://img.shields.io/pypi/l/yojenkins\">\n</a>\n\n<a href=\"https://github.com/ismet55555/yojenkins/actions/workflows/test-build-publish.yml\">\n  <img alt=\"Workflow\" src=\"https://github.com/ismet55555/yojenkins/actions/workflows/test-build-publish.yml/badge.svg\">\n</a>\n\n<h3 align=\"center\">\n<a href=\"https://www.yojenkins.com/installation/\">Install Now!</a>\n</h3>\n\n</p>\n\n**`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.\n\nThis tool is able to be integrated into a script as middleware in order to automate Jenkins related tasks or enable Jenkins configuration as code.\n\n**`yojenkins` will liberate you and your browser from the Jenkins Web UI**\n\nWith **`yojenkins`** you can manage:\n\n- **Authentication**: _Authentication structure similar to AWS API_\n- **Server**: _Create, shutdown, view queue, and more_\n- **User accounts**: _Create, delete, add/remove permission, and more_\n- **Nodes/agents:** _Create, delete, shut down server, and more_\n- **Credentials**: _Create, update, delete, list, and more_\n- **Folders:** _Create items, delete items, disable, enable, and more_\n- **Jobs:** _Create, delete, trigger, monitor, search, and more_\n- **Builds:** _Monitor, abort, tail logs, follow logs, and more_\n- **Stages:** _Get info, get logs, view steps, view status_\n- **Steps:** _Get info_\n- **Other tools and functions:** _Run groovy scripts remotely, run custom REST calls, setup a shared library, view command usage history, and more_\n\n_For a complete CLI command outline, see [section below](#complete-cli-outline)_\n\n## :blue_book: Documentation\n\nFor all information and documentation, please visit [yojenkins.com](https://yojenkins.com)\n\n## :movie_camera: Overview Video\n\nThis video presents an overview of `yojenkins`, while demonstrating a few basic funcitonalities and workflow.\n\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://youtu.be/w1p-eMzKuLE\">\n  <img width=\"35%\" alt=\"overview_video\" style=\"border:2px solid black;\" src=\"https://img.youtube.com/vi/w1p-eMzKuLE/hqdefault.jpg\">\n</a>\n\n## :ballot_box_with_check: Project Contact\n\nIf you happen to find any issues with this project or think of any features that you want to\nrequest, see the following links:\n\n- Read more about the [release cycle](https://en.wikipedia.org/wiki/Software_release_life_cycle).\n- [Bug Reports](https://www.yojenkins.com/bug_report/)\n- [Feature Requests](https://www.yojenkins.com/feature_request/)\n\n## :heartbeat: Help this Project\n\nThis is a very young project and I am always looking for help in any way. If you like this project, please consider helping.\n\n- For financial or marketing support options see [Support This Project!](https://www.yojenkins.com/support/).\n- To contribute to this project, see [Contribute to This Project!](https://www.yojenkins.com/contribute/).\n\n## :broken_heart: Similar Projects\n\nIf this project is not something you were were looking for, that ok, there are similar projects out there,\nwhich each one with their own advantages and disadvantages.\n\n- [Official Jenkins CLI](https://www.jenkins.io/doc/book/managing/cli/)\n- [jenkins-cli](https://github.com/jenkins-zh/jenkins-cli)\n- [jenni](https://github.com/m-sureshraj/jenni)\n- [jenkins-job-cli](https://github.com/gocruncher/jenkins-job-cli)\n\n## Complete CLI Outline\n\n```txt\nyojenkins\n    |\n    |-- account     Manage user accounts\n    |     |--- create           Create a user account\n    |     |--- delete           Delete a user account\n    |     |--- info             Get user information\n    |     |--- list             List all users\n    |     |--- password-reset   Reset a user password\n    |     |--- permission       Add or remove user permission\n    |     |--- permission-list  List all available permissions\n    |\n    |\n    |-- auth        Manage authentication and profiles\n    |     |--- configure  Configure authentication\n    |     |--- show       Show the local credentials profiles\n    |     |--- token      Generate authentication API token\n    |     |--- user       Show current user information\n    |     |--- verify     Check if credentials can authenticate\n    |     |--- wipe       Wipe all credentials for this device\n    |\n    |\n    |-- build       Manage builds\n    |     |--- abort    Abort build\n    |     |--- browser  Open build in web browser\n    |     |--- delete   Delete build\n    |     |--- diff     Find difference between two builds\n    |     |--- info     Build information\n    |     |--- logs     Get build logs\n    |     |--- monitor  Start monitor UI\n    |     |--- rebuild  Rebuild a build with same parameters\n    |     |--- stages   Get build stages\n    |     |--- status   Build status text/label\n    |\n    |\n    |-- credential  Manage credentials\n    |     |--- config        Get credential configuration\n    |     |--- create        Create new credentials\n    |     |--- delete        Remove credentials\n    |     |--- get-template  Cred. type template to create a cred.\n    |     |--- info          Credential information\n    |     |--- list          List credentials\n    |     |--- move          Move a credential to another folder/domain\n    |     |--- update        Reconfigure existing credentials\n    |\n    |\n    |-- folder      Manage folders\n    |     |--- browser     Open folder in web browser\n    |     |--- config      Get folder configuration\n    |     |--- copy        Copy an existing item\n    |     |--- create      Create an item [folder, view, job]\n    |     |--- delete      Delete folder or view\n    |     |--- info        Folder information\n    |     |--- items       List all items in folder\n    |     |--- jobs        List all jobs in folder\n    |     |--- search      Search folders by REGEX pattern\n    |     |--- subfolders  List all subfolders in folder\n    |     |--- views       List all views in folder\n    |\n    |\n    |-- job         Manage jobs\n    |     |--- browser       Open job in web browser\n    |     |--- build         Build a job\n    |     |--- build-exist   Check if build number exists\n    |     |--- config        Get job configuration\n    |     |--- create        Create a job\n    |     |--- delete        Delete job\n    |     |--- diff          Find difference between two jobs\n    |     |--- disable       Disable job\n    |     |--- enable        Enable job\n    |     |--- info          Job information\n    |     |--- last          Get previous build number\n    |     |--- list          List all builds for job\n    |     |--- monitor       Start monitor UI\n    |     |--- next          Get next build number\n    |     |--- queue-cancel  Cancel this job in queue\n    |     |--- queue-check   Check if this job is in queue\n    |     |--- rename        Rename job\n    |     |--- search        Search jobs by REGEX pattern\n    |     |--- set           Set the next build number\n    |     |--- wipe          Wipe job workspace\n    |\n    |\n    |-- node        Manage nodes\n    |     |--- config            Get node configuration\n    |     |--- create-ephemeral  Setup a local or remote ephemeral node\n    |     |--- create-permanent  Setup a local or remote persistent node\n    |     |--- delete            Delete a node\n    |     |--- disable           Disable a node\n    |     |--- enable            Enable a node\n    |     |--- info              Node information\n    |     |--- list              List all nodes\n    |     |--- logs              Node logs\n    |     |--- prepare           Prepare a remote machine to become a node\n    |     |--- reconfig          Reconfigure the node\n    |     |--- status            Node status\n    |\n    |\n    |-- server      Manage server\n    |     |--- browser          Open server home page in web browser\n    |     |--- info             Server information\n    |     |--- people           Show all people/users on server\n    |     |--- plugins          Show plugin information\n    |     |--- queue            Show current job build queues on server\n    |     |--- quiet            Server quite mode enable/disable\n    |     |--- reachable        Check if server is reachable\n    |     |--- restart          Restart the server\n    |     |--- server-deploy    Create a local development server (Docker)\n    |     |--- server-teardown  Remove a local development server\n    |     |--- shutdown         Shut down the server\n    |\n    |\n    |-- stage       Manage build stages\n    |     |--- info    Stage information\n    |     |--- logs    Stage steps\n    |     |--- status  Stage status text\n    |     |--- steps   Get stage steps\n    |\n    |\n    |-- step        Manage stage steps\n    |     |--- info  Step information\n    |\n    |\n    |-- tools       Tools and more\n          |--- bug-report        Report a bug\n          |--- docs              Open browser to the documentation\n          |--- feature-request   Request a feature\n          |--- history           Show detailed command usage history\n          |--- rest-request      Send a generic Rest request to server\n          |--- run-script        Run Groovy script on server, return result\n          |--- shared-lib-setup  Set up a Jenkins shared library\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A CLI tool to manage and have fun with Jenkins server",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/ismet55555/yojenkins"
    },
    "split_keywords": [
        "jenkins",
        "monitor",
        "manage",
        "job",
        "build",
        "fun"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6edb8b377e82b433990d87380e412e862588a1da477f7d37a77322ff6ba0a01f",
                "md5": "7c352f280702aba2fbaff5923ef32565",
                "sha256": "6530c322a7382122e08f73048479779b966fa8d9752fd01544dfb95b3c8c7427"
            },
            "downloads": -1,
            "filename": "yojenkins-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7c352f280702aba2fbaff5923ef32565",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 1163660,
            "upload_time": "2024-09-09T01:27:00",
            "upload_time_iso_8601": "2024-09-09T01:27:00.241324Z",
            "url": "https://files.pythonhosted.org/packages/6e/db/8b377e82b433990d87380e412e862588a1da477f7d37a77322ff6ba0a01f/yojenkins-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "666ab2d649cd67abbf59b65fa8791f1ffeff15d39c26e33371501f70c6846b21",
                "md5": "6e2beea4a18ec3d85e0b44ea66004768",
                "sha256": "50b221bcf857d6b1285310ab5a109e488ff156538c31e0675d6ba0d35bf330a5"
            },
            "downloads": -1,
            "filename": "yojenkins-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6e2beea4a18ec3d85e0b44ea66004768",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 1173356,
            "upload_time": "2024-09-09T01:27:02",
            "upload_time_iso_8601": "2024-09-09T01:27:02.109888Z",
            "url": "https://files.pythonhosted.org/packages/66/6a/b2d649cd67abbf59b65fa8791f1ffeff15d39c26e33371501f70c6846b21/yojenkins-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-09 01:27:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ismet55555",
    "github_project": "yojenkins",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0"
                ]
            ]
        },
        {
            "name": "click-help-colors",
            "specs": [
                [
                    "==",
                    "0.9.4"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "coloredlogs",
            "specs": [
                [
                    "==",
                    "15.0.1"
                ]
            ]
        },
        {
            "name": "docker",
            "specs": [
                [
                    "==",
                    "7.1.0"
                ]
            ]
        },
        {
            "name": "json2xml",
            "specs": []
        },
        {
            "name": "pypiwin32",
            "specs": []
        },
        {
            "name": "python-jenkins",
            "specs": [
                [
                    "==",
                    "1.8.2"
                ]
            ]
        },
        {
            "name": "pywin32",
            "specs": []
        },
        {
            "name": "requests-futures",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "toml",
            "specs": [
                [
                    "==",
                    "0.10.2"
                ]
            ]
        },
        {
            "name": "windows-curses",
            "specs": []
        },
        {
            "name": "xmltodict",
            "specs": []
        },
        {
            "name": "yaspin",
            "specs": []
        }
    ],
    "lcname": "yojenkins"
}
        
Elapsed time: 0.31492s