Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 1 month 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 (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2024-02-13T06:18:16.000Z (10 months ago)
- Last Synced: 2024-10-15T05:40:49.565Z (about 2 months ago)
- Topics: bot, chatops, github, privileges, python, security, slack, slack-bot, travis-ci
- Language: Python
- Homepage:
- Size: 761 KB
- Stars: 1,281
- Watchers: 379
- Forks: 156
- 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
=====================[![NetflixOSS Lifecycle](https://img.shields.io/badge/NetflixOSS-active-brightgreen.svg)]()
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](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|[![Build Status](https://travis-ci.com/Netflix/hubcommander.svg?branch=master)](https://travis-ci.com/Netflix/hubcommander)|[![Build Status](https://travis-ci.com/Netflix/hubcommander.svg?branch=develop)](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).