Skip to content

Create and sync GitHub issues automatically from JSON or YAML. Perfect for bootstrapping new projects, seeding backlogs, or syncing TODOs with GitHub Projects.

Notifications You must be signed in to change notification settings

dpereowei/gh_issues

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

gh_issues 🧠

Create and sync GitHub issues automatically from JSON or YAML. Perfect for bootstrapping new projects, seeding backlogs, or syncing TODOs with GitHub Projects.

🚀 Features

  • Bulk-create issues from .json or .yaml files
  • Supports titles, descriptions, and labels
  • Dry-run mode for validation before you hit the API
  • Works with both public and private repos
  • Clean CLI built on Typer

🧩 Installation

git clone https://github.com/dpereowei/gh_issues.git
cd gh_issues
pip install -r requirements.txt

⚙️ Setup

  1. Generate a GitHub Personal Access Token

    • Classic token
    • Scopes: repo, public_repo, issues
  2. Save it in a file called token.txt (or use the GITHUB_TOKEN env var):

    export GITHUB_TOKEN=ghp_XXXX

📄 Usage

python3 -m gh_issues.cli issues.json --repo <owner>/<repo>

Dry-run mode (no API calls):

python3 -m gh_issues.cli issues.json --dry-run

Example JSON:

[
  {
    "title": "Implement Environment Lifecycle States",
    "body": "Add lifecycle transitions: pending → provisioning → active → terminating → terminated → failed.",
    "labels": ["backend", "enhancement"]
  }
]

🧠 Example Output

Loaded 18 issues
Created: Implement Environment Lifecycle States
Created: Add Terraform Log Capture
...

🛠️ Roadmap

  • Add GitHub Projects (v2) integration
  • YAML schema validation
  • Markdown template support
  • Issue syncing (close/update existing)

🤝 Contributing

Pull requests are welcome; this tool’s goal is to make project bootstrapping fast and repeatable. Please create an issue or submit a PR to make it smarter.

About

Create and sync GitHub issues automatically from JSON or YAML. Perfect for bootstrapping new projects, seeding backlogs, or syncing TODOs with GitHub Projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages