A Slack bot for GitHub organization management -- and other things too
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
auth_plugins Added more threads to duo error messages Jan 15, 2018
bot_components Properly removes all macOS "Smart Quotes". Jul 5, 2018
command_plugins Fixed bug #81. Dec 5, 2017
docs
tests
.dockerignore
.gitignore
.travis.yml Implemented #57. This allows batch outside collaborator repo adding. Nov 27, 2017
AUTHORS
Dockerfile
LICENSE.txt
OSSMETADATA
README.md Update README.md Oct 12, 2018
__about__.py
__init__.py
basic_install.sh Updated basic_install.sh Oct 31, 2017
build_docker.sh Update for exit status Feb 22, 2018
config.py Initial Commit for OSS Feb 6, 2017
decrypt_creds.py Added multiple-domain DUO support. Nov 30, 2017
hubcommander.py Added multiple-domain DUO support. Nov 30, 2017
launch_in_docker.sh More fixes for 0.4.0 Feb 28, 2017
publish_via_travis.sh Implemented #57. This allows batch outside collaborator repo adding. Nov 27, 2017
setup.py
test-requirements.txt Added contributing docs Sep 24, 2017

README.md

HubCommander

HubCommander Logo

NetflixOSS Lifecycle Gitter chat

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 Build Status Build Status

How does it work?

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.

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/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.

Installation Documentation

Please see the documentation here for details.

Contributing

If you are interested in contributing to HubCommander, please review the contributing documentation.