Skip to main content

GITHUB_TOKEN

Découvrez ce qu'est GITHUB_TOKEN, comment il fonctionne et pourquoi c'est important pour l'automatisation sécurisée dans les flux de travail GitHub Actions.

À propos de GITHUB_TOKEN

Au début de chaque travail de workflow, GitHub crée automatiquement un secret GITHUB_TOKEN unique à utiliser dans votre workflow. Vous pouvez utiliser GITHUB_TOKEN pour vous authentifier dans un travail de workflow.

Lorsque vous activez GitHub Actions, GitHub installe une GitHub App sur votre dépôt. Le secret GITHUB_TOKEN est un jeton d'accès d'installation GitHub App. Vous pouvez utiliser le jeton d'accès d'installation pour vous authentifier pour le compte du GitHub App installé sur votre dépôt. Les autorisations du jeton sont limitées au dépôt qui contient votre workflow. Pour plus d’informations, consultez Syntaxe de flux de travail pour GitHub Actions.

Avant le début de chaque tâche, GitHub récupère un jeton d'accès d'installation pour la tâche. La GITHUB_TOKEN expire lorsque le travail se termine ou après sa durée de vie maximale effective.

La durée de vie maximale effective du jeton dépend du type de runner :

  • GitHub-hosted runners La durée maximale d’exécution d’une tâche est de 6 heures, donc le GITHUB_TOKEN peut vivre au maximum 6 heures.
  • Runners auto-hébergés La durée maximale d’exécution d’une tâche est de 5 jours. Toutefois, étant donné que le GITHUB_TOKEN est un jeton d'accès d'installation, il ne peut être actualisé que pendant 24 heures. Si votre tâche s’exécute pendant plus de 24 heures, utilisez plutôt un personal access token ou une autre méthode d’authentification.

Le jeton est également disponible dans le contexte github.token. Pour plus d’informations, consultez Référence des contextes.

Quand GITHUB_TOKEN déclenche l'exécution du flux de travail

Lorsque vous utilisez le référentiel GITHUB_TOKEN pour effectuer des tâches, les événements déclenchés par le GITHUB_TOKEN ne créeront pas de nouvelle exécution de flux de travail, à l’exception suivante :

  • workflow_dispatch et repository_dispatch les événements créent toujours des exécutions de flux de travail.

Pour tous les autres événements, ce comportement vous empêche de créer accidentellement des exécutions de flux de travail récursives. Par exemple, si une exécution de workflow pousse du code avec le GITHUB_TOKEN du dépôt, aucun nouveau workflow ne sera exécuté même quand le dépôt contient un workflow configuré pour s’exécuter quand des événements push se produisent.

Les commits envoyés par un workflow GitHub Actions qui utilise le GITHUB_TOKEN ne déclenchent pas de build GitHub Pages.

Étapes suivantes