diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 93cbffc..1fb1431 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.1.0 +current_version = 0.1.1 commit = True tag = True allow_dirty = False diff --git a/README.md b/README.md index 106fbf2..cc62154 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@

yojenkins

-

@@ -41,24 +40,24 @@ This tool is able to be integrated into a script as middleware in order to autom 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* +- **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. @@ -67,22 +66,21 @@ This video presents an overview of `yojenkins`, while demonstrating a few basic overview_video +## :ballot_box_with_check: Project Contact -## :ballot_box_with_check: Project Status - -This project is in release phase **alpha**. Please report any issues, odd behavior, or suggestions. -This does not mean that this project is not usable. It just means that the project is still in development. - - Read more about the [release cycle](https://en.wikipedia.org/wiki/Software_release_life_cycle). - - See [Bug Reports](https://www.yojenkins.com/bug_report/) and [Feature Requests](https://www.yojenkins.com/feature_request/) +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! +## :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/). - +- 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 @@ -93,3 +91,138 @@ which each one with their own advantages and disadvantages. - [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 +``` diff --git a/VERSION b/VERSION index 6e8bf73..17e51c3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.0 +0.1.1 diff --git a/docs/source/cli_outline.md b/docs/source/cli_outline.md index 880e5cb..8706d53 100644 --- a/docs/source/cli_outline.md +++ b/docs/source/cli_outline.md @@ -3,7 +3,7 @@ Below is a complete outline of the `yojenkins` CLI command structure. !!! note -As of Version: **0.1.0** +As of Version: **0.1.1** ```text yojenkins diff --git a/setup.py b/setup.py index d2ea58c..b349e42 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ import setuptools # Package version number (Updated via bump2version tool) -__version__ = "0.1.0" +__version__ = "0.1.1" def check_py_version(): """Check the python version""" @@ -92,7 +92,7 @@ def read(fname): ] }, classifiers=[ - 'Development Status :: 3 - Alpha', + 'Development Status :: 4 - Beta', 'License :: OSI Approved :: Apache Software License', 'Natural Language :: English', 'Intended Audience :: System Administrators', @@ -109,6 +109,7 @@ def read(fname): 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3 :: Only' ] ) diff --git a/yojenkins/__init__.py b/yojenkins/__init__.py index e1cb5c9..fe6d350 100644 --- a/yojenkins/__init__.py +++ b/yojenkins/__init__.py @@ -2,6 +2,6 @@ __title__ = 'yojenkins' __summary__ = "A CLI tool to interface with Jenkins server" -__version__ = "0.1.0" +__version__ = "0.1.1" __author__ = "Ismet Handzic" __copyright__ = "Copyright 2022 %s" % __author__