{"id":13765136,"url":"https://github.com/sshaw/export-pull-requests","last_synced_at":"2025-04-07T09:20:12.289Z","repository":{"id":53573975,"uuid":"87769490","full_name":"sshaw/export-pull-requests","owner":"sshaw","description":"Export pull requests and/or issues to a CSV file. Supports GitHub, GitLab, and Bitbucket","archived":false,"fork":false,"pushed_at":"2022-02-11T00:23:40.000Z","size":41,"stargazers_count":109,"open_issues_count":5,"forks_count":24,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T07:08:53.032Z","etag":null,"topics":["bitbucket","csv","github","github-issues-export","gitlab","issues","pull-requests","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sshaw.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-10T05:20:42.000Z","updated_at":"2024-07-03T19:58:58.000Z","dependencies_parsed_at":"2022-09-22T14:26:19.297Z","dependency_job_id":null,"html_url":"https://github.com/sshaw/export-pull-requests","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fexport-pull-requests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fexport-pull-requests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fexport-pull-requests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sshaw%2Fexport-pull-requests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sshaw","download_url":"https://codeload.github.com/sshaw/export-pull-requests/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247622983,"owners_count":20968575,"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":["bitbucket","csv","github","github-issues-export","gitlab","issues","pull-requests","ruby"],"created_at":"2024-08-03T16:00:34.434Z","updated_at":"2025-04-07T09:20:12.269Z","avatar_url":"https://github.com/sshaw.png","language":"Ruby","readme":"# Export Pull Requests\n\nExport pull requests/merge requests and/or issues to a CSV file.\n\nSupports GitHub, GitLab, and Bitbucket.\n\n## Installation\n\n[Ruby](https://www.ruby-lang.org/en/documentation/installation/) is required.\nWith Ruby installed run:\n\n    gem install export-pull-requests\n\nThis installs the `epr` executable.\n\n## Usage\n\n    usage: epr [options] user/repo1 [user/repo2...]\n        -b, --body                       Include the issue/pr body description in the output (GitHub only)\n        -c, --creator=USER1,USER2,...    Export PRs created by given username(s); prepend `!' to exclude user\n        -e, --endpoint=URL               Endpoint URL for 'enterprise', etc... repositories\n        -m, --milestone=WHAT             Export items assigned to the given milestone (GitHub/GitLab only)\n        -a, --assignee=USER              Export items assigned to the given user (GitHub/GitLab only)\n        -l, --labels=LABEL(S)            Export items with the given label(s) (GitHub/GitLab only)\n        -h, --help                       Show this message\n        -p, --provider=NAME              Service provider: bitbucket, github, or gitlab; defaults to github\n        -s, --state=STATE                Export items in the given state, defaults to open\n        -t, --token=TOKEN                API token\n        -x, --export=WHAT                What to export: pr, issues, or all; defaults to all\n        -v, --version                    epr version\n\n### Config\n\nThese can all be set by one of the below methods or [via the command line](#usage).\n\n#### Token\n\nThe API token can be set by:\n\n* `EPR_TOKEN` environment variable\n* `epr.token` setting in `.gitconfig` (add via `git config --add epr.token \u003cyour API token\u003e`)\n* `github.oauth-token` setting in `.gitconfig`\n\n#### Default Service\n\ngithub is the default. You can set a new default via `EPR_SERVICE`.\n\n### Examples\n\nExport open PRs and issues in `sshaw/git-link` and `sshaw/itunes_store_transporter`:\n\n    epr sshaw/git-link sshaw/itunes_store_transporter \u003e pr.csv\n\nExport open pull request not created by `sshaw` in `padrino/padrino-framework`:\n\n    epr -x pr -c '!sshaw' padrino/padrino-framework \u003e pr.csv\n\nExport open merge requests from a GitLab project:\n\n    epr -x pr -p gitlab gitlab-org/gitlab-ce \u003e pr.csv\n\nExport all issues from a GitLab project:\n\n    epr -x issues -p gitlab gitlab-org/gitlab-ce \u003e pr.csv\n\n## Service Notes\n\nTo connect to a custom/\"Enterprise\" installation of any of the supported services use the endpoint option (`-e`).\n\nThe provided URL must point the API endpoint, not the user-facing site. For GitHub this is `http(s)://YOUR-SITE/api/v3`.\n\n### Bitbucket\n\n**Due to [various issues with the Bitbucket gem](https://github.com/sshaw/export-pull-requests/issues/26) support for Bitbucket\nrequires using a Ruby version \u003c 3 and manually installing the Bitbucket library via `gem install bitbucket_rest_api`.**\n\n**Alternatively, on a Ruby version \u003c 3 you can run: gem install export-pull-requests -v=0.3.7**\n\nYou can use [app passwords](https://confluence.atlassian.com/bitbucket/app-passwords-828781300.html) for the API token.\nJust provide your token info in `bitbucket_username:app_password` format:\n\n    epr -p bitbucket -t bitbucket_username:app_password user/repo1\n\n### GitLab\n\nAuthentication can be done via a [personal access token](https://gitlab.com/profile/personal_access_tokens).\n\nEnterprise editions of GitLab have an [issue export feature](https://docs.gitlab.com/ee/user/project/issues/csv_export.html).\n\n## See Also\n\n- [Batch Labels](https://github.com/sshaw/batchlabels) - Add/remove labels in batches to/from GitHub issues and pull requests.\n\n## Author\n\nSkye Shaw [skye.shaw AT gmail]\n\n## License\n\nReleased under the MIT License: www.opensource.org/licenses/MIT\n\n---\n\nMade by [ScreenStaring](http://screenstaring.com)\n","funding_links":[],"categories":["Tools","\u003ca name=\"git\"\u003e\u003c/a\u003eGit and accessories"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fexport-pull-requests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsshaw%2Fexport-pull-requests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsshaw%2Fexport-pull-requests/lists"}