Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gavinr/github-csv-tools
Import and export GitHub issues via CSV
https://github.com/gavinr/github-csv-tools
csv export-to-excel exporter github github-csv github-issues github-issues-export hacktoberfest importer
Last synced: 1 day ago
JSON representation
Import and export GitHub issues via CSV
- Host: GitHub
- URL: https://github.com/gavinr/github-csv-tools
- Owner: gavinr
- License: mit
- Created: 2016-07-05T01:15:15.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-06-06T06:33:23.000Z (8 months ago)
- Last Synced: 2025-01-24T17:09:40.871Z (8 days ago)
- Topics: csv, export-to-excel, exporter, github, github-csv, github-issues, github-issues-export, hacktoberfest, importer
- Language: JavaScript
- Homepage: https://npmjs.com/github-csv-tools
- Size: 658 KB
- Stars: 677
- Watchers: 8
- Forks: 119
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Import and export GitHub issues via CSV
## Usage
Prerequisite: [Install Node.js](https://nodejs.org/en/), then run this to install:
```bash
npm install -g github-csv-tools
```After install, `githubCsvTools --help` for info on how to use, or see below.
Instructions for exporting or importing:
### To Import Issues
Currently imports title, body, labels, status (closed or open) and milestones. See the [test](/test) folder for example input formats.
```bash
githubCsvTools myFile.csv
```### To Export Issues
```bash
githubCsvTools
```| Option | Default | Notes |
| ---------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -f, --exportFileName | YYYY-MM-DD-hh-mm-ss-issues.csv | The name of the CSV you'd like to export to. |
| -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**. |
| -c, --exportComments | n/a | Include comments in the export. If using in combination with `--exportAttributes`, `id` must be included. |
| -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. |** 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`.
### Tokens
For all actions, the tool will ask you to input a GitHub token. To obtain this token:
1. Go to
2. Click "Generate New Token"
3. Check on `repo`
4. Copy/paste the token provided when the tool asks for it.## Other Options
| Option | Notes |
| ----------------------- | ------------------------------------------------------------------------------|
| -V, --version | Output the version number |
| -g, --github_enterprise | Your GitHub Enterprise URL.
(Reminder: do not forget the `/api/v3` at the end)|
| -t, --token | The GitHub token. |
| -o, --organization | The User or Organization slug that the repo lives under.
Example: For `/myOrg/my-repo`, this value would be **myOrg**. |
| -r, --repository | The repository name (slug).
Example: For `/myOrg/my-repo`, this value would be **my-repo**. |
| --csvDelimiter | The CSV delimiter character (defaults to ',') |
| -v, --verbose | Include additional logging information. |
| -h, --help | See all the options and help. |## Development
1. Clone the repo.
2. Browse to repo, then run `npm install -g`## Changelog
See [CHANGELOG.md](https://github.com/gavinr/github-csv-tools/blob/master/CHANGELOG.md)
## Hosted version [![hosted shield](https://img.shields.io/badge/hosted-repoio.com-orange)](https://repoio.com)
This software can be used without download/install by going to [repoio.com](https://repoio.com).
## Thanks
- [octokit/rest.js](https://octokit.github.io/rest.js/)
- [nodeCSV](https://www.npmjs.com/package/csv)
- [commander](https://www.npmjs.com/package/commander)
- [co](https://www.npmjs.com/package/co)
- [Tim Patterson's Post on Atlassian.com](https://developer.atlassian.com/blog/2015/11/scripting-with-node/)