SecuAAS Docs
SecuMon

Gardes (on-call)

Définissez qui est de service et quand : plannings de rotation, membres, dérogations et garde courante.

À quoi ça sert

Une garde (on-call) détermine qui doit être notifié à un instant donné. Vous définissez un planning de rotation : une liste de membres qui se relaient selon un rythme (par ex. hebdomadaire), dans un fuseau horaire donné, avec d'éventuelles dérogations ponctuelles. Les politiques d'alerte s'appuient sur la garde courante pour router les notifications vers la bonne personne.

Le modèle d'un planning

ChampTypeRequisDescription
iduuid(généré)Identifiant unique.
namestringNom du planning (Astreinte web).
timezonestringFuseau horaire. Défaut : America/Toronto.
rotation_typestringType de rotation. Défaut : weekly.
memberstableau JSONMembres de la rotation, dans l'ordre. Défaut : [].
overridestableau JSONDérogations ponctuelles (remplacements). Défaut : [].

Utilisation via le portail

La section On-call affiche la garde courante (« On-Call Now ») et la liste de vos plannings. Vous pouvez créer, éditer et supprimer un planning, définir l'ordre des membres et ajouter des dérogations.

Lister et consulter : tous les rôles. Créer, éditer, supprimer : owner et admin.

Utilisation via l'API

Lister les plannings

GET /api/v2/oncall-schedules

curl -s https://api.secumon.secuaas.ovh/api/v2/oncall-schedules \
  -H "Authorization: Bearer $SECUMON_TOKEN"
[
  {
    "id": "5b4a3c2d-aaaa-4bbb-9ccc-ddddeeeeffff",
    "name": "Astreinte web",
    "timezone": "America/Toronto",
    "rotation_type": "weekly"
  }
]

Créer un planning

POST /api/v2/oncall-schedulesname requis. Les valeurs par défaut (timezone: America/Toronto, rotation_type: weekly, members: [], overrides: []) s'appliquent si vous les omettez.

curl -s -X POST https://api.secumon.secuaas.ovh/api/v2/oncall-schedules \
  -H "Authorization: Bearer $SECUMON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Astreinte web",
    "timezone": "America/Toronto",
    "rotation_type": "weekly",
    "members": [
      { "name": "Alice", "email": "alice@example.com" },
      { "name": "Bob", "email": "bob@example.com" }
    ]
  }'

Réponse : 201 Created avec le planning.

Consulter un planning (avec la garde courante)

GET /api/v2/oncall-schedules/:id renvoie le planning et le membre actuellement de garde.

curl -s https://api.secumon.secuaas.ovh/api/v2/oncall-schedules/5b4a3c2d-aaaa-4bbb-9ccc-ddddeeeeffff \
  -H "Authorization: Bearer $SECUMON_TOKEN"
{
  "schedule": { "id": "5b4a3c2d-aaaa-4bbb-9ccc-ddddeeeeffff", "name": "Astreinte web", "...": "..." },
  "current_oncall": { "name": "Alice", "email": "alice@example.com" }
}

Modifier et supprimer

# Modifier
curl -s -X PUT https://api.secumon.secuaas.ovh/api/v2/oncall-schedules/5b4a3c2d-aaaa-4bbb-9ccc-ddddeeeeffff \
  -H "Authorization: Bearer $SECUMON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Astreinte web",
    "timezone": "America/Toronto",
    "rotation_type": "weekly",
    "members": [ { "name": "Alice", "email": "alice@example.com" } ]
  }'

# Supprimer
curl -s -X DELETE https://api.secumon.secuaas.ovh/api/v2/oncall-schedules/5b4a3c2d-aaaa-4bbb-9ccc-ddddeeeeffff \
  -H "Authorization: Bearer $SECUMON_TOKEN"

La modification et la suppression renvoient 204 No Content.

Garde courante de tous les plannings

GET /api/v2/oncall/current renvoie, pour chaque planning, le membre de garde au moment de l'appel.

curl -s https://api.secumon.secuaas.ovh/api/v2/oncall/current \
  -H "Authorization: Bearer $SECUMON_TOKEN"
[
  {
    "schedule_id": "5b4a3c2d-aaaa-4bbb-9ccc-ddddeeeeffff",
    "schedule_name": "Astreinte web",
    "on_call": { "name": "Alice", "email": "alice@example.com" }
  }
]

Cas d'usage

  • Rotation hebdomadaire : alterner l'astreinte entre membres d'une équipe, chacun couvrant une semaine.
  • Remplacement ponctuel : utiliser overrides pour couvrir une absence (congé, déplacement) sans modifier la rotation de base.
  • Tableau d'astreinte : afficher GET /oncall/current pour savoir en un coup d'œil qui est joignable maintenant.

Astuces

  • Renseignez le bon timezone : la rotation et les dérogations sont calculées dans ce fuseau, ce qui évite les confusions horaires.
  • Couplez la garde à une politique d'alerte pour que les notifications atteignent automatiquement la personne de service.
  • Vérifiez current_oncall après une modification de la rotation pour confirmer que la bonne personne est désormais de garde.

On this page