Skip to main content

Gitlab Google Chat Integration

A Python Flask web application that forwards webhook requests from GitLab to Google Chat.

GGCI showcase

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)

Source distribution for ggci 1.2.17
File Size Uploaded
ggci-1.2.17.tar.gz 7.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ggci 1.2.17
File Interpreter ABI Platform
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+
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page