https://github.com/wardweistra/hipfrog
A Hipchat bot for accessing Glassfrog
https://github.com/wardweistra/hipfrog
chatbot glassfrog hipchat holacracy
Last synced: about 1 year ago
JSON representation
A Hipchat bot for accessing Glassfrog
- Host: GitHub
- URL: https://github.com/wardweistra/hipfrog
- Owner: wardweistra
- License: lgpl-3.0
- Created: 2016-05-25T14:24:35.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-09-14T10:17:49.000Z (almost 9 years ago)
- Last Synced: 2025-06-07T09:35:22.965Z (about 1 year ago)
- Topics: chatbot, glassfrog, hipchat, holacracy
- Language: Python
- Homepage: https://host.wardweistra.nl/hipfrog/
- Size: 205 KB
- Stars: 3
- Watchers: 0
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
An open source [Hipchat](http://hipchat.com/) bot for accessing the [Holacracy](http://www.holacracy.org/) tool [Glassfrog](https://glassfrog.com).
## Installation in your Hipchat room
Follow https://marketplace.atlassian.com/plugins/hipfrog to install the plugin in your Hipchat room.
## Development
Hipfrog is using [Glassfrog API V3 beta](https://github.com/holacracyone/glassfrog-api/tree/API_v3). Tested on Python 3.5.2.
* Download: `git clone https://github.com/wardweistra/hipfrog.git`
* Install: `python3 setup.py install`
* Create and upgrade the database with [Flask-Migrate](https://flask-migrate.readthedocs.io/en/latest/). Tested on Postgres.
* Test: `python3 tests/glassfrog_tests.py`
* Run: `python3 runserver.py --debug`
## Environment settings
Default settings are found at [glassfrog/settings/config.py](glassfrog/settings/config.py). Set your own by following the steps in [settings.cfg](settings.cfg).
## Deployment
Hipfrog can be deployed to run your own managed version of it with Apache2.
Example hipfrog.wsgi (at /var/www/hipfrog/ where application at /var/www/hipfrog/hipfrog/ and dependencies installed with virtualenv):
#!/usr/bin/env python3
activate_this = '/var/www/hipfrog/hipfrog/venv/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))
import sys
import logging
import os
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/hipfrog/hipfrog/")
os.environ["HIPFROG_SETTINGS"] = "/var/www/hipfrog/hipfrog/prod_settings.cfg"
from glassfrog import app as application
Example hipfrog.conf (at /etc/apache2/sites-available):
WSGIPythonHome "/var/www/hipfrog/hipfrog/venv/bin"
WSGIPythonPath "/var/www/hipfrog/hipfrog/venv/lib/python3.5/site-packages"
Listen 45277
ServerName host.wardweistra.nl
ServerAdmin w@rdweistra.nl
WSGIScriptAlias /hipfrog /var/www/hipfrog/hipfrog.wsgi
WSGIDaemonProcess hipfrog-ssl user=ward threads=5
Order allow,deny
Allow from all
Alias /static /var/www/hipfrog/hipfrog/glassfrog/static
Order allow,deny
Allow from all
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/host.wardweistra.nl/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/host.wardweistra.nl/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf