4e19c41cd2
- Neuer Step I (ssh_key_versuch.py): liest SSH-Keys aus DB, testet Verbindung per paramiko; erfolgreiche Server landen in server_creds, fehlgeschlagene in needs_bitwarden - Step G (Bitwarden) ist jetzt No-Op wenn alle Server per Key OK - paramiko.DSSKey in allen 4 Dateien entfernt (nicht in paramiko 4.0) - failure_module (flow_fehler_handler.py): sendet bei jedem Flow-Fehler eine Nextcloud-Talk-Nachricht und bereinigt DB/Session - Bitwarden-Step überspringt fehlgeschlagene Server statt abzubrechen - testpause.py als wiederverwendbarer Debug-Helper behalten Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
summary: E-Mails zu Nextcloud Talk
|
|
description: >
|
|
Liest ungelesene E-Mails von zwei IMAP-Konten und sendet Benachrichtigungen
|
|
an einen Nextcloud Talk Raum. E-Mails werden als gelesen markiert.
|
|
schema:
|
|
$schema: "http://json-schema.org/draft-07/schema"
|
|
type: object
|
|
properties:
|
|
imap_config_1:
|
|
type: object
|
|
format: resource-imap
|
|
description: "IMAP Konto 1 (Ressource: f/mail_to_talk/imap_config)"
|
|
imap_config_2:
|
|
type: object
|
|
format: resource-imap
|
|
description: "IMAP Konto 2 (Ressource: f/mail_to_talk/imap_config_2)"
|
|
nextcloud_config:
|
|
type: object
|
|
format: resource-nextcloud
|
|
description: "Nextcloud Zugangsdaten (Ressource: f/mail_to_talk/nextcloud_talk_config)"
|
|
required:
|
|
- imap_config_1
|
|
- imap_config_2
|
|
- nextcloud_config
|
|
value:
|
|
modules:
|
|
- id: fetch_emails_1
|
|
summary: Ungelesene E-Mails Konto 1 abrufen
|
|
value:
|
|
type: rawscript
|
|
language: python3
|
|
content: "!inline fetch_emails.py"
|
|
input_transforms:
|
|
imap_config:
|
|
type: javascript
|
|
expr: flow_input.imap_config_1
|
|
stop_after_if:
|
|
expr: "false"
|
|
skip_if_stopped: false
|
|
|
|
- id: fetch_emails_2
|
|
summary: Ungelesene E-Mails Konto 2 abrufen
|
|
value:
|
|
type: rawscript
|
|
language: python3
|
|
content: "!inline fetch_emails.py"
|
|
input_transforms:
|
|
imap_config:
|
|
type: javascript
|
|
expr: flow_input.imap_config_2
|
|
stop_after_if:
|
|
expr: "false"
|
|
skip_if_stopped: false
|
|
|
|
- id: send_to_talk
|
|
summary: Jede E-Mail an Nextcloud Talk senden
|
|
value:
|
|
type: forloopflow
|
|
iterator:
|
|
type: javascript
|
|
expr: "[...results.fetch_emails_1, ...results.fetch_emails_2]"
|
|
skip_failures: false
|
|
parallel: false
|
|
modules:
|
|
- id: send_message
|
|
summary: Nachricht an Nextcloud Talk senden
|
|
value:
|
|
type: rawscript
|
|
language: python3
|
|
content: "!inline send_message.py"
|
|
input_transforms:
|
|
email:
|
|
type: javascript
|
|
expr: flow_input.iter.value
|
|
nextcloud_config:
|
|
type: javascript
|
|
expr: flow_input.nextcloud_config
|