Intégrations

À quoi sert cet écran

L’onglet Integrations relie Fenwave aux services tiers utilisés par vos équipes en dehors de la plateforme. Aujourd’hui, il s’agit de Jira et de Slack.

Contrairement à CI/CD, qui connecte les outils qui construisent et déploient, ces intégrations enrichissent ce qui se passe autour d’un déploiement : liens vers les tickets, suivi et notifications, plutôt qu’exécution.

Chaque intégration se configure une seule fois, pour toute la plateforme : une instance Jira, un espace de travail Slack, partagés par tous les plugins qui en ont besoin.

Avant de commencer

Pour faire ceci Il vous faut
Voir l’onglet platform-settings.project.read
Configurer ou désactiver une intégration platform-settings.project.update

Les intégrations réutilisent les permissions de projet plutôt que d’avoir leur propre famille. Si vous pouvez modifier des projets, vous pouvez configurer les intégrations.

Ouvrir l’écran

  1. Settings › Development
  2. Sélectionnez l’onglet Integrations.

L’interface

📸 Capture d’écran : L’onglet Integrations avec les lignes Jira et Slack. Repères : (1) le nom de l’intégration, (2) la pastille de statut indiquant Connected, Failing ou Disabled, (3) l’action de configuration.

# Élément Ce qu’il fait Quand l’utiliser
1 Nom et description de l’intégration Ce que fait l’intégration Décider si vous en avez besoin
2 Pastille de statut Connected, Failing ou Disabled Tri d’un coup d’œil
3 Configurer Ouvre la boîte de dialogue des identifiants Mise en place ou correction d’une panne

Signification des statuts

Statut Signifie À faire
Connected Les identifiants ont été vérifiés à l’enregistrement et fonctionnent Rien
Failing Configuré, mais le service ne répond pas comme attendu Reconfigurer — généralement des identifiants expirés
Disabled Volontairement désactivé, ou jamais configuré Le configurer, si vous en avez besoin

Les identifiants sont vérifiés au moment de l’enregistrement. Un enregistrement réussi vous indique qu’ils fonctionnaient à cet instant — c’est pourquoi Failing apparaît plus tard, et non à la mise en place.

Procédures

Connecter Jira

Nécessite platform-settings.project.update.

  1. Settings › Development › Integrations.
  2. Ouvrez la ligne Jira et configurez-la.
  3. Saisissez les paramètres de connexion et les identifiants.
  4. Enregistrez. La confirmation indique explicitement que les identifiants ont été vérifiés ; si ce n’est pas le cas, ils ne l’ont pas été.
  5. Vérifiez que la pastille affiche Connected.

Connecter Slack

Nécessite platform-settings.project.update.

Slack diffuse les notifications de la plateforme : les déploiements qui se terminent en dev, staging et production, ainsi que tout ce qu’un plugin choisit d’annoncer.

Commencez par la configuration côté Slack, sur https://api.slack.com/apps :

  1. Créez une application Slack pour votre espace de travail.
  2. Dans OAuth & Permissions, ajoutez le scope bot chat:write, puis installez l’application dans l’espace de travail.
  3. Copiez le Bot User OAuth Token : il commence par xoxb-.
  4. Invitez l’application dans chaque canal que vous comptez utiliser, en tapant /invite @votre-app dans chacun.

L’étape 4 est celle que l’on oublie. Le scope chat:write autorise l’application à publier, mais Slack refuse malgré tout si l’application n’est pas membre du canal — et comme les notifications échouent silencieusement, le symptôme est le silence, pas une erreur.

Ensuite, dans Fenwave :

  1. Settings › Development › Integrations.
  2. Ouvrez la ligne Slack et configurez-la.
  3. Collez le token bot et renseignez les canaux.
  4. Enregistrez. Le token est vérifié auprès de Slack lors de l’enregistrement.
  5. Vérifiez que la pastille affiche Connected.

Plus rapide : créer l’application à partir d’un manifeste

La fenêtre Create New App de Slack propose From an app manifest. Coller ceci remplace les étapes 1 et 2 et évite les deux réglages que l’on oublie : le bot user, sans lequel Slack n’émet jamais de token, et la rotation des tokens, qui ferait cesser les notifications quelques heures après la mise en place.

_metadata:
  major_version: 2
  minor_version: 1

display_information:
  name: Fenwave
  description: Deployment and platform notifications from your Fenwave IDP
  background_color: "#1a1d23"

features:
  bot_user:
    display_name: Fenwave
    always_online: true

oauth_config:
  scopes:
    bot:
      - chat:write

settings:
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

Il reste à installer l’application, copier le token et l’inviter dans vos canaux.

Choisir les canaux

Champ Sert à
Default Tout ce qui n’a pas de canal d’environnement. Obligatoire.
Dev Environnements de branche
Staging Déploiements en staging
Production Déploiements en production

Laissez les champs d’environnement vides pour tout envoyer dans le canal par défaut. Renseignez-les lorsque des publics différents s’intéressent à des environnements différents : les annonces de production dans un canal que toute l’équipe surveille, l’agitation du dev dans un canal qu’elle peut mettre en sourdine.

Pourquoi un token bot plutôt qu'une URL de webhook

Un webhook entrant Slack est lié définitivement à un seul canal. Router dev, staging et production vers des endroits différents impose un token bot.

Désactiver une intégration

Nécessite platform-settings.project.update.

Désactivez-la depuis la même boîte de dialogue. La configuration est conservée : la réactiver plus tard n’oblige pas à tout ressaisir.

Scénario

Les liens Jira ne se résolvent plus après une rotation d’identifiants.

Personne n’a rien changé dans Fenwave, et c’est le signe révélateur.

  1. Settings › Development › Integrations.
  2. La pastille Jira affiche Failing : l’intégration est donc configurée, et le problème vient des identifiants plutôt que de la mise en place.
  3. Ouvrez la configuration et saisissez les nouveaux identifiants.
  4. Enregistrez. La vérification fait partie de l’enregistrement : un enregistrement réussi est votre preuve.
  5. Vérifiez que la pastille repasse à Connected.

La leçon générale : Failing signifie « fonctionnait, ne fonctionne plus » et désigne les identifiants ; Disabled signifie « jamais mis en place » et désigne la configuration. Bien lire la pastille évite de commencer au mauvais endroit.

Slack affiche Connected, mais aucune notification n’arrive.

La pastille dit vrai, et elle ne dit pas tout. Connected signifie que le token a été vérifié. Cela n’indique rien sur les canaux : ceux-ci ne sont éprouvés qu’au moment de l’envoi d’une vraie notification.

Deux causes, par ordre de probabilité :

  1. L’application n’a jamais été invitée dans le canal. Ouvrez le canal dans Slack et tapez /invite @votre-app. C’est de loin la cause la plus fréquente.
  2. Le nom du canal est incorrect : une faute de frappe, un canal renommé, ou un canal privé que l’application ne peut pas voir.

Dans les deux cas, l’échec est consigné dans les logs du backend plutôt qu’affiché à l’écran, car une notification ne doit jamais faire échouer le déploiement qui l’a déclenchée. Cherchez not_in_channel (cause 1) ou channel_not_found (cause 2).

La leçon générale : une intégration vérifiée n’est pas la même chose qu’un canal de diffusion qui fonctionne. La vérification prouve l’identifiant ; seule une vraie notification prouve la route.

En cas de problème

Symptôme Cause Comment vérifier Solution
Statut Failing Identifiants expirés ou service injoignable Reconfigurez et enregistrez Saisissez de nouveaux identifiants ; la vérification a lieu à l’enregistrement
L’enregistrement est refusé Les identifiants n’ont pas été vérifiés L’erreur dans la boîte de dialogue Corrigez-les — rien n’est stocké si la vérification échoue
Statut Disabled de façon inattendue Quelqu’un l’a désactivée, ou elle n’a jamais été configurée La boîte de dialogue de configuration Réactivez ; les réglages enregistrés sont conservés
Impossible de configurer quoi que ce soit Il manque platform-settings.project.update Access Explorer Demandez un rôle qui l’accorde
Slack est Connected mais silencieux L’application n’est pas dans le canal Logs du backend : not_in_channel /invite @votre-app dans chaque canal configuré
Toutes les notifications vont au même canal Les canaux d’environnement sont vides La boîte de dialogue Slack Renseignez les champs Dev, Staging et Production
Le token Slack est refusé à l’enregistrement C’est un token utilisateur, pas un token bot L’erreur dans la boîte de dialogue Utilisez le Bot User OAuth Token : il commence par xoxb-
L’intégration souhaitée n’est pas listée Seuls Jira et Slack sont disponibles aujourd’hui Non configurable ; rien à activer

Pour aller plus loin

  • CI/CD — les outils qui construisent et déploient
  • Projets — ce à quoi ces intégrations se rattachent