https://github.com/Netflix/hubcommander
A Slack bot for GitHub organization management -- and other things too
https://github.com/Netflix/hubcommander
bot chatops github privileges python security slack slack-bot travis-ci
Last synced: 11 days ago
JSON representation
A Slack bot for GitHub organization management -- and other things too
- Host: GitHub
- URL: https://github.com/Netflix/hubcommander
- Owner: Netflix
- License: apache-2.0
- Created: 2017-02-06T18:13:34.000Z (about 8 years ago)
- Default Branch: develop
- Last Pushed: 2024-02-13T06:18:16.000Z (about 1 year ago)
- Last Synced: 2025-04-01T03:35:36.626Z (13 days ago)
- Topics: bot, chatops, github, privileges, python, security, slack, slack-bot, travis-ci
- Language: Python
- Homepage:
- Size: 761 KB
- Stars: 1,285
- Watchers: 377
- Forks: 153
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE.txt
- Authors: AUTHORS
Awesome Lists containing this project
- awesome-ospo - hubcommander - A Slack bot for GitHub organization management (GitHub Management)
- awesome-github-repos - Netflix/hubcommander - A Slack bot for GitHub organization management -- and other things too (Python)
- jimsghstars - Netflix/hubcommander - A Slack bot for GitHub organization management -- and other things too (Python)
README
HubCommander
=====================[]()
[](https://gitter.im/Netflix/hubcommander)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|[](https://travis-ci.com/Netflix/hubcommander)|[](https://travis-ci.com/Netflix/hubcommander)|How does it work?
-------------
HubCommander is based on [slackhq/python-rtmbot](https://github.com/slackhq/python-rtmbot)
(currently, dependent on release [0.4.0](https://github.com/slackhq/python-rtmbot/releases/tag/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 privilegesA Docker image is also available to help get up and running quickly.
Features
-------------
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/disablingHubCommander also features the ability to:
* Enable Travis CI on a GitHub repo
* Safeguard commands with 2FA via DuoYou 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.
Installation Documentation
-----------
Please see the documentation [here](docs/installation.md) for details.Contributing
---------------
If you are interested in contributing to HubCommander, please review the [contributing documentation](docs/contributing.md).