Démarrage Rapide
L’objet Apprise
Section intitulée « L’objet Apprise »import appriseapobj = apprise.Apprise()Ajouter des services (add)
Section intitulée « Ajouter des services (add) »La méthode add() enregistre des services de notification dans votre instance.
# Ajouter un seul serviceapobj.add('json://localhost')
# Ajouter plusieurs services d'un coupapobj.add([ 'mailto://user:pass@example.com', 'slack://tokenA/tokenB/tokenC'])Envoyer des notifications (notify)
Section intitulée « Envoyer des notifications (notify) »La méthode notify() envoie des messages à tous les services enregistrés.
apobj.notify( title="Alerte serveur", body="L'utilisation CPU est à 99%",)Types de message
Section intitulée « Types de message »Vous pouvez catégoriser vos notifications avec NotifyType. Cela modifie souvent l’icône ou la couleur de la notification selon le service destinataire.
from apprise import NotifyType
apobj.notify( title="Succès", body="La sauvegarde s'est terminée avec succès.", notify_type=NotifyType.SUCCESS)| Icône | Type | Description |
|---|---|---|
![]() | NotifyType.INFO | Valeur par défaut. Information générale. |
![]() | NotifyType.SUCCESS | Opérations réussies. |
![]() | NotifyType.WARNING | Problèmes non fatals. |
![]() | NotifyType.FAILURE | Erreurs critiques. |
Les tags permettent d’envoyer des notifications à des sous-groupes précis de services.
1. Assigner des tags
# Assigner des tags lors de l'ajout des servicesapobj.add('slack://...', tag='devops')apobj.add('mailto://...', tag='management')apobj.add('discord://...', tag=['devops', 'management']) # Plusieurs tags2. Filtrer par tags
# Notifier UNIQUEMENT les services tagués 'devops'apobj.notify(title="Déploiement", body="...", tag="devops")
# Notifier les services tagués 'devops' OU 'management'apobj.notify(title="Mise à jour", body="...", tag=["devops", "management"])Les expressions de tags utilisées en programmation suivent ces règles :
Expression notify(tag=...) | Services sélectionnés |
|---|---|
"TagA" | Possède TagA |
"TagA,TagB" | Possède TagA ET TagB |
["TagA", "TagB"] | Possède TagA OU TagB |
["TagA,TagC", "TagB"] | Possède (TagA ET TagC) OU TagB |
# Notifier les services tagués 'product' ET 'create'apobj.notify(title="Créé", body="...", tag="product,create")
# Notifier les services tagués 'devops' OU 'finance'apobj.notify(title="Rapport", body="...", tag=["devops", "finance"])
# Notifier les services correspondant à ('comment' ET 'create') OU 'admin'apobj.notify(title="Commentaire créé", body="...", tag=["comment,create", "admin"])Filtrage par Priorité
Section intitulée « Filtrage par Priorité »Les tags dans les fichiers de configuration peuvent porter un préfixe numérique de priorité (par exemple 1:alerts ou 5:alerts en YAML). Deux modes sont disponibles selon que vous incluez ou non une priorité dans le filtre.
Sans préfixe de priorité — escalade (par défaut)
Les services sont regroupés par priorité de tag et traités dans l’ordre croissant. Si tous les services du groupe de priorité la plus basse réussissent, Apprise retourne True immédiatement sans déclencher les groupes de priorité supérieure. En cas d’échec, Apprise passe au groupe suivant.
# Tous les services 'alerts' sont traités par priorité croissante.# Les entrées de priorité 1 s'exécutent en premier ; si elles réussissent# toutes, les entrées de priorité 5 ne sont jamais déclenchées.apobj.notify(body="...", tag="alerts")Avec un préfixe de priorité — filtre exclusif
Seuls les services dont le tag correspondant porte exactement cette priorité sont notifiés. Pas d’escalade.
# Notifier UNIQUEMENT les entrées 'alerts' de priorité 2apobj.notify(body="...", tag="2:alerts")Remplacement du Nombre de Tentatives par Appel
Section intitulée « Remplacement du Nombre de Tentatives par Appel »Un suffixe :N sur une valeur de tag remplace le nombre de tentatives configuré pour chaque service correspondant, pour cet appel uniquement :
# Notifier tous les services 'alerts' en réessayant chacun jusqu'à 3 foisapobj.notify(body="...", tag="alerts:3")
# Notifier uniquement les services 'alerts' de priorité 2 avec jusqu'à 3 tentativesapobj.notify(body="...", tag="2:alerts:3")Le nombre de tentatives ne modifie pas la configuration permanente du service.
Charger des fichiers de configuration
Section intitulée « Charger des fichiers de configuration »Vous pouvez utiliser l’objet AppriseConfig pour charger des URL depuis des fichiers YAML ou texte externes au lieu de les coder en dur.
import apprise
# 1. Créer l'objet de configurationconfig = apprise.AppriseConfig()
# 2. Ajouter des sources de configurationconfig.add('/path/to/my/config.yml')config.add('https://myserver.com/my/apprise/config')
# 3. Créer l'instance Apprise et absorber la configurationapobj = apprise.Apprise()apobj.add(config)
# 4. Notifier comme d'habitude (les URL du fichier sont maintenant chargées)apobj.notify("Chargé depuis la configuration !") Questions ou commentaires ?
Documentation
Vous avez repéré une faute de frappe ou une erreur ? Signalez-la ou proposez une correction .
Problèmes Techniques
Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :



