Skip to main content

Contextes

Pour en savoir plus sur les contextes, consultez GitHub Actions.

À propos des contextes

Les contextes offrent un moyen d’accĂ©der aux informations sur les exĂ©cutions de workflow, les variables, les environnements d’exĂ©cuteur, les travaux et les Ă©tapes. Chaque contexte est un objet qui contient des propriĂ©tĂ©s, qui peuvent ĂȘtre des chaĂźnes ou d’autres objets.

Les contextes, les objets et les propriĂ©tĂ©s varient considĂ©rablement dans les diffĂ©rentes conditions d’exĂ©cution des workflows. Par exemple, le contexte matrix est rempli uniquement pour les travaux figurant dans une matrice.

Vous pouvez accĂ©der aux contextes Ă  l’aide de la syntaxe d’expression. Pour plus d’informations, consultez « Ă‰valuer des expressions dans les workflows et les actions. Â».

${{ <context> }}

Avertissement

Lors de la crĂ©ation de flux de travail et d’actions, vous devez toujours dĂ©terminer si votre code pourrait exĂ©cuter des entrĂ©es non fiables provenant de personnes malveillantes potentielles. Certains contextes doivent ĂȘtre traitĂ©s comme des entrĂ©es non fiables, car un attaquant peut insĂ©rer son propre contenu malveillant. Pour plus d’informations, consultez « Informations de rĂ©fĂ©rence sur l’utilisation sĂ©curisĂ©e Â».

Déterminer quand utiliser des contextes

GitHub Actions inclut une collection de variables appelĂ©es contextes, et une collection similaire de variables appelĂ©es variables par dĂ©faut. Ces variables sont destinĂ©es Ă  ĂȘtre utilisĂ©es Ă  diffĂ©rents stades du workflow.

  • Variables d’environnement par dĂ©faut : ces variables d’environnement existent uniquement sur l’exĂ©cuteur du travail. Pour plus d’informations, consultez « Stocker des informations dans des variables Â».
  • Contextes : vous pouvez utiliser la plupart des contextes Ă  n’importe quel stade du workflow, notamment quand les variables par dĂ©faut ne sont pas disponibles. Par exemple, vous pouvez utiliser des contextes avec des expressions pour effectuer un traitement initial avant que le travail soit routĂ© vers un exĂ©cuteur. Cela vous permet d’utiliser un contexte avec le mot clĂ© conditionnel if pour dĂ©terminer si une Ă©tape doit ĂȘtre exĂ©cutĂ©e. Une fois le travail en cours d’exĂ©cution, vous pouvez Ă©galement rĂ©cupĂ©rer des variables de contexte Ă  partir de l’exĂ©cuteur du travail, par exemple runner.os. Pour plus d’informations sur l’emplacement oĂč vous pouvez utiliser divers contextes au sein d’un workflow, consultez RĂ©fĂ©rence des contextes.

L’exemple suivant montre comment ces diffĂ©rents types de variables peuvent ĂȘtre utilisĂ©s ensemble dans un travail :

YAML
name: CI
on: push
jobs:
  prod-check:
    if: ${{ github.ref == 'refs/heads/main' }}
    runs-on: ubuntu-latest
    steps:
      - run: echo "Deploying to production server on branch $GITHUB_REF"

Dans cet exemple, l’instruction if vĂ©rifie le contexte github.ref pour dĂ©terminer le nom de la branche actuelle. Si le nom est refs/heads/main, les Ă©tapes suivantes sont exĂ©cutĂ©es. La vĂ©rification if est traitĂ©e par GitHub Actions, et le travail n’est envoyĂ© Ă  l’exĂ©cuteur que si le rĂ©sultat est true. Une fois le travail envoyĂ© Ă  l’exĂ©cuteur, l’étape est exĂ©cutĂ©e et rĂ©fĂ©rence la variable $GITHUB_REF de l’exĂ©cuteur.