# Planification de la création d’un problème

Vous pouvez utiliser GitHub Actions pour créer un problème régulièrement pour des éléments tels que des réunions quotidiennes ou des révisions trimestrielles.

## Introduction

Ce tutoriel montre comment utiliser la GitHub CLI pour créer un problème sur une base régulière. Par exemple, vous pouvez créer un problème chaque semaine afin de l’utiliser comme ordre du jour d’une réunion d’équipe. Pour plus d’informations sur GitHub CLI, consultez [Utilisation de l’interface CLI GitHub dans les flux de travail](/fr/actions/using-workflows/using-github-cli-in-workflows).

Dans le tutoriel, vous allez d’abord créer un fichier de flux de travail qui utilise les GitHub CLI. Ensuite, vous personnaliserez le workflow en fonction de vos besoins.

## Création du workflow

1. Choisissez un dépôt où vous souhaitez appliquer ce workflow de gestion de projet. Vous pouvez utiliser un dépôt existant auquel vous avez accès en écriture ou en créer un nouveau. Pour plus d’informations sur la création d’un référentiel, consultez [Création d’un dépôt](/fr/repositories/creating-and-managing-repositories/creating-a-new-repository).

2. Dans votre dépôt, créez un fichier nommé `.github/workflows/YOUR_WORKFLOW.yml`, en `YOUR_WORKFLOW` remplaçant par un nom de votre choix. Il s’agit d’un fichier de workflow. Pour plus d’informations sur la création de nouveaux fichiers dans GitHub, consultez [Création de fichiers](/fr/repositories/working-with-files/managing-files/creating-new-files).

3. Copiez le contenu YAML suivant dans votre fichier de workflow.

   ```yaml copy
   name: Weekly Team Sync
   on:
     schedule:
       - cron: 20 07 * * 1

   jobs:
     create_issue:
       name: Create team sync issue
       runs-on: ubuntu-latest
       permissions:
         issues: write
       steps:
         - name: Create team sync issue
           run: |
             if [[ $CLOSE_PREVIOUS == true ]]; then
               previous_issue_number=$(gh issue list \
                 --label "$LABELS" \
                 --json number \
                 --jq '.[0].number')
               if [[ -n $previous_issue_number ]]; then
                 gh issue close "$previous_issue_number"
                 gh issue unpin "$previous_issue_number"
               fi
             fi
             new_issue_url=$(gh issue create \
               --title "$TITLE" \
               --assignee "$ASSIGNEES" \
               --label "$LABELS" \
               --body "$BODY")
             if [[ $PINNED == true ]]; then
               gh issue pin "$new_issue_url"
             fi
           env:
             GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
             GH_REPO: ${{ github.repository }}
             TITLE: Team sync
             ASSIGNEES: monalisa,doctocat,hubot
             LABELS: weekly sync,docs-team
             BODY: |
               ### Agenda

               - [ ] Start the recording
               - [ ] Check-ins
               - [ ] Discussion points
               - [ ] Post the recording

               ### Discussion Points
               Add things to discuss below

               - [Work this week](https://github.com/orgs/github/projects/3)
             PINNED: false
             CLOSE_PREVIOUS: false
   ```

4. Personnalisez les paramètres dans votre fichier de workflow :
   * Modifiez la valeur de `on.schedule` pour déterminer quand vous souhaitez que ce workflow s’exécute. Dans l’exemple ci-dessus, le workflow s’exécutera tous les lundis à 7h20 UTC. Pour plus d’informations sur les workflows planifiés, consultez « [Événements qui déclenchent des flux de travail](/fr/actions/using-workflows/events-that-trigger-workflows#scheduled-events) ».
   * Remplacez la valeur de `ASSIGNEES` par la liste des noms d’utilisateur GitHub que vous souhaitez attribuer au problème.
   * Remplacez la valeur de `LABELS` par la liste des étiquettes que vous souhaitez appliquer au problème.
   * Remplacez la valeur de `TITLE` par le titre que vous souhaitez attribuer au problème.
   * Remplacez la valeur de `BODY` par le texte que vous souhaitez afficher dans le corps du message. Le caractère `|` vous permet d’utiliser une valeur multiligne pour ce paramètre.
   * Si vous souhaitez épingler ce problème dans votre référentiel, définissez `PINNED` sur `true`. Pour plus d’informations sur les problèmes épinglés, consultez « [Épinglage d’un problème à votre dépôt](/fr/issues/tracking-your-work-with-issues/pinning-an-issue-to-your-repository) ».
   * Si vous souhaitez fermer le problème précédent généré par ce workflow chaque fois qu’un nouveau problème est créé, définissez `CLOSE_PREVIOUS` sur `true`. Le workflow ferme alors le problème le plus récent dont les étiquettes sont définies dans le champ `labels`. Pour éviter de fermer le mauvais problème, utilisez une étiquette unique ou une combinaison d’étiquettes.

5. Commitez votre fichier de workflow dans la branche par défaut de votre dépôt. Pour plus d’informations, consultez « [Création de fichiers](/fr/repositories/working-with-files/managing-files/creating-new-files) ».

## Résultats attendus

En fonction du paramètre `schedule` (par exemple, tous les lundis à 7h20 UTC), votre workflow crée un nouveau problème avec les personnes responsables, les étiquettes, le titre et le corps que vous avez spécifiés. Si vous définissez `PINNED` sur `true`, le workflow épingle le problème dans votre référentiel. Si vous définissez `CLOSE_PREVIOUS` sur true, le workflow ferme le problème le plus récent doté des étiquettes correspondantes.

> \[!NOTE]
> L’événement `schedule` peut être retardé pendant les périodes où les charges des exécutions de workflows GitHub Actions sont élevées. Les périodes de charges élevées incluent le début de chaque heure. Si la charge est suffisamment élevée, certains travaux en file d’attente peuvent être supprimés. Pour réduire le risque de retard, planifiez l’exécution de votre workflow à un autre moment dans l’heure.

Vous pouvez consulter l’historique de vos exécutions de workflow pour voir les exécutions de ce workflow à intervalles réguliers. Pour plus d’informations, consultez « [Affichage de l’historique des exécutions de workflows](/fr/actions/monitoring-and-troubleshooting-workflows/viewing-workflow-run-history) ».

## Étapes suivantes

* Pour en savoir plus sur les tâches supplémentaires que vous pouvez effectuer avec les GitHub CLI, comme l’utilisation d’un modèle de problème, consultez la [documentation `gh issue create`](https://cli.github.com/manual/gh_issue_create).
* [Recherchez GitHub Marketplace](https://github.com/marketplace?category=\&type=actions\&verification=\&query=schedule+issue) pour obtenir les actions liées aux problèmes planifiés.