Skip to content

Justintime50/pullbug

Repository files navigation

Pullbug 🐛

Get bugged via Discord or Slack to merge your GitHub pull requests or close open issues.

Build Status Coverage Status PyPi Licence

Showcase

Pullbug can notify you on Discord or Slack of all open pull requests from GitHub. This tool ensures requests never go unnoticed as it can be setup on a schedule to constantly bug you to merge your work. This is perfect for finding old or stale requests and helps you to stay current on new ones. Pass in a few environment variables, setup a Slackbot or Discord webhook and you're all set to be bugged by Pullbug.

NOTE: Pullbug works best if you have link unfurling turned off for GitHub on Discord and Slack.

Install

# Install tool
pip3 install pullbug

# Install locally
just install

Usage

Pullbug works best when run on a schedule. Run one-off reports or setup Pullbug to notify you at whatever interval you'd like to be bugged via Discord or Slack about pull requests.

Pullbug is highly customizable allowing you to choose which messaging service and what kinds of pull requests or issues you'd like.

Usage:
  pullbug --github_token 123... --github_owner justintime50 --github_context users

Options:
  -h, --help            show this help message and exit
  -p, --pulls           Bug GitHub for Pull Requests.
  -i, --issues          Bug GitHub for Issues.
  -gt GITHUB_TOKEN, --github_token GITHUB_TOKEN
                        The token to authenticate with GitHub.
  -go GITHUB_OWNER, --github_owner GITHUB_OWNER
                        The GitHub owner to retrieve pull requests or issues for (can be a user or organization).
  -gs {all,open,closed}, --github_state {all,open,closed}
                        The GitHub state to retrieve pull requests or issues for.
  -gc {orgs,users}, --github_context {orgs,users}
                        The GitHub context to retrieve pull requests or issues for.
  -d, --discord         Send Pullbug messages to Discord.
  -du DISCORD_URL, --discord_url DISCORD_URL
                        The Discord webhook URL to send messages to.
  -s, --slack           Send Pullbug messages to Slack.
  -st SLACK_TOKEN, --slack_token SLACK_TOKEN
                        The Slackbot token to authenticate with Slack.
  -sc SLACK_CHANNEL, --slack_channel SLACK_CHANNEL
                        The Slack channel to send messages to.
  -r REPOS, --repos REPOS
                        A comma-separated list of repos to run Pullbug against.
  -dr, --drafts         Include draft pull requests.
  -l LOCATION, --location LOCATION
                        The location of the Pullbug logs and files.
  --base_url BASE_URL   The base URL of your GitHub instance (useful for enterprise users with custom hostnames).
  --log_level {warning,debug,info,notset,error,critical}
                        The log level used for the tool.
  --disable_descriptions
                        Disables descriptions in messages.
  --quiet               Does not output when there is nothing to bug about.
  --version             show program's version number and exit

Development

# Get a comprehensive list of development tools
just --list

# Run the tool locally
venv/bin/python pullbug/cli.py --help

Trusted By

The following companies use Pullbug: