Skip to main content

gh-issue-validator

gh-issue-validator is a customizable "linter" for issues in a GitHub repository. It ensures issues conform to a specified format.

When an issue doesn't conform to the desired format, a bot will post a comment including all errors found.

Installation

You typically wouldn't install this package on your local machine. It expects to be used in GitHub Actions.

Usage

gh-issue-validator allows you to use first-party checks or custom checks. The following example uses some of the included first-party checks:

from gh_issue_validator import validate
from gh_issue_validator.checks.headings import CheckMissingHeadings, HeadingRequirement

HEADING_REQUIREMENTS =[
    {"heading": "Problem statement", "min_words": 10},
    {"heading": "Proposed solution", "min_words": 5, "max_words": 100},
]

validate(checks=[
    CheckMissingHeadings(requirements=HEADING_REQUIREMENTS),
    CheckWordCount(requirements=HEADING_REQUIREMENTS),
])

If the file above lives at .github/issue_validator.py, you can write a GitHub Actions workflow like so to run it:

on:
  issues:
    types:
      - "opened"
      - "edited"
      - "labeled"
      - "unlabeled"

jobs:
  validate:
    # Filter for only issues labeled as "initiative"
    if: "contains(github.event.issue.labels.*.name, 'initiative')"
    runs-on: "ubuntu-latest"
    permissions:
      issues: "write"
    steps:
      - uses: "actions/checkout@v4"
      - uses: "astral-sh/setup-uv@v5"
      - run: "uv run .github/issue_validator.py"
        env:
          GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
          GITHUB_ISSUE_NUMBER: "${{ github.event.issue.number }}"

Check out our quickstart documentation for full usage instructions, including defining custom checks!

See the API documentation for full descriptions of the toolkit.

Development

Please see our contributor guide to get started with development.

Acknowledgement

This validator is inspired by the https://github.com/2i2c-org/initiatives project.

Metadata

Release files for gh-issue-validator 0.0.3

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

Source distribution (sdist)

Source distribution for gh-issue-validator 0.0.3
File Size Uploaded
gh_issue_validator-0.0.3.tar.gz 80.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gh-issue-validator 0.0.3
File Interpreter ABI Platform
gh_issue_validator-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 90.9 kB

Release files / gh_issue_validator-0.0.3.tar.gz

Download URL gh_issue_validator-0.0.3.tar.gz
Size 80.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ad1c595ab25a90db750684dbe938cccc718fbcafb7c251e1d31ed64b58f6b292
BLAKE2b-256 checksum
How to use checksums
bde810a6f21d04ab80550f7a0476059da1af798dde7421e06913f698e8d7da05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

Release files / gh_issue_validator-0.0.3-py3-none-any.whl

Download URL gh_issue_validator-0.0.3-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5d933b3dbcfc102ead1d1b4706dfd6daba4ee5b05cc5c90f29889701b7984d71
BLAKE2b-256 checksum
How to use checksums
c1971997193406c39d1e07ba848433cb608d457943af2dd62a450ba14f5a3208
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

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