Skip to main content

Cette version de GitHub Enterprise Server n'est plus disponible depuis le 2024-07-09. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Utilisation de l’API de journal d’audit pour votre entreprise

Vous pouvez récupérer par programmation des événements d’entreprise avec l’API REST.

Qui peut utiliser cette fonctionnalité ?

Enterprise owners and site administrators can use the audit log API.

Utilisation de l’API de journal d’audit

Remarque : Les webhooks peuvent être une bonne alternative au journal d’audit ou à l’interrogation d’API pour certains cas d'utilisation. Les webhooks sont un moyen pour GitHub de notifier votre serveur lorsque des événements spécifiques se produisent pour un référentiel, une organisation ou une entreprise. Par rapport à l’API ou à la recherche dans le journal d’audit, les webhooks peuvent être plus efficaces si vous souhaitez simplement apprendre et éventuellement journaliser quand certains événements se produisent sur votre entreprise, organisation ou référentiel. Pour plus d’informations, consultez « Documentation sur les webhooks ».

Vous pouvez maintenir la conformité de votre entreprise et protéger votre propriété intellectuelle en interagissant avec le journal d’audit à l’aide de l’API REST. Pour plus d’informations sur les événements spécifiques auxquels vous pouvez accéder via l’API de journal d’audit, consultez les articles suivants.

Le journal d’audit liste les événements déclenchés par les activités qui affectent votre entreprise. Les journaux d’audit pour GitHub Enterprise Server sont conservés indéfiniment, sauf si un propriétaire d’entreprise a configuré une période de conservation différente. Pour plus d’informations, consultez « Configuration du journal d’audit de votre entreprise ».

Par défaut, seuls les événements des trois derniers mois sont affichés. Pour voir les événements plus anciens, vous devez spécifier une plage de dates avec le paramètre created. Pour plus d’informations, consultez « Compréhension de la syntaxe de recherche ».

Les horodatages et les champs de date de la réponse de l’API sont mesurés en millisecondes d’époque UTC.

Vous pouvez utiliser l’étendue read:audit_log pour accéder au journal d’audit via l’API.

Pour plus d’informations sur l’API REST de journal d’audit, consultez « Points de terminaison d’API REST pour les journaux d’audit de l’entreprise » et « Points de terminaison d’API REST pour les organisations ».

Exemple 1 : Tous les événements d’une entreprise pour une date spécifique, avec pagination

Vous pouvez utiliser la pagination basée sur la page. Pour plus d’informations sur la pagination, consultez « Utilisation de la pagination dans l’API REST ».

La requête ci-dessous recherche les événements de journal d’audit créés le 1er janvier 2022 dans l’entreprise avocado-corp et retourne la première page avec un maximum de 100 éléments par page à l’aide de la pagination. Pour plus d’informations sur la pagination, consultez « Utilisation de la pagination dans l’API REST ».

curl -H "Authorization: Bearer TOKEN" \
--request GET \
"http(s)://HOSTNAME/api/v3/enterprises/avocado-corp/audit-log?phrase=created:2022-01-01&page=1&per_page=100"

Exemple 2 : Événements pour les demandes de tirage (pull request) dans une entreprise pour une date et un acteur spécifiques

Vous pouvez spécifier plusieurs expressions de recherche, par exemple created et actor, en les séparant par le symbole + ou le code de caractère ASCII %20 dans votre URL formée.

La requête ci-dessous recherche les événements de journal d’audit pour les demandes de tirage, où l’événement s’est produit à partir du 1er janvier 2022 dans l’entreprise avocado-corp et où l’action a été effectuée par l’utilisateur octocat :

curl -H "Authorization: Bearer TOKEN" \
--request GET \
"http(s)://HOSTNAME/api/v3/enterprises/avocado-corp/audit-log?phrase=action:pull_request+created:>=2022-01-01+actor:octocat"

Exemple 3 :Événements pour l’activité Git dans une entreprise, pour une date et un acteur spécifiques

Vous pouvez rechercher des événements Git dans une entreprise, tels que le clonage, la récupération et l’envoi (push), en ajoutant include=git en tant que paramètre dans l’URL. Vous pouvez également utiliser include=all pour rechercher à la fois des événements web et des événements Git.

La requête ci-dessous recherche les événements du journal d’audit pour l’activité Git, où l’événement s’est produit après le 1er janvier 2024 dans l’entreprise avocado-corp et où l’action a été effectuée par l’utilisateur octocat.

curl -H "Authorization: Bearer TOKEN" \
--request GET \
"http(s)://HOSTNAME/api/v3/enterprises/avocado-corp/audit-log?phrase=created:>=2024-01-01+actor:octocat&include=git"