# GitHub Issues

Ouvrez un ticket GitHub à chaque soumission.

## GitHub Issues

Transformez automatiquement les soumissions en tickets GitHub. Chaque soumission crée un ticket dans le dépôt de votre choix, avec un titre, un corps et un jalon personnalisés.

<h2 id="what-you-get">Ce que vous obtenez</h2>

<ul>
  <li>Un ticket GitHub par soumission, attribué à l’utilisateur connecté</li>
  <li>
    Titre et corps construits depuis un éditeur de modèle — tapez <strong>@</strong> pour insérer la valeur de n’importe quel champ du
    formulaire
  </li>
  <li>Le corps prend en charge le markdown GitHub (gras, listes, titres, blocs de code, liens)</li>
  <li>Jalon par défaut optionnel appliqué à chaque ticket</li>
  <li>
    Bouton de test qui crée un vrai ticket préfixé <code>[Test]</code> pour vérifier avant de mettre en production
  </li>
</ul>

<h2 id="connect">Connecter GitHub</h2>

<h2 id="abandoned-responses">Événements de réponses abandonnées</h2>

<p>
  Lorsqu’un répondant commence votre formulaire sans le terminer, Formstep peut créer un ticket séparé pour les données partielles. Réglez{' '}
  <strong>Envoyer l’événement d’abandon après</strong> sur 12 heures, 1 jour, 3 jours ou 1 semaine, puis renseignez le titre et le corps du
  ticket abandonné — aucun des deux ne peut être vide. Les tickets abandonnés reçoivent l’étiquette <code>partial-submission</code>, créée à
  la première utilisation.
</p>

<p>
  Un balayage horaire recherche les brouillons inactifs, si bien que le ticket apparaît au premier balayage suivant le passage de la
  fenêtre. Seuls les brouillons d’un lien de partage sont balayés, et <strong>Champs obligatoires</strong> le restreint davantage : le
  ticket n’est créé que si au moins un des champs choisis a été rempli.
</p>

> ℹ️ **Fonctionnalité Pro**
> <p>
>     La livraison des réponses abandonnées nécessite un plan Pro ou Business. L’intégration GitHub Issues de base est disponible sur tous les
>     plans. Consultez <a href="/fr/subscription-billing/plans-pricing">les offres et tarifs</a>.
>   </p>

<h2 id="tokens">Jetons</h2>

<p>
  Les jetons OAuth App GitHub <strong>n’expirent pas</strong> — il n’y a pas de rotation de jeton de rafraîchissement. Si vous révoquez
  l’autorisation depuis la page des applications OAuth autorisées de votre compte GitHub, l’envoi suivant échoue, Formstep marque les
  identifiants comme expirés et vous recevez un e-mail de notification d’échec. Reconnectez-vous depuis la page Intégrations de l’espace de
  travail pour rétablir la connexion.
</p>

<h2 id="removing">Supprimer l’intégration</h2>

<ul>
  <li>
    <strong>Depuis Formstep</strong> — Paramètres du formulaire → Intégrations → GitHub Issues → Supprimer. Les nouvelles soumissions
    arrêtent immédiatement de créer des tickets.
  </li>
  <li>
    <strong>Depuis GitHub</strong> — Révoquez l’autorisation OAuth depuis la page des applications OAuth autorisées de votre compte.
    Formstep ne révoque pas automatiquement le jeton de son côté.
  </li>
</ul>

<h2 id="limits">Limites et comportement</h2>

<ul>
  <li>Un ticket par soumission — pas de mode commentaire sur un ticket existant</li>
  <li>Pas de rétro-remplissage — seules les nouvelles soumissions créent des tickets</li>
  <li>Le titre est en texte brut, tronqué avec des points de suspension au-delà de 256 caractères ; le corps est en markdown uniquement</li>
  <li>
    Un titre vide revient à <code>New submission to &lt;form name&gt;</code>
  </li>
  <li>
    Les réponses de type téléchargement de fichier s’affichent comme le nom du fichier suivi de son lien de téléchargement, si bien que le
    fichier reste accessible depuis le ticket
  </li>
  <li>
    Les réponses sont insérées telles quelles dans le corps du ticket — si une réponse contient <code>@utilisateur</code>, GitHub notifie
    cette personne, et <code>#123</code> crée une référence de ticket
  </li>
</ul>

<h2 id="faq">FAQ</h2>

  <p>
    Trois permissions GitHub : <code>repo</code> (créer des tickets), <code>read:user</code> (identifier votre compte) et{' '}
    <code>read:org</code> (lister les dépôts de l’organisation). Il s’agit d’une application OAuth standard — aucune installation
    d’application GitHub n’est requise.
  </p>

  <p>
    Oui. Les connexions GitHub sont liées à l’espace de travail. Tout membre de l’espace de travail peut utiliser n’importe quel compte
    GitHub connecté lors de la configuration d’une intégration.
  </p>

  <p>
    Oui. Ouvrez la fiche de détails de l’intégration et modifiez l’un ou l’autre champ. Changer de dépôt réinitialise le jalon car les
    jalons sont spécifiques au dépôt.
  </p>

  <p>
    La soumission suivante échoue avec une erreur "introuvable" et l’intégration affiche un statut d’erreur. Modifiez l’intégration pour
    choisir un autre dépôt.
  </p>

  <p>
    L’intégration se met automatiquement en pause et un e-mail est envoyé à la personne qui l’a configurée. Un jeton révoqué, une permission
    perdue ou un dépôt supprimé n’attendent pas cinq échecs — l’intégration s’arrête immédiatement. Dans tous les cas, corrigez la cause et
    appuyez sur Reprendre.
  </p>

<h2 id="next-steps">Prochaines étapes</h2>
<div class="not-prose grid gap-3 sm:grid-cols-2">
  - [Aperçu développeur](/fr/developers/overview) — API REST, webhooks et serveur MCP
  - [Offres et tarifs](/fr/subscription-billing/plans-pricing) — Comparez les fonctionnalités Free, Pro et Business
</div>
