Linear
Linear est un outil de suivi des tickets hébergé, dont les tickets ont pour adresse https://linear.app/<your-workspace>/issue/<KEY>-<NUMBER>. Les clés de tickets suivent la forme <TEAM>-<NUMBER> (par ex. ENG-123, MKT-456).
Côté Forgejo : suivi de tickets externe
Paramètres du dépôt → Fonctionnalités → Tickets → Utiliser un système de suivi d’issues externe.
| Champ | Valeur |
|---|---|
| External issue tracker URL | https://linear.app/<your-workspace>/issue/{user}-{index} |
| External issue tracker URL format | https://linear.app/<your-workspace>/issue/{user}-{index} |
| External issue tracker number format | Regexp |
| External issue tracker number format regexp | ([A-Z][A-Z]+)-([0-9]+) |
{user} capture la clé d’équipe (par ex. ENG), {index} le numéro du ticket. L’expression régulière est volontairement permissive sur la longueur de la clé d’équipe (2 caractères ou plus), car Linear permet de définir n’importe quelle chaîne en majuscules comme préfixe.
Remplacez <your-workspace> par l’identifiant de votre espace de travail Linear (visible dans la barre d’adresse sur n’importe quelle page de ticket Linear).
Format de message de commit recommandé
feat(checkout): trial-card dedup
ENG-892Les intégrations GitHub/GitLab de Linear prennent en charge des mots magiques comme fixes ENG-892 pour fermer automatiquement le ticket à la fusion ; ces mots déclenchent une automatisation côté Linear. fremforge n’est pas un partenaire d’intégration natif de Linear : le comportement des mots magiques passe donc par un webhook et une automatisation de votre côté (section suivante).
Côté outil de suivi : automatisation par webhook (facultatif)
Le webhook entrant de Linear se configure au niveau de l’espace de travail, pas par ticket :
- Linear → Settings → API → Webhooks → New webhook.
- URL : un point de terminaison HTTP que vous contrôlez, qui analyse la charge utile du webhook Forgejo et appelle l’API GraphQL de Linear pour attacher le commit ou la pull request en commentaire et (éventuellement) faire changer l’état du ticket. Linear propose des recettes Zapier et n8n pour cela ; pour les clients attentifs à la souveraineté, un Cloudflare Worker ou votre propre FaaS de 30 lignes s’en charge directement.
- Dans fremforge : Paramètres du dépôt → Webhooks → Ajouter un webhook → Forgejo → ciblez le point de terminaison relais ci-dessus. Cochez Push et Pull Request.
Un relais intermédiaire est nécessaire, car Linear ne comprend pas nativement le format des webhooks Forgejo. Si un administrateur Linear accepte de configurer le point de terminaison des mots magiques, fremforge envoie les événements ; le relais se contente de faire correspondre les noms de champs de la charge utile.
Conséquences en matière de sous-traitance
Le plan de contrôle de Linear se trouve dans AWS US-east-1 (aucune région UE disponible au 2026-05-19 ; Linear ne s’est jusqu’ici pas engagé sur une résidence dans l’UE malgré les demandes de ses clients). Lorsque vous reliez fremforge à Linear :
- Les métadonnées de commit et l’adresse e-mail de l’auteur partent vers Linear → AWS US-east-1.
- Inscrivez Linear Orbit, Inc. comme sous-traitant ultérieur dans votre DPA et votre registre des sous-traitants.
- Les conditions de Linear incluent les clauses contractuelles types (CCT) pour les transferts UE → États-Unis, mais les données QUITTENT bien l’UE.
Pour les charges de travail attentives à la souveraineté, utilisez plutôt Jira DC ou Plane.
Ce que cette intégration ne fait pas
- Pas de prise en charge native des mots magiques (
fixes ENG-892) : c’est une fonctionnalité des intégrations GitHub/GitLab natives de Linear, pas de la primitive de suivi externe. Réalisable via le relais décrit ci-dessus. - Pas de création de tickets côté GraphQL depuis fremforge (les commits ne créent pas automatiquement de tickets Linear, même lorsque l’identifiant cité n’existe pas).
- Les notions de « Cycle », « Project » et « Roadmap » de Linear n’ont pas d’équivalent dans Forgejo ; l’intégration reste au niveau du lien vers le ticket.