{"id":21352907,"url":"https://github.com/deni1688/gie","last_synced_at":"2026-04-11T21:42:28.063Z","repository":{"id":61432167,"uuid":"545950954","full_name":"deni1688/gie","owner":"deni1688","description":"cli tool to create multiple issues for a git provider","archived":false,"fork":false,"pushed_at":"2024-06-17T13:13:55.000Z","size":4218,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-27T12:47:30.342Z","etag":null,"topics":["automation","ci","cli","cli-app","git","golang","issues"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deni1688.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-10-05T09:01:18.000Z","updated_at":"2024-06-17T13:13:59.000Z","dependencies_parsed_at":"2025-07-27T12:37:10.868Z","dependency_job_id":"a5069cfe-5263-4e67-8655-ba7ce404d8e4","html_url":"https://github.com/deni1688/gie","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deni1688/gie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deni1688%2Fgie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deni1688%2Fgie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deni1688%2Fgie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deni1688%2Fgie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deni1688","download_url":"https://codeload.github.com/deni1688/gie/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deni1688%2Fgie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31696743,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T21:17:31.016Z","status":"ssl_error","status_checked_at":"2026-04-11T21:17:24.556Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","ci","cli","cli-app","git","golang","issues"],"created_at":"2024-11-22T03:15:43.482Z","updated_at":"2026-04-11T21:42:28.024Z","avatar_url":"https://github.com/deni1688.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/deni1688/gie/actions/workflows/ci.yml/badge.svg)](https://github.com/deni1688/gie/actions/workflows/ci.yml)\n# gie (git issue extractor)\ncli tool to create multiple issues for a git provider\n\n### Overview \nThis tool should make it simple to extract issues to a git hosting service like GitHub or GitLab from your code base.\nPutting extraction one command away will hopefully encourage developers to submit more commits with targeted issues attached. As a result, \ntacking different types of changes should become more transparent and measureable. \n\n### How it works\n\nBy prefixing comments with a specified tag inside your code and then running `gie` on that file or directory \nthe comment(s) are extracted, formatted, and submitted to your git hosting service. The resulting issue(s) links are then\nappended to the commented line. Each issue will also have a reference to the file where it was extracted from in your git hosting service.\n\n### Example\n\n##### Before\n\n```go\n    // Issue: Make it possible to do XYZ in refactorMe \n    func refactorMe() {\n        // ...        \n    }\n```\n\n##### Run\n```bash\ngie -path .\n```\n\n\n##### After\n```go\n    // Issue: Make it possible to do XYZ refactorMe refactorMe -\u003e closes https://github.com/owner/project/issues/12\n    func refactorMe() {\n        // ...        \n    }\n```\n\n#### Post issue creation\nAfter the `gie` command is ran it will also check if any webhooks are configured and send all extracted issues to the\nconfigured endpoints.\n\n\n#### Configuration\n\nThe default config file is sourced from your $HOME/.config/gie.json. You can generate this file by running `gie -setup`.\nThis will create the config json with the following options:\n\n```json\n{\n    \"host\": \"String\u003cGITHUB|GITLAB\u003e\",\n    \"token\": \"String\u003cYOUR_AUTH_TOKEN\u003e\",\n    \"prefix\": \"String\u003cPREFIX e.g. // TODO\u003e\",\n    \"query\": \"String\u003cQUERY_FOR_YOUR_REPOS\u003e\",\n    \"webhooks\": \"List\u003cYOUR_WEBHOOKS_URLS\u003e\",\n    \"exclude\": \"List\u003cDIRS_FILE_TO_EXCLUDE\u003e\"\n}\n```\n\nYou can also override the config on each run by providing a path to another json file using the -config flag. \n\n### Roadmap\n\n1. Create a GUI version that can be triggered via a flag which will allow selecting which issues should be created and providing better descriptions.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeni1688%2Fgie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeni1688%2Fgie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeni1688%2Fgie/lists"}