Skip to content

Netflix/hubcommander

 
 

Repository files navigation

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 it works?

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.