Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rogeriopvl/pullhub
📋 Get pull requests from one or more github repos filtered by labels
https://github.com/rogeriopvl/pullhub
github labels node npm pull-requests
Last synced: 16 days ago
JSON representation
📋 Get pull requests from one or more github repos filtered by labels
- Host: GitHub
- URL: https://github.com/rogeriopvl/pullhub
- Owner: rogeriopvl
- License: mit
- Created: 2017-04-14T11:19:07.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-07-28T06:05:33.000Z (over 3 years ago)
- Last Synced: 2024-10-14T06:34:31.606Z (25 days ago)
- Topics: github, labels, node, npm, pull-requests
- Language: JavaScript
- Homepage:
- Size: 207 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pullhub [![Build Status](https://travis-ci.org/rogeriopvl/pullhub.svg?branch=master)](https://travis-ci.org/rogeriopvl/pullhub)
## About
Pullhub is a cli and lib tool that lists all pull requests from one or more repos. It supports filtering by label.
## Install
npm install --save pullhub
## Authentication
Pullhub authenticates the user via a github token. To get your token visit this [github help page](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/).
For public repos the token is optional but recommended. Private repos need token to enable access.
You can set the token in your shell enviroment, just add to your `.bashrc`, `.zshrc` etc. the following line:
export GH_TOKEN=mypersonaltoken
This will work for both cli and lib usage.
## Cli usage
```shell
pullhub [--labels] [--version] [--help]space separated repos in the user/repo format
--user search all repos for given username
--labels comma separated labels to filter PRs by
--version show version info
--help show this usage info
```### Examples
- Get all open pull requests from two repos
```shell
pullhub user/repo1 user/repo2
```- Get all open pull requests labeled "needs review" from two repos
```shell
pullhub user/repo1 user/repo2 --labels "needs review"
```- Get all open pull requests labeled "in progress" and "reviewed" from one repo
```shell
pullhub user/repo1 --labels "in progress,reviewed"
```- Get all open pull requests from all the repos of a user
```shell
pullhub --user rogeriopvl
```## Lib usage
You can use pullhub as a library, and what it will allow you to get all PRs in given repositories with given labels.
You can use promises:
```javascript
const pullhub = require('pullhub')pullhub(['rogeriopvl/http.cat'], 'needs review,reviewed')
.then((prs) => console.log(prs))
.catch(err) => console.error(err)
```
Or callbacks:```javascript
const pullhub = require('pullhub')pullhub(['rogeriopvl/http.cat'], 'needs review', function (err, repos) {
console.log(err, repos)
})
```