Skip to main content

Cette version de GitHub Enterprise Server ne sera plus disponible le 2026-08-25. Les versions abandonnées ne sont pas prises en charge. 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 dans GitHub Enterprise Server, consultez Overview du processus de mise à niveau. Pour obtenir de l’aide sur la mise à niveau, GitHub Support Entreprise.

Effectuer des requêtes d’API authentifiées avec une application GitHub dans un flux de travail GitHub Actions

Vous pouvez utiliser un jeton d’accès d’installation à partir d’un GitHub App pour effectuer des demandes d’API authentifiées dans un GitHub Actions flux de travail. Vous pouvez également passer le jeton à une action personnalisée pour permettre à celle-ci d’effectuer des requêtes d’API authentifiées.

À propos de l’authentification GitHub Actions

Si vous devez effectuer des demandes d’API authentifiées dans un GitHub Actions flux de travail ou exécuter une action personnalisée nécessitant un jeton, vous devez utiliser le composant GITHUB_TOKEN intégré si possible. Toutefois, GITHUB_TOKEN peut accéder uniquement aux ressources qui se trouvent dans le dépôt du workflow. Si vous avez besoin d’accéder à des ressources supplémentaires, telles que des ressources d’une organisation ou dans un autre référentiel, vous pouvez utiliser un GitHub App. Pour plus d’informations sur la raison pour laquelle vous pouvez utiliser un GitHub App sur un personal access token, consultez À propos de la création d’applications GitHub.

Authentification avec un GitHub App

Pour utiliser GitHub App afin d’effectuer des requêtes d’API authentifiées, vous devez enregistrer GitHub App, stocker les identifiants de votre application et installer votre application. Une fois cette opération effectuée, vous pouvez utiliser votre application pour créer un jeton d’accès d’installation, qui peut être utilisé pour effectuer des demandes d’API authentifiées dans un GitHub Actions flux de travail. Vous pouvez également passer le jeton d’accès d’installation à une action personnalisée qui nécessite un jeton.

  1. Enregistrer un GitHub App. Accordez à votre GitHub App inscription les autorisations nécessaires pour accéder aux ressources souhaitées. Pour plus d’informations, consultez « Inscription d’une application GitHub » et « Choix des autorisations pour une application GitHub ».

  2. Stockez l’ID client de votre GitHub App en tant que GitHub Actions variable de configuration. Vous pouvez trouver votre ID client dans la page Paramètres de votre application. ID client est différent de l’ID de l’application. Pour plus d'informations sur la façon d'accéder à la page des paramètres de votre GitHub App, consultez Modification d’une inscription d’application GitHub. Pour plus d’informations concernant le stockage des variables de configuration, consultez « Stocker des informations dans des variables ».

  3. Générez une clé privée pour votre application. Stockez le contenu du fichier obtenu dans un secret. (Stocker l'ensemble du contenu du fichier, y compris -----BEGIN RSA PRIVATE KEY----- et -----END RSA PRIVATE KEY-----.) Pour plus d’informations, consultez « Gestion des clés privées pour les applications GitHub ». Pour plus d’informations sur le stockage de secrets, consultez « Utilisation de secrets dans GitHub Actions ».

  4. Installez le GitHub App sur le bon compte et accordez-lui les autorisations nécessaires ainsi que l’accès à tous les référentiels auxquels vous souhaitez que votre workflow accède. Pour plus d’informations, consultez « Installation de votre propre application GitHub ».

  5. Dans votre GitHub Actions flux de travail, créez un jeton d’accès d’installation, que vous pouvez utiliser pour effectuer des demandes d’API.

    Pour ce faire, vous pouvez utiliser une GitHubaction appartenant à un propriétaire, comme illustré dans l’exemple suivant. Si vous préférez ne pas utiliser cette action, vous pouvez dupliquer et modifier l'actions/create-github-app-tokenaction, ou vous pouvez écrire un script pour que votre flux de travail crée manuellement un jeton d'installation. Pour plus d’informations, consultez « Authentification en tant qu’installation d’application GitHub ».

    L’exemple de workflow suivant utilise l’action actions/create-github-app-token pour générer un jeton d’accès d’installation. Ensuite, le flux de travail utilise le jeton pour effectuer une demande d’API via le GitHub CLI.

    Dans le flux de travail suivant, remplacez APP_CLIENT_ID par le nom de la variable de configuration où vous avez stocké votre ID client. Remplacez APP_PRIVATE_KEY par le nom du secret où vous avez stocké la clé privée de votre application.

YAML
on:
  workflow_dispatch:
jobs:
  demo_app_authentication:
    runs-on: ubuntu-latest
    steps:
      - name: Generate a token
        id: generate-token
        uses: actions/create-github-app-token@v3
        with:
          client-id: ${{ vars.APP_CLIENT_ID }}
          private-key: ${{ secrets.APP_PRIVATE_KEY }}

      - name: Use the token
        env:
          GH_TOKEN: ${{ steps.generate-token.outputs.token }}
        run: |
          gh api octocat