{"id":19354660,"url":"https://github.com/svanteschubert/csv2githubissues","last_synced_at":"2026-05-16T00:09:41.641Z","repository":{"id":84985346,"uuid":"302014845","full_name":"svanteschubert/CSV2GitHubIssues","owner":"svanteschubert","description":"Example on the GitHub API how initiate a GitHub repository with issues, labels and milestone from a spreadsheet (CSV)","archived":false,"fork":false,"pushed_at":"2020-10-07T13:08:01.000Z","size":81,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T11:18:53.050Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svanteschubert.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}},"created_at":"2020-10-07T11:27:36.000Z","updated_at":"2020-10-07T13:10:57.000Z","dependencies_parsed_at":"2023-03-10T02:00:50.832Z","dependency_job_id":null,"html_url":"https://github.com/svanteschubert/CSV2GitHubIssues","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/svanteschubert/CSV2GitHubIssues","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svanteschubert%2FCSV2GitHubIssues","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svanteschubert%2FCSV2GitHubIssues/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svanteschubert%2FCSV2GitHubIssues/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svanteschubert%2FCSV2GitHubIssues/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svanteschubert","download_url":"https://codeload.github.com/svanteschubert/CSV2GitHubIssues/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svanteschubert%2FCSV2GitHubIssues/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33085172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-15T20:25:35.270Z","status":"ssl_error","status_checked_at":"2026-05-15T20:25:34.732Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-11-10T05:22:19.429Z","updated_at":"2026-05-16T00:09:41.624Z","avatar_url":"https://github.com/svanteschubert.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EXAMPLE PROJECT: CSV to GitHub issues with labels \u0026 milestones\n\n## Overview\n\nThe idea is to collect issues in a spreadsheet and save it to a comma-separated-value (CSV) file to import the data as GitHub issues with labels \u0026 milestones via [API](https://github-api.kohsuke.org/).\nThe current downside is that this implementation was based on a very specific spreadsheet structure and there might other structure more useful for your use cases (or in general).\nPull Requests are welcome. :)\n\n**NOTE**: In addition, there is an example of using a [template of GitHub issues](.github/ISSUE_TEMPLATE/Change_request_and_impact_analysis.md), in the .github/ISSUE_TEMPLATE directory.\nAside of it some [beginners markdown help file](.github/markdown.md).\n\n## Functionality\n\nWe initially added Csv2GitHub functionality that allows us the initialization of this CEN-TC434-WG1 repository from our [issue list spreadsheet (CSV)](./src/test/resources/issues/issue-list.csv). Creating TC issues including our specific labels and milestones.\n\n**NOTE**: *Whenever a label/milestone is chosen in GitHub GUI, all related issues are being listed. [More advanced search](https://help.github.com/en/github/searching-for-information-on-github/searching-issues-and-pull-requests#search-by-label) is possible.*\n\n## Requisition\n\n* Java 11\n* Edit your data list (for instance with [LibreOffice](https://libreoffice.org/)) and save the spreadsheet to a [comma separated value text file](./src/main/resources/issues/issue-list.csv)\n* Provide a new (e.g. private) GitHub repository - where the new issues are being created into:\n    Adjust the [REPO_NAME](./src/main/java/example/github/issues/Github.java#L39) variable using your repository.\n* GitHub API access is provided by your GitHub \"personal access\" token in your user directory in a \"~/.github\" file, for instance:\n\n```javascript\nlogin=your-github-login-id\noauth=your-personal-access-token-01234567890abcdefgh\n```\n\n**NOTE**: *You should create yourself a new \"personal access token\" with sufficient access rights under:*\n    *Login GitHub -\u003e upper right corner -\u003e Settings -\u003e Developer Settings -\u003e \"personal access token\"*\n\n## How to build \u0026 trigger the generation of issues/labels/milestones for a GitHub repository\n\nCall from a command-line in the root directory of the repository: \"gradlew clean build run\"\n\n**NOTE** The JDK reflection exception in the beginning of execution is known, see [their bug \u0026 explanation](https://github.com/hub4j/github-api/issues/754).\n\n## How it works\n\n1. The build system Gradle is executing the [main class \"Csv2Github.java\"](./src/main/java/example/github/issues/Csv2Github.java).\n2. The CSV is being parsed line by line by the [\"Csv.java\" class](./src/main/java/example/github/issues/Csv.java).\n3. GitHub is accessed via the [\"Github.java\" class](./src/main/java/example/github/issues/Github.java) taking advantage of the [Java GitHub API of Kohsuke Kawaguchi](https://github-api.kohsuke.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvanteschubert%2Fcsv2githubissues","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvanteschubert%2Fcsv2githubissues","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvanteschubert%2Fcsv2githubissues/lists"}