Note
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. Consultez « Documentation sur les webhooks ».
Maintenez la conformité et sécurisez la propriété intellectuelle avec les points de terminaison relatifs au 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. »
Pour plus d’informations sur les événements spécifiques auxquels vous pouvez accéder via les points de terminaison de journal d’audit, consultez les articles suivants.
- « Événements du journal d’audit pour votre entreprise »
- « Événements du journal d’audit pour votre organisation »
- « Événements du journal de sécurité »
Détails du journal d'audit
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. 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
. 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.
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"