{"id":13602240,"url":"https://github.com/gavinr/github-csv-tools","last_synced_at":"2025-05-15T17:06:59.546Z","repository":{"id":40212876,"uuid":"62596231","full_name":"gavinr/github-csv-tools","owner":"gavinr","description":"Import and export GitHub issues via CSV","archived":false,"fork":false,"pushed_at":"2024-06-06T06:33:23.000Z","size":674,"stargazers_count":697,"open_issues_count":22,"forks_count":123,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-13T15:10:08.853Z","etag":null,"topics":["csv","export-to-excel","exporter","github","github-csv","github-issues","github-issues-export","hacktoberfest","importer"],"latest_commit_sha":null,"homepage":"https://npmjs.com/github-csv-tools","language":"JavaScript","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/gavinr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"custom":"https://gavinr.com/contribute"}},"created_at":"2016-07-05T01:15:15.000Z","updated_at":"2025-05-08T11:41:36.000Z","dependencies_parsed_at":"2024-01-14T06:03:57.195Z","dependency_job_id":"346ba1cc-0749-40ca-a850-7685d2c34b45","html_url":"https://github.com/gavinr/github-csv-tools","commit_stats":{"total_commits":95,"total_committers":14,"mean_commits":6.785714285714286,"dds":0.5052631578947369,"last_synced_commit":"ec4f6a87cfe8e9f76146efd17d06c39dfe0ba8e7"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinr%2Fgithub-csv-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinr%2Fgithub-csv-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinr%2Fgithub-csv-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinr%2Fgithub-csv-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavinr","download_url":"https://codeload.github.com/gavinr/github-csv-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384987,"owners_count":22062422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["csv","export-to-excel","exporter","github","github-csv","github-issues","github-issues-export","hacktoberfest","importer"],"created_at":"2024-08-01T18:01:17.480Z","updated_at":"2025-05-15T17:06:54.538Z","avatar_url":"https://github.com/gavinr.png","language":"JavaScript","readme":"\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://github.com/gavinr/github-csv-tools/blob/master/banner.jpg?raw=true\" alt=\"GitHub CSV Tools banner\" title=\"GitHub CSV Tools\" /\u003e\n\u003ch3 align=\"center\"\u003eImport and export GitHub issues via CSV\u003c/h3\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \n  \u003ca href=\"https://github.com/gavinr/github-csv-tools/actions?query=workflow%3ATest+branch%3Amaster\"\u003e\n    \u003cimg alt=\"Build\" src=\"https://github.com/gavinr/github-csv-tools/workflows/Test/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/gavinr/github-csv-tools/actions?query=workflow%3ARelease+branch%3Amaster\"\u003e\n    \u003cimg alt=\"Release\" src=\"https://github.com/gavinr/github-csv-tools/workflows/Release/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/github-csv-tools\"\u003e\n    \u003cimg alt=\"npm latest version\" src=\"https://img.shields.io/npm/v/github-csv-tools/latest.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://repoio.com\"\u003e\n    \u003cimg alt=\"npm latest version\" src=\"https://img.shields.io/badge/hosted-repoio.com-orange\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Usage\n\nPrerequisite: [Install Node.js](https://nodejs.org/en/), then run this to install:\n\n```bash\nnpm install -g github-csv-tools\n```\n\nAfter install, `githubCsvTools --help` for info on how to use, or see below.\n\nInstructions for exporting or importing:\n\n### To Import Issues\n\nCurrently imports title, body, labels, status (closed or open) and milestones. See the [test](/test) folder for example input formats.\n\n```bash\ngithubCsvTools myFile.csv\n```\n\n### To Export Issues\n\n```bash\ngithubCsvTools\n```\n\n| Option                 | Default                                                                                               | Notes                                                                                                                                                                                                         |\n| ---------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| -f, --exportFileName   | YYYY-MM-DD-hh-mm-ss-issues.csv                                                                        | The name of the CSV you'd like to export to.                                                                                                                                                                  |\n| -a, --exportAttributes | number, title, labels, state, assignees, milestone, comments, created_at, updated_at, closed_at, body | Comma-separated list of attributes (columns) in the export**.                                                                                                                                                 |\n| -c, --exportComments   | n/a                                                                                                   | Include comments in the export. If using in combination with `--exportAttributes`, `id` must be included.                                                                                                     |\n| -e, --exportAll        | n/a                                                                                                   | Export all possible values from the GitHub API. If not included, a subset of attributes (see `--exportAttributes` above) that are known to be compatible with GitHub *import* will be included in the export. |\n\n** List of all possible options for `exportAttributes` includes every option in the [GitHub API Export](https://developer.github.com/v3/issues/#response-4). Values in child objects can be referenced using a \"dot\" - for example, a user's `avatar_url` can be accessed via `user.avatar_url`.\n\n### Tokens\n\nFor all actions, the tool will ask you to input a GitHub token. To obtain this token:\n\n1. Go to \u003chttps://github.com/settings/tokens\u003e\n2. Click \"Generate New Token\"\n3. Check on `repo`\n4. Copy/paste the token provided when the tool asks for it.\n\n## Other Options\n\n| Option                  | Notes                                                                         |\n| ----------------------- | ------------------------------------------------------------------------------|\n| -V, --version           | Output the version number                                                     |\n| -g, --github_enterprise | Your GitHub Enterprise URL. \u003chttps://your-internal-githubenterprise.com/api/v3\u003e  \u003cbr /\u003e(Reminder: do not forget the  `/api/v3` at the end)|\n| -t, --token             | The GitHub token. \u003chttps://github.com/settings/tokens\u003e                          |\n| -o, --organization      | The User or Organization slug that the repo lives under. \u003cbr /\u003eExample: For `/myOrg/my-repo`, this value would be **myOrg**.                    |\n| -r, --repository        | The repository name (slug).\u003cbr /\u003eExample: For `/myOrg/my-repo`, this value would be **my-repo**.                                                 |\n| --csvDelimiter          | The CSV delimiter character (defaults to ',')                                 |\n| -v, --verbose           | Include additional logging information.                                       |\n| -h, --help              | See all the options and help.                                                 |\n\n## Development\n\n1. Clone the repo.\n2. Browse to repo, then run `npm install -g`\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/gavinr/github-csv-tools/blob/master/CHANGELOG.md)\n\n## Hosted version [![hosted shield](https://img.shields.io/badge/hosted-repoio.com-orange)](https://repoio.com)\n\nThis software can be used without download/install by going to [repoio.com](https://repoio.com).\n\n## Thanks\n\n- [octokit/rest.js](https://octokit.github.io/rest.js/)\n- [nodeCSV](https://www.npmjs.com/package/csv)\n- [commander](https://www.npmjs.com/package/commander)\n- [co](https://www.npmjs.com/package/co)\n- [Tim Patterson's Post on Atlassian.com](https://developer.atlassian.com/blog/2015/11/scripting-with-node/)\n","funding_links":["https://gavinr.com/contribute"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinr%2Fgithub-csv-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavinr%2Fgithub-csv-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinr%2Fgithub-csv-tools/lists"}