A user-extendable Slack bot for GitHub organization management.
HubCommander provides a chat-ops means for managing GitHub organizations.
It creates a simple way to perform privileged GitHub organization management tasks without granting
administrative or owner
privileges to your GitHub organization members.
Service | Master | Develop |
---|---|---|
Travis CI |
HubCommander is based on slackhq/python-rtmbot (currently, dependent on release 0.4.0)
You simply type !help
, and the bot will output a list of commands that the bot supports. Typing
the name of the command, for example: !CreateRepo
, will output help text on how to execute the command.
At a minimum, you will need to have the following:
- Python 3.5+
- Slack and Slack credentials
- A GitHub organization
- A GitHub bot user with ownership level privileges
A Docker image is also available to help get up and running quickly.
Out of the box, HubCommander has the following GitHub features:
- Repository creation
- Repository deletion
- Repository description and website modification
- Granting outside collaborators specific permissions to repositories
- Repository default branch modification
- Repository PR listing
- Repository deploy Key listing/creation/deletion
- Repository topics creation/deletion
- Repository branch protection enabling/disabling
HubCommander also features the ability to:
- Enable Travis CI on a GitHub repo
- Safeguard commands with 2FA via Duo
You can add additional commands by creating plugins. For example, you can create a plugin to invite users to your organizations.
HubCommander also supports Slack ephemeral messages and threads.
Please see the documentation here for details.
If you are interested in contributing to HubCommander, please review the contributing documentation.