52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# TI-Status2Mattermost
|
|
|
|
Dieses Python-Skript überwacht die Webseite [https://fachportal.gematik.de/ti-status](https://fachportal.gematik.de/ti-status) auf neue Störungsmeldungen und sendet diese automatisch an einen Mattermost-Webhook.
|
|
|
|
## Funktionsweise
|
|
- Die Seite wird regelmäßig (alle 5 Minuten) auf neue Meldungen geprüft.
|
|
- Neue Meldungen werden erkannt und als formatierte Nachricht an Mattermost gesendet.
|
|
- Bereits gesendete Meldungen werden gespeichert, sodass sie nach einem Neustart nicht erneut verschickt werden.
|
|
|
|
## Voraussetzungen
|
|
- Python 3.8 oder neuer
|
|
- Zugriff auf die Mattermost-Webhook-URL
|
|
|
|
## Installation
|
|
1. Repository klonen oder Dateien herunterladen.
|
|
2. Abhängigkeiten installieren:
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## Nutzung
|
|
Das Skript kann direkt gestartet werden:
|
|
```bash
|
|
python ti_status_checker.py
|
|
```
|
|
|
|
Das Skript läuft in einer Endlosschleife und prüft alle 5 Minuten auf neue Meldungen.
|
|
|
|
## Nutzung mit Docker
|
|
1. Docker-Image bauen:
|
|
```bash
|
|
docker build -t ti-status2mattermost .
|
|
```
|
|
2. Container starten:
|
|
```bash
|
|
docker run -d --name ti-status2mattermost ti-status2mattermost
|
|
```
|
|
Die Datei `ti_status_state.json` bleibt im Container gespeichert. Um den Status dauerhaft zu sichern, kann ein Volume gemountet werden:
|
|
```bash
|
|
docker run -d --name ti-status2mattermost -v $(pwd)/ti_status_state.json:/app/ti_status_state.json ti-status2mattermost
|
|
```
|
|
|
|
## Konfiguration
|
|
- Die Mattermost-Webhook-URL und die Status-URL sind im Skript als Konstanten hinterlegt.
|
|
- Das Intervall kann über die Variable `CHECK_INTERVAL` (in Sekunden) angepasst werden.
|
|
|
|
## Hinweise
|
|
- Bereits gesendete Meldungen werden in der Datei `ti_status_state.json` gespeichert.
|
|
- Die Markdown-Formatierung der Nachrichten sorgt für eine übersichtliche Darstellung in Mattermost.
|
|
|
|
## Lizenz
|
|
MIT |