Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/justintime50/pullbug

Get bugged via Discord or Slack to merge your GitHub pull requests or close open issues.
https://github.com/justintime50/pullbug

bug close discord github issues merge merge-request pull pull-requests requests slack

Last synced: 13 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# Pullbug 🐛

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

[![Build Status](https://github.com/Justintime50/pullbug/workflows/build/badge.svg)](https://github.com/Justintime50/pullbug/actions)
[![Coverage Status](https://coveralls.io/repos/github/Justintime50/pullbug/badge.svg?branch=main)](https://coveralls.io/github/Justintime50/pullbug?branch=main)
[![PyPi](https://img.shields.io/pypi/v/pullbug)](https://pypi.org/project/pullbug)
[![Licence](https://img.shields.io/github/license/justintime50/pullbug)](LICENSE)

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](https://slack.com/help/articles/115005265703-Create-a-bot-for-your-workspace) or [Discord](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks) 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

```bash
# 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.

```text
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

```bash
# 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`:

* [EasyPost](https://easypost.com)