> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://docs.brainframe.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Intégration JIRA Assets

# 📦 **Intégration JIRA Assets**

> **"Intégrez votre CMDB Atlassian dans Brainframe — parcourez les schémas et types d’objets Assets, puis importez des enregistrements CMDB en direct dans vos dossiers GRC."**
> *Connectez Atlassian Assets avec OAuth, choisissez les schémas et types d’objets utiles à la conformité, et gardez à jour les actifs, documents et identités importés sans copier-coller depuis Jira.*

L’intégration **JIRA Assets** connecte Brainframe à **Atlassian Assets** (Insight / CMDB) sur **Jira Cloud**. Contrairement à l’intégration **JIRA** (tickets / suivi avec jeton API), Assets utilise **OAuth 2.0 (3LO)** avec un **contexte utilisateur**, car Atlassian Assets refuse les jetons « app-only » et comptes de service pour ces API.

Une fois configurée, vous pouvez :

* Parcourir les **schémas** et **types d’objets** que vous incluez explicitement
* Rechercher des objets avec des filtres **Assets Query Language (AQL)** construits depuis l’interface
* **Importer** des objets comme documents Brainframe (unitaire ou en masse)
* Ouvrir les documents importés et voir les **données en direct** actualisées depuis Assets

Dans le catalogue d’intégrations, JIRA Assets est classé sous **Assets** et **Documents** (aux côtés de connecteurs d’inventaire comme les appareils Microsoft Defender ou Intune). Ce n’est **pas** une intégration **Tasks** — vous n’utilisez **pas** le menu éclair (⚡) **Task from integrations** du document pour Assets. Utilisez plutôt **Add from integrations** depuis les dossiers et les vues tableau.

> 💡 L’intégration classique **JIRA** (tickets / tâches) est distincte. Vous pouvez utiliser les deux sur le même site Atlassian. Assets nécessite sa propre application OAuth, ses scopes et sa configuration.

---

## 1️⃣ Avant de commencer

Pour configurer l’intégration, vous aurez besoin de :

* 🛠 Un **administrateur d’espace de travail Brainframe** (la configuration est réservée aux administrateurs).
* 🔐 Un site **Atlassian Cloud** où **Assets** est disponible (généralement via une licence **Jira Service Collection** / Assets).
* 🪪 Accès à la [console développeur Atlassian](https://developer.atlassian.com/console/myapps/) pour créer une application **OAuth 2.0 (3LO)**.
* 👤 Un utilisateur Atlassian pouvant **consentir** à l’application et ayant le droit de **lire** les schémas et objets Assets à parcourir.
* 📂 Des **types de documents** Brainframe prêts pour l’import (p. ex. Workstation, Application, Supplier) — vous mappez chaque type d’objet inclus vers un type de document par défaut lors de la configuration.

> || ⚠️ Brainframe cible **Atlassian Cloud Assets**. Assets sur Jira Server / Data Center auto-hébergé n’est pas pris en charge par ce connecteur.

> || ⚠️ Assets doit être **provisionné et licencié** sur le site. Si l’ID d’espace de travail ne peut pas être résolu après OAuth, Brainframe indique qu’Assets n’est pas disponible sur ce site.

---

## 2️⃣ Configurer l’intégration

Allez dans **Workspace Settings → Integrations → JIRA Assets → Configure** (`/integrations/jira-assets/config`).

Si vous ouvrez **JIRA Assets** avant que les identifiants et la connexion soient prêts, Brainframe vous redirige automatiquement vers cette page de configuration.

La configuration est un assistant en **cinq étapes**. Les étapes suivantes n’apparaissent qu’après la réussite des précédentes.

### Étape 1 — Application OAuth Atlassian

Créez une application OAuth 2.0 (3LO) en **contexte utilisateur**, puis collez le Client ID et le Client secret dans Brainframe.

1. Ouvrez la [console développeur Atlassian](https://developer.atlassian.com/console/myapps/) et créez une application **OAuth 2.0 (3LO)**.
2. Sous **Authorization**, définissez l’**Callback URL / Redirect URL** exactement sur la valeur affichée dans Brainframe (champ copiable). Elle a la forme :

`https://<your-brainframe-host>/integrations/jira-assets/callback`

3. Sous **Permissions**, ajoutez/configurez **Jira API**, puis :

| Zone de scope | Scopes à activer |
| ---- |
| **Classic** → *Jira Service Management API* | `read:servicedesk-request` |
| **Granular** | `read:cmdb-object:jira`, `read:cmdb-schema:jira`, `read:cmdb-type:jira`, `read:cmdb-attribute:jira`, `read:cmdb-config:jira` |

4. Ajoutez/configurez **User identity API** avec :

| Scope |
| ---- |
| `read:me` |

5. Sous **Settings**, copiez le **Client ID** et le **Client secret**.
6. Dans Brainframe, collez-les et cliquez sur **Save OAuth app**.

| Champ | Description |
| ---- |
| **Client ID** | Depuis les paramètres de l’application Atlassian. Requis à chaque enregistrement (l’ID complet n’est jamais renvoyé au navigateur après stockage). |
| **Client secret** | En écriture seule. Chiffré au repos ; laissez vide si vous mettez à jour uniquement le Client ID alors qu’un secret est déjà enregistré. |

> 📌 Les Client secrets et jetons d’accès **ne quittent jamais** le backend Brainframe après enregistrement. Le navigateur ne reçoit que des métadonnées masquées (site connecté, e-mail du compte, id d’espace de travail, indices de scopes manquants).

### Étape 2 — Connecter Atlassian (OAuth 3LO)

Cliquez sur **Enable connection** (ou **Reconnect** plus tard). Vous êtes redirigé vers Atlassian pour accorder les scopes demandés, puis renvoyé vers la page de callback Brainframe.

Après consentement :

* Brainframe stocke les jetons en contexte utilisateur.
* Il découvre l’**Assets workspace** du site sélectionné.
* Si votre compte Atlassian peut accéder à **plusieurs sites**, vous devez **Select Atlassian site**.
* L’écran de configuration affiche alors **Site**, **Account** et l’id **Assets workspace** une fois résolu.

| Statut | Signification |
| ---- |
| **Connected** + id d’espace de travail affiché | Prêt à sélectionner les schémas. |
| **Connected** mais espace de travail **Not resolved** | Assets n’est pas licencié/provisionné sur ce site — activez Assets, puis reconnectez. |
| **Missing Atlassian scopes** | Ajoutez les scopes listés sur l’application Atlassian, puis reconnectez. |

Utilisez **Disconnect** pour effacer la session OAuth de Brainframe lors du renouvellement d’applications ou du changement de site.

> || ⚠️ Assets **exige une connexion en contexte utilisateur**. Les jetons app-only / compte de service sont refusés — Brainframe le signalera clairement si le contrôle de capacité le détecte.

### Étape 3 — Sélectionner les schémas

Une fois connecté avec un Assets workspace résolu, Brainframe liste les **object schemas** disponibles.

* Cochez chaque schéma à exposer comme **onglet** dans le navigateur.
* Seuls les schémas sélectionnés sont enregistrés dans la configuration de l’espace de travail.

### Étape 4 — Configurer les types d’objets

Pour chaque schéma sélectionné, Brainframe charge les **object types**. Pour chaque type pertinent :

| Paramètre | Objectif |
| ---- |
| **Include** | Rend le type parcourable et importable. |
| **GRC theme** | Étiquette organisationnelle : **Assets**, **Documents** ou **Identities** (comment vous classez cette classe CMDB en GRC). |
| **Default document type** | FactType Brainframe utilisé lors de l’import d’objets de ce type (obligatoire si inclus). Les noms de type matériel (server, laptop, workstation, device, …) peuvent suggérer automatiquement **Workstation**. |
| **Properties to show in table** | Jusqu’à **4** attributs Assets personnalisés comme colonnes supplémentaires (en plus du repli standard Name / Key / Type / Status / Updated si aucun n’est choisi). |

Cliquez sur **Save configuration** lorsque le mapping est prêt.

> 📌 N’incluez que les types d’objets nécessaires à vos programmes de conformité ou d’actifs. Les grands schémas restent utilisables si vous limitez types et colonnes.

### Étape 5 — Tester et activer

L’intégration devient **active** lorsque toutes les conditions suivantes sont remplies :

1. Atlassian est connecté via OAuth 3LO  
2. L’ID d’espace de travail Assets est résolu  
3. Au moins un schéma avec au moins un type d’objet **inclus** est enregistré  

Utilisez **Test connection** pour lancer une sonde de capacité. Résultats typiques :

| Résultat | Signification | Que faire |
| ---- |
| **Available** | Jeton, scopes et espace de travail OK ; schémas listés | Open Jira Assets |
| **Scope not authorized** | Scopes exacts manquants | Ajoutez les scopes sur l’app Atlassian → reconnectez |
| **Assets isn’t available on this site** | Pas d’espace de travail / pas de licence Assets | Activez Assets / Service Collection sur le site |
| **User-context connection required** | Jeton app-only détecté | Reconnectez via le consentement OAuth 3LO |
| **Reconnect required** | Session expirée | Reconnectez |
| **Not connected yet** | Application OAuth ou consentement incomplet | Terminez les étapes 1–2 |

Une fois active, cliquez sur **Open Jira Assets** pour parcourir.

---

## 3️⃣ Utiliser la page d’intégration JIRA Assets

Ouvrez **Workspace Settings → Integrations → JIRA Assets** (ou l’élément **Integrations** de la barre latérale lorsqu’il est activé).

Actions d’en-tête :

| Contrôle | Comportement |
| ---- |
| **Refresh** | Recharge les requêtes Assets et les KPI du tableau de bord |
| **Configure** | Retourne à l’assistant de configuration (admins) |
| **Show documentation** | Ouvre cet article d’aide |

### 📊 Cartes KPI

| Carte | Contenu |
| ---- |
| **Total in scope** | Nombre d’objets correspondant aux schémas/types inclus |
| **Recently updated (Nd)** | Objets mis à jour dans la fenêtre récente (par défaut **7** jours) |
| **Objects by schema** | Compteurs par schéma sous forme de badges (si plusieurs schémas contribuent) |

### 🗂 Onglets de schéma et filtres

* Chaque **schéma sélectionné** devient un onglet (masqué s’il n’y en a qu’un).
* Filtre **Object type** : *All types* ou un type inclus.
* **Search** : correspond au **Name** de l’objet avec AQL `Name LIKE "…"`.
* **Open Jira Assets dashboard** : ouvre l’UI Assets du site dans un nouvel onglet.

### 📋 Tableau d’objets

| Fonction | Comportement |
| ---- |
| **Columns** | Colonnes d’attributs configurées pour le(s) type(s) actif(s) ; sinon Name, Key, Type, Status, Updated |
| **Status badges** | Attributs de type statut affichés en badges |
| **Checkboxes** | Sélection multiple pour import en masse |
| **Import** | Import ligne par ligne dans un dossier Brainframe |
| **Pagination** | Previous / Next avec nombre de lignes configurable |

---

## 4️⃣ Importer des objets Assets dans Brainframe

L’import crée un **document Brainframe natif** lié à l’objet Assets.

| Action | Comment |
| ---- |
| **Import one** | Cliquez sur **Import** sur une ligne |
| **Bulk import** | Sélectionnez des lignes → **Import selected** |
| **Folder & type** | Le sélecteur de dossier s’ouvre ; le type de document par défaut vient du mapping du type d’objet (ou du type de la vue tableau courante) |

Lors de l’import, Brainframe stocke :

* Le titre à partir du libellé de l’objet (et de la clé si distincte)
* Un instantané HTML des attributs clés (repli si un fetch live ultérieur échoue)
* Une URL d’intégration pointant vers le visualiseur Assets en direct dans Brainframe
* Les métadonnées source (type d’objet, schéma, espace de travail, URL Assets, payload)

### Données en direct sur les documents importés

Lorsque vous ouvrez un document importé, Brainframe récupère l’objet **le plus récent** depuis Assets et affiche :

* Libellé, clé d’objet, type, schéma, statut  
* Horodatages de création / mise à jour  
* Grille d’attributs (y compris objets référencés et multi-valeurs)  
* **Open in Jira Assets** lorsqu’une URL Assets externe est disponible  

Si le fetch live échoue, Brainframe utilise l’instantané HTML stocké à l’import.

> 📌 Brainframe **lit** les données Assets pour la navigation et l’import. Il ne crée ni ne modifie d’objets Assets dans Atlassian via cette intégration.

---

## 5️⃣ Add from Integrations — Dossiers et vues tableau

Vous n’avez pas besoin de la page d’intégration complète pour chaque import.

### Menu **NEW** du dossier

1. Ouvrez un dossier → **NEW** → **Add from integrations**.
2. Sélectionnez **JIRA Assets** (filtrez le catalogue par **Assets** ou **Documents** si utile).
3. Parcourez les mêmes onglets de schéma, filtres et tableau que sur la page principale.
4. Importez un ou plusieurs objets dans le dossier.

### Vue tableau — bouton cloud

Dans une vue tableau par type de document, cliquez sur l’icône **cloud** (**Add from integrations**). Le navigateur Assets s’ouvre avec le **type de document de la table courante** présélectionné pour l’import — utile pour remplir un registre d’actifs.

> 📌 JIRA Assets n’apparaît **pas** sous **Task from integrations** (menu éclair). Ce menu est réservé aux fournisseurs de tâches (tickets JIRA, Asana, Monday.com, Azure DevOps, etc.).

---

## 6️⃣ Menu latéral Integrations

Lorsque JIRA Assets est **configuré et activé** dans les paramètres de menu de l’espace de travail, il apparaît sous **Integrations** dans la barre latérale gauche.

* Ouvre `/integrations/jira-assets` lorsque l’intégration est active.
* Les entrées grisées indiquent que l’élément est visible dans la configuration du menu mais **non activé** ou **non accessible** pour votre utilisateur — demandez à un administrateur sous **Workspace Settings → Menu interface**.

La configuration reste dans **Integrations → JIRA Assets → Configure** (administrateurs d’espace de travail).

---

## 7️⃣ Comment les CISO et équipes conformité utilisent typiquement Assets dans Brainframe

| Artefact GRC | Source Assets | Intérêt |
| ---- |
| **Registre d’actifs / CMDB** | Types matériels, applications, services | Inventaire de référence lié aux risques et contrôles |
| **Registre fournisseurs / tiers** | Types vendeur ou contrat (thème Documents) | Preuves fournisseurs liées aux attributs CMDB live |
| **Inventaire lié aux identités** | Types personnes / comptes (thème Identities) | Relier les champs de propriété CMDB aux revues d’accès |
| **Preuves de contrôle** | Systèmes critiques étiquetés dans Assets | Démontrer le périmètre et la propriété pour les audits |
| **Contexte de risque** | Serveurs / apps importés liés aux risques | Enrichir les descriptions de risque avec statut et propriétaires live |

### Exemples de programmes

* **Inventaire d’actifs ISO 27001 (A.5 / A.8)** — Inclure les types workstation/server → importer dans un dossier d’actifs gouverné → lier aux traitements de risque.
* **NIS2 / services critiques** — Mapper les types service et dépendances → importer dans un registre d’« entités essentielles ».
* **Risque fournisseur** — Mapper les types fournisseur avec le thème Documents → importer à côté des questionnaires / contrats.
* **Échantillonnage d’audit** — Filtrer les objets récemment mis à jour → import en masse d’un échantillon avec rafraîchissement live pour les revues.

### Associer d’autres intégrations Atlassian

| Intégration | Rôle aux côtés d’Assets |
| ---- |
| **JIRA** (tickets) | Tickets de remédiation et CAPA comme **tâches** liées aux actifs importés |
| **Confluence** | Politiques et runbooks comme **documents** liés aux mêmes systèmes |

---

## 8️⃣ Résumé des permissions

| Action | Qui |
| ---- |
| Enregistrer l’app OAuth / connecter / configurer schémas et types | **Administrateur d’espace de travail** |
| Parcourir et importer des objets Assets | Utilisateurs avec accès à l’intégration activée + droit d’écriture sur le dossier cible |
| Élément de menu Integrations | Intégration activée dans la config du menu + connexion active + accès utilisateur/groupe |
| Consentement OAuth Atlassian | Utilisateur Atlassian du flux 3LO (les jetons agissent avec ses permissions Assets) |

> 📌 Tous les appels API Assets transitent par le backend Brainframe. Les Client secrets et jetons ne sont jamais renvoyés au navigateur après enregistrement.

---

## 9️⃣ Dépannage

| Symptôme | Cause probable | Que faire |
| ---- |
| Redirigé vers **Configure JIRA Assets** | Non connecté / non actif | Terminez les étapes 1–5 ; incluez au moins un type d’objet |
| **Assets isn’t available on this site** | Pas de licence Assets ou d’espace de travail | Activez Assets / Service Collection ; reconnectez |
| **Scope not authorized** / scopes manquants listés | Scopes de l’app Atlassian incomplets | Ajoutez les scopes exacts de l’étape 1 ; reconnectez |
| **User-context connection required** | Jeton app-only | Utilisez **Enable connection** (3LO), pas une approche client-credentials seule |
| **Failed to load object types** (erreur de scope) | Jeton sans scopes CMDB | Reconnectez après correction des scopes |
| Navigateur vide / « No schemas or object types » | Rien d’inclus dans la config | Sélectionnez des schémas et **Include** des types ; enregistrez |
| La recherche ne renvoie rien | Le Name ne commence pas par le texte saisi | AQL `LIKE` est un « commence par » sur **Name** — essayez un préfixe plus court |
| Le visualiseur live n’affiche que l’instantané | Erreur API / permission temporaire | Vérifiez la connexion ; **Open in Jira Assets** ; confirmez que l’utilisateur Atlassian peut encore lire l’objet |
| Impossible d’ouvrir **Configure** | Pas administrateur | Demandez à un admin d’espace de travail |
| Plusieurs sites Atlassian | Compte lié à plusieurs clouds | Choisissez le bon site sur l’écran de callback **Select Atlassian site** |

---

## Intégrations associées

* **JIRA** — Suivi des tickets et workflows **Task from integrations** (identifiants / jeton API séparés).
* **Confluence** — Pages de connaissance comme **Documents**.
* **Microsoft Defender / Intune / Entra ID** — Autres sources d’inventaire **Assets** / **Identities** via le même modèle **Add from integrations**.

Pour le catalogue partagé, l’aperçu des identifiants et le comportement des menus, consultez l’article général **Integrations**.
