Skip to main content

GitHub automatic project manager tool

Project description

Python package Coverage Status

github-automation

This tool will help you maintain and organize your GitHub project using an automation tool.

Use case

In case you work with GitHub projects, and maintain a board for your project this tool is for you. As we offer a functionality of managing your board in GitHub project boards. This is by searching for the issues or pull request you wish to include in the board (By a set of filter you provide) and placing them in the right place in your board for you - both in the correct column and the correct place within the column.

The supported functionality is:

  • Adding new issues or pull requests to your board.
  • Moving issues or pull requests to the correct column of your project, with the priority in mind.
  • Sorting your issues or pull requests within your existing columns by their priorities and creation times.
  • Removing issues or pull requests that fail to meet your filters.

In order to configure github-automation you will need to create an .ini file, here is an example:

[General]
closed_issues_column = Done
merged_pull_requests_column = Merged
project_owner = ronykoz
repository_name = test
project_number = 1
priority_list = Critical,High,Medium,Low
filter_labels=bug
must_have_labels=test
cant_have_labels=not test
column_names = Queue,In progress,Review in progress,Waiting for Docs
column_rule_desc_order = Queue,Waiting for Docs,Review in progress,In progress

[Actions]
remove
add
move

[Queue]
issue.assignees = false

[In progress]
issue.assignees = true
pull_request.assignees = true

[Review in progress]
issue.assignees = true
issue.pull_request = true
issue.pull_request.review_requested = true
pull_request.review_requested = true

[Waiting for Docs]
issue.assignees = true
issue.pull_request = true
issue.pull_request.review_requested = true
issue.pull_request.review_completed = true
issue.pull_request.assignees = ronykoz

While the General and Actions sections must be in the .ini the rest of the sections are dynamic, and each represents the rules for each of your columns. The keys listed in the column section are the attributes of the classes which represent the issue or pull request you are working on. For a more detailed explanation please click here

GitHub Actions

In order to use this in a github action please follow this documentation.


Usage

There are three options to run the tool:

  1. Configure an .ini file like described above and then using the github-automation manage -c <path to ini> command or the wehbhook-manage command which is used for events.
  2. Import the code and create some more custom rules for your self, like importing issues from another board(FYI this will be added to the tool as well).
  3. GitHub actions - In order to use this in a github action please follow this documentation.

Token

In any solution you will have to set an envioroonment variable GITHUB_TOKEN which is the token you will generate in order for the tool to connect to your GitHub project. Although we do offer the option to pass that along with your client object while taking the API option(Usage case number 2).

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

github-automation-0.2.3.tar.gz (34.0 kB view details)

Uploaded Source

Built Distribution

github_automation-0.2.3-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file github-automation-0.2.3.tar.gz.

File metadata

  • Download URL: github-automation-0.2.3.tar.gz
  • Upload date:
  • Size: 34.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for github-automation-0.2.3.tar.gz
Algorithm Hash digest
SHA256 9e203c698027cf5ff4e2464a892a2a64b21b496ffdad4036dcf021b501173f4e
MD5 89d6355c0faeda4cb96c3d75d26a5ba6
BLAKE2b-256 5e4d5d849fd06e3558838902d51c53aa384aec0326aaee39d67842c944499710

See more details on using hashes here.

File details

Details for the file github_automation-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: github_automation-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for github_automation-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 29fa118e9b1534978cc57531854d4a828510b1670a10ae92fe6c4b85870b64fe
MD5 40416db34a076c457957e90be6e36214
BLAKE2b-256 aff5516e436299ca35f36cc329275a40694bbd9f3e82dc336559c9e253aabbfb

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