Gitlab Google Chat Integration
A Python Flask web application that forwards webhook requests from GitLab to Google Chat.
Installation
ggci is available as a Python package
on PyPI.
It can be installed via standard package managers in Python, e.g. pip:
pip install ggci
Usage
ggci provides a standard Flask application factory create_app():
from ggci import create_app
app = create_app()
For how to use this application factory refer to the official Flask documentation.
Configuration
There are several ways how ggci can be configured.
YAML config (default)
By default create_app() looks for a YAML configuration file specified
by GGCI_CONFIG environment variable.
Example config:
ggci_secret: xxxxxxx
user_mappings: # OPTIONAL, used for mentions; key: GitLab ID, val: Google Chat ID
5894317: 120984893489384029908 # Gandalf
4985120: 109238409842809234892 # Chuck Norris
Config Object
Alternatively, create_app() also accepts optional argument config of type
ggci.Config.
from ggci import Config, create_app
config = Config(
ggci_secret='xxxxxxx',
user_mappings={
5894317: 120984893489384029908, # Gandalf
4985120: 109238409842809234892, # Chuck Norris
},
)
app = create_app(config=config)
Features
Merge Request Events Notifications
Notifications for merge requests actions. All notifications for one MR are posted to the same thread (identified by merge request ID). Supported actions:
- open: includes link with title, event author, mentions of assignees and description
- approved: includes link and event author
- unapproved: includes link and action author
- update of assigness: includes link and mentions of current assignees
- merged: includes link and action author
- closed: includes link and action author
- reopened: includes link and action author
Metadata
Release files for ggci 1.2.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ggci-1.2.17.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ggci-1.2.17-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.8 kB
Release files / ggci-1.2.17.tar.gz
| Download URL | ggci-1.2.17.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6a99dcce244b8a1b6c67387dd73254e22aee08eb33e9408fa68de514c8b474a
|
|
BLAKE2b-256 checksum How to use checksums |
ef051604834e0fbfbd0611a6bb50ff11d185019ad96b742e03c65a95691d680e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.8.12 Linux/5.4.109+
|
Release files / ggci-1.2.17-py3-none-any.whl
| Download URL | ggci-1.2.17-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1e4664a147d3dcc459908a38c55c9a9c6bbaad2a2867ddc987cbf06962b2b29
|
|
BLAKE2b-256 checksum How to use checksums |
1ab081b394a321769de7015a6cd4addf491f0c0bc6253052fc2523cdaae76c89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.13 CPython/3.8.12 Linux/5.4.109+
|