GET /v1/organizations/{org_id}/projects/{id}/eol
Les abonnements EOL permettent de surveiller la fin de vie et la fin de support de versions logicielles spécifiques. Chaque abonnement est rattaché à un projet.
Lister les abonnements EOL d’un projet
Section intitulée « Lister les abonnements EOL d’un projet »GET /api/v1/organizations/{org_id}/projects/{project_id}/eolAuthorization: Bearer twa_votre_cle_iciParamètres de chemin
Section intitulée « Paramètres de chemin »| Paramètre | Type | Description |
|---|---|---|
org_id |
UUID |
Identifiant de l’organisation |
project_id |
UUID |
Identifiant du projet |
Aucun paramètre de requête
Section intitulée « Aucun paramètre de requête »Réponse 200 OK
Section intitulée « Réponse 200 OK »[ { "id": "018eaaaa-0000-7000-8000-000000000040", "product_id": "nodejs", "cycle": "18", "notify_before_eol_days": 90, "notify_before_support_days": 30, "created_at": "2024-05-10T12:00:00Z" }, { "id": "018eaaaa-0000-7000-8000-000000000041", "product_id": "ubuntu", "cycle": "22.04", "notify_before_eol_days": null, "notify_before_support_days": null, "created_at": "2024-05-10T12:05:00Z" }, { "id": "018eaaaa-0000-7000-8000-000000000042", "product_id": "postgresql", "cycle": null, "notify_before_eol_days": null, "notify_before_support_days": null, "created_at": "2024-06-01T09:00:00Z" }]| Champ | Type | Description |
|---|---|---|
id |
string (UUID) |
Identifiant de l’abonnement |
product_id |
string |
Identifiant du produit (ex : nodejs, ubuntu, postgresql) — correspond aux IDs du catalogue EOL |
cycle |
string | null |
Version spécifique surveillée (ex : "18", "22.04"). null = surveillance du produit entier (nouvelles releases) |
notify_before_eol_days |
integer | null |
Délai d’alerte avant fin de vie en jours. null = utilise le réglage par défaut du projet |
notify_before_support_days |
integer | null |
Délai d’alerte avant fin de support en jours. null = utilise le réglage par défaut du projet |
created_at |
string (ISO 8601) |
Date de création de l’abonnement |
Deux types d’abonnements
Section intitulée « Deux types d’abonnements »cycle |
Type | Comportement |
|---|---|---|
null |
Abonnement produit | Alerte quand une nouvelle version/cycle est publiée pour ce produit |
"18", "22.04", etc. |
Abonnement cycle | Alerte avant la fin de vie ou fin de support de cette version précise |
| Code | Détail | Cause |
|---|---|---|
404 |
Projet introuvable |
Projet inexistant, d’une autre organisation, ou hors de la restriction de projets de la clé |
403 |
Cette clé API n'a pas le droit d'accéder à cette ressource. |
Le scope eol manque à la clé |
Lister les versions en fin de vie imminente (≤ 90 jours)
import httpxfrom datetime import date, timedelta
BASE = "https://app.techwatchalert.com/api/v1"headers = {"Authorization": "Bearer twa_votre_cle_ici"}org_id = "018e5678-abcd-7000-8000-000000000001"project_id = "018e1234-abcd-7000-8000-000000000010"
# Récupérer les abonnements du projetsubs = httpx.get(f"{BASE}/organizations/{org_id}/projects/{project_id}/eol", headers=headers).json()
# Pour chaque cycle surveillé, récupérer la date de fin de vietoday = date.today()soon = today + timedelta(days=90)
for sub in subs: if sub["cycle"] is None: continue # abonnement produit, pas de date EOL
cycles = httpx.get( f"{BASE}/eol/products/{sub['product_id']}/cycles", headers=headers, ).json()["cycles"]
for c in cycles: if c["cycle"] != sub["cycle"]: continue eol = c.get("eol") if isinstance(eol, str): # format "YYYY-MM-DD" eol_date = date.fromisoformat(eol) if today <= eol_date <= soon: days_left = (eol_date - today).days print(f"{sub['product_id']} {c['cycle']} — EOL dans {days_left} jours ({eol_date})")