Skip to main content

PyPI Python Versions Build Status codecov Ruff License

check_done

Check_done is a command line tool to check that GitHub issues and pull requests in a project board with a status of "Done" are really done.

It checks that:

  • It is closed.
  • It has an assignee.
  • It is assigned to a milestone.
  • All tasks are completed (checkboxes in the description).

Additionally, for pull requests, it checks if they reference an issue.

This ensures a consistent quality on done issues and pull requests, and helps to notice if they were accidentally deemed to be done too early.

Installation

In order to gain access to your project board, issues, and pull requests, check_done needs to be authorized. The exact way to do that depends on whether your project belongs to a GitHub user or organization.

For user projects, create a personal access token with the permission: read:project.

For organization projects, follow the instructions to Installing a GitHub App from a third party using the Check_done app. Remember the app ID and private key of the installed app in order to use for configuration.

Configuration

Check_done can be configured by having a .check_done.yaml in your current directory, or any of the directories above.

Alternatively, you can specify a specific location, for example:

check_done --config some/path/.check_done.yaml

Project and authentication

A minimum configuration requires the URL of the project board and the authentication information from the installation.

The project URL can be seen in the web browser's URL bar when visiting the project board, for example: https://github.com/users/my-username/projects/1/views/1 (for a user) or https://github.com/my-organization/projects/1/ (for an organization).

An example of a user project could look like this:

project_url: "https://github.com/users/my-username/projects/1/views/1"
personal_access_token: "ghp_xxxxxxxxxxxxxxxxxxxxxx"

For an organization project:

project_url: "https://github.com/orgs/my_username/projects/1/views/1"
github_app_id: "1234567"
github_app_private_key: "-----BEGIN RSA PRIVATE KEY-----
something_something
-----END RSA PRIVATE KEY-----
"

In order to avoid having to commit tokens and keys into your repository, you can use environment variables for the values in the configuration YAML by starting them with a $ symbol and wrapping them with curly braces. For example:

personal_access_token: ${MY_PERSONAL_ACCESS_TOKEN_ENVVAR}

Changing the project status to check

By default, check_done checks all issues and pull requests in the last selectable project status. If you left the default names when creating the GitHub project board, this would be the "✅ Done" project status.

If you want to check a different project status, you can specify a partial or exact matching name with this option. For example:

project_status_name_to_check = "Done"

The name takes the first project status that partially matches the case sensitivity. For example, "Done" will also match "✅ Done", but not "done".

If no project status matches, the resulting error messages will show you the exact name of the available project status selections.

Metadata

Release files for check_done 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for check_done 1.1.0
File Size Uploaded
check_done-1.1.0.tar.gz 14.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for check_done 1.1.0
File Interpreter ABI Platform
check_done-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 31.7 kB

Release files / check_done-1.1.0.tar.gz

Download URL check_done-1.1.0.tar.gz
Size 14.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5fb2d2c12a302853174bd70afad389b37ccec1aed964fdfdf8109b3ee59bf4c5
BLAKE2b-256 checksum
How to use checksums
8c319ab450939dc7d3e5fec15152c076e2c7337d6981014d1aa101960d8a00b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.4 CPython/3.13.0 Darwin/24.1.0

Release files / check_done-1.1.0-py3-none-any.whl

Download URL check_done-1.1.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8de746c06f309122b3bba3fc5b5579529f079ef3989e69a7e089d480b0838451
BLAKE2b-256 checksum
How to use checksums
3903ff4ed409c54addd3476e2b1f7b3b628097669b2adc4d860847e2fd51811f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.4 CPython/3.13.0 Darwin/24.1.0

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page