Skip to content

sshaw/export-pull-requests

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 

Export Pull Requests

Export pull requests/merge requests and/or issues to a CSV file.

Supports GitHub, GitLab, and Bitbucket.

Installation

Ruby is required. With Ruby installed run:

gem install export-pull-requests

This installs the epr executable.

Usage

usage: epr [options] user/repo1 [user/repo2...]
    -b, --body                       Include the issue/pr body description in the output (GitHub only)
    -c, --creator=USER1,USER2,...    Export PRs created by given username(s); prepend `!' to exclude user
    -e, --endpoint=URL               Endpoint URL for 'enterprise', etc... repositories
    -m, --milestone=WHAT             Export items assigned to the given milestone (GitHub/GitLab only)
    -a, --assignee=USER              Export items assigned to the given user (GitHub/GitLab only)
    -l, --labels=LABEL(S)            Export items with the given label(s) (GitHub/GitLab only)
    -h, --help                       Show this message
    -p, --provider=NAME              Service provider: bitbucket, github, or gitlab; defaults to github
    -s, --state=STATE                Export items in the given state, defaults to open
    -t, --token=TOKEN                API token
    -x, --export=WHAT                What to export: pr, issues, or all; defaults to all
    -v, --version                    epr version

Config

These can all be set by one of the below methods or via the command line.

Token

The API token can be set by:

  • EPR_TOKEN environment variable
  • epr.token setting in .gitconfig (add via git config --add epr.token <your API token>)
  • github.oauth-token setting in .gitconfig

Default Service

github is the default. You can set a new default via EPR_SERVICE.

Examples

Export open PRs and issues in sshaw/git-link and sshaw/itunes_store_transporter:

epr sshaw/git-link sshaw/itunes_store_transporter > pr.csv

Export open pull request not created by sshaw in padrino/padrino-framework:

epr -x pr -c '!sshaw' padrino/padrino-framework > pr.csv

Export open merge requests from a GitLab project:

epr -x pr -p gitlab gitlab-org/gitlab-ce > pr.csv

Export all issues from a GitLab project:

epr -x issues -p gitlab gitlab-org/gitlab-ce > pr.csv

Service Notes

To connect to a custom/"Enterprise" installation of any of the supported services use the endpoint option (-e).

The provided URL must point the API endpoint, not the user-facing site. For GitHub this is http(s)://YOUR-SITE/api/v3.

Bitbucket

Due to various issues with the Bitbucket gem support for Bitbucket requires using a Ruby version < 3 and manually installing the Bitbucket library via gem install bitbucket_rest_api.

Alternatively, on a Ruby version < 3 you can run: gem install export-pull-requests -v=0.3.7

You can use app passwords for the API token. Just provide your token info in bitbucket_username:app_password format:

epr -p bitbucket -t bitbucket_username:app_password user/repo1

GitLab

Authentication can be done via a personal access token.

Enterprise editions of GitLab have an issue export feature.

See Also

  • Batch Labels - Add/remove labels in batches to/from GitHub issues and pull requests.

Author

Skye Shaw [skye.shaw AT gmail]

License

Released under the MIT License: www.opensource.org/licenses/MIT


Made by ScreenStaring

About

Export pull requests and/or issues to a CSV file. Supports GitHub, GitLab, and Bitbucket

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages