> ## 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).

# JIRA Assets-integratie

# 📦 **JIRA Assets-integratie**

> **"Breng je Atlassian-CMDB naar Brainframe — blader door Assets-schema’s en objecttypes en importeer live CMDB-records in je GRC-mappen."**
> *Koppel Atlassian Assets met OAuth, kies welke schema’s en objecttypes relevant zijn voor compliance, en houd geïmporteerde assets, documenten en identiteiten actueel zonder te kopiëren uit Jira.*

De **JIRA Assets**-integratie verbindt Brainframe met **Atlassian Assets** (Insight / CMDB) op **Jira Cloud**. In tegenstelling tot de **JIRA**-issues-integratie (API-token + issue tracking) gebruikt Assets **OAuth 2.0 (3LO)** met een **gebruikerscontext**, omdat Atlassian Assets app-only- en serviceaccounttokens voor deze API’s weigert.

Na configuratie kun je:

* **Schema’s** en **objecttypes** doorbladeren die je expliciet opneemt
* Objecten zoeken met **Assets Query Language (AQL)**-filters vanuit de UI
* Objecten als Brainframe-documenten **importeren** (enkel of bulk)
* Geïmporteerde documenten openen en **live data** ververst vanuit Assets zien

In de integratiecatalogus valt JIRA Assets onder **Assets** en **Documents** (naast inventarisconnectors zoals Microsoft Defender-apparaten of Intune). Het is **geen** **Tasks**-integratie — je gebruikt voor Assets **niet** het document-bliksemmenu (⚡) **Task from integrations**. Gebruik in plaats daarvan **Add from integrations** vanuit mappen en tabelweergaven.

> 💡 De klassieke **JIRA**-integratie (issues / taken) is apart. Je kunt beide op dezelfde Atlassian-site gebruiken. Assets heeft een eigen OAuth-app, scopes en configuratie nodig.

---

## 1️⃣ Voordat je begint

Om de integratie te configureren heb je nodig:

* 🛠 Een **Brainframe-workspacebeheerder** (configuratie is alleen voor beheerders).
* 🔐 Een **Atlassian Cloud**-site waarop **Assets** beschikbaar is (meestal via een **Jira Service Collection**- / Assets-licentie).
* 🪪 Toegang tot de [Atlassian developer console](https://developer.atlassian.com/console/myapps/) om een **OAuth 2.0 (3LO)**-app te maken.
* 👤 Een Atlassian-gebruiker die de app kan **goedkeuren** en die de Assets-schema’s en -objecten mag **lezen** die je wilt doorbladeren.
* 📂 Brainframe-**documenttypes** klaar voor import (bijv. Workstation, Application, Supplier) — tijdens de setup map je elk opgenomen objecttype naar een standaarddocumenttype.

> || ⚠️ Brainframe richt zich op **Atlassian Cloud Assets**. Self-hosted Jira Server / Data Center Assets wordt door deze connector niet ondersteund.

> || ⚠️ Assets moet op de site **geprovisioned en gelicentieerd** zijn. Als de workspace-ID na OAuth niet kan worden opgelost, geeft Brainframe aan dat Assets op die site niet beschikbaar is.

---

## 2️⃣ De integratie configureren

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

Open je **JIRA Assets** voordat credentials en verbinding klaar zijn, dan stuurt Brainframe je automatisch naar deze configuratiepagina.

De configuratie is een wizard in **vijf stappen**. Latere stappen verschijnen pas nadat eerdere stappen zijn geslaagd.

### Stap 1 — Atlassian OAuth-app

Maak een OAuth 2.0 (3LO)-app in **gebruikerscontext** en plak Client ID en Client secret in Brainframe.

1. Open de [Atlassian developer console](https://developer.atlassian.com/console/myapps/) en maak een **OAuth 2.0 (3LO)**-app.
2. Onder **Authorization** stel je de **Callback URL / Redirect URL** exact in op de waarde die Brainframe toont (kopieerbaar veld). Formaat:

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

3. Onder **Permissions** voeg je **Jira API** toe/configureer je die, daarna:

| Scopegebied | Scopes om in te schakelen |
| ---- |
| **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. Voeg **User identity API** toe/configureer die met:

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

5. Onder **Settings** kopieer je **Client ID** en **Client secret**.
6. Plak ze in Brainframe en klik op **Save OAuth app**.

| Veld | Beschrijving |
| ---- |
| **Client ID** | Uit de Atlassian-appinstellingen. Vereist bij elke opslag (de volledige ID wordt na opslag nooit naar de browser teruggestuurd). |
| **Client secret** | Alleen schrijven. Versleuteld opgeslagen; leeg laten als je alleen de Client ID bijwerkt terwijl er al een secret staat. |

> 📌 Client secrets en access tokens **verlaten** na opslag **nooit** de Brainframe-backend. De browser ontvangt alleen gemaskeerde metadata (verbonden site, account-e-mail, workspace-id, hints over ontbrekende scopes).

### Stap 2 — Verbinden met Atlassian (OAuth 3LO)

Klik op **Enable connection** (later **Reconnect**). Je wordt doorgestuurd naar Atlassian om de gevraagde scopes te verlenen en daarna teruggebracht naar de Brainframe-callbackpagina.

Na toestemming:

* Brainframe slaat de tokens in gebruikerscontext op.
* Het ontdekt de **Assets workspace** van de geselecteerde site.
* Als je Atlassian-account toegang heeft tot **meerdere sites**, word je gevraagd **Select Atlassian site**.
* Het configuratiescherm toont daarna **Site**, **Account** en de **Assets workspace**-id wanneer die is opgelost.

| Status | Betekenis |
| ---- |
| **Connected** + workspace-id zichtbaar | Klaar om schema’s te selecteren. |
| **Connected** maar workspace **Not resolved** | Assets is niet gelicentieerd/geprovisioned op die site — schakel Assets in en verbind opnieuw. |
| **Missing Atlassian scopes** | Voeg de vermelde scopes toe aan de Atlassian-app en verbind opnieuw. |

Gebruik **Disconnect** om de OAuth-sessie in Brainframe te wissen bij het roteren van apps of wisselen van site.

> || ⚠️ Assets **vereist een verbinding in gebruikerscontext**. App-only- / serviceaccounttokens worden geweigerd — Brainframe meldt dit duidelijk als de capability-check het detecteert.

### Stap 3 — Schema’s selecteren

Zodra je verbonden bent met een opgeloste Assets-workspace, toont Brainframe beschikbare **object schemas**.

* Vink elk schema aan dat je als **tab** in de browser wilt tonen.
* Alleen geselecteerde schema’s worden in de workspaceconfiguratie opgeslagen.

### Stap 4 — Objecttypes configureren

Voor elk geselecteerd schema laadt Brainframe **object types**. Voor elk relevant type:

| Instelling | Doel |
| ---- |
| **Include** | Maakt het type doorzoekbaar en importeerbaar. |
| **GRC theme** | Organisatorisch label: **Assets**, **Documents** of **Identities** (hoe je die CMDB-klasse in GRC ziet). |
| **Default document type** | Brainframe-FactType bij het importeren van objecten van dit type (verplicht bij opnemen). Hardware-achtige namen (server, laptop, workstation, device, …) kunnen automatisch **Workstation** voorstellen. |
| **Properties to show in table** | Tot **4** aangepaste Assets-attributen als extra browserkolommen (naast de standaard Name / Key / Type / Status / Updated-fallback als er geen zijn gekozen). |

Klik op **Save configuration** wanneer de mapping klaar is.

> 📌 Neem alleen objecttypes op die je compliance- of assetprogramma’s nodig hebben. Grote schema’s blijven bruikbaar als je types en kolommen beperkt.

### Stap 5 — Testen & activeren

De integratie wordt **actief** wanneer aan alles hieronder is voldaan:

1. Atlassian is verbonden via OAuth 3LO  
2. De Assets-workspace-ID is opgelost  
3. Minstens één schema met minstens één **opgenomen** objecttype is opgeslagen  

Gebruik **Test connection** voor een capability-check. Typische uitkomsten:

| Resultaat | Betekenis | Wat te doen |
| ---- |
| **Available** | Token, scopes en workspace OK; schema’s vermeld | Open Jira Assets |
| **Scope not authorized** | Exacte scopes ontbreken | Scopes toevoegen in de Atlassian-app → opnieuw verbinden |
| **Assets isn’t available on this site** | Geen workspace / geen Assets-licentie | Assets / Service Collection op de site inschakelen |
| **User-context connection required** | App-only-token gedetecteerd | Opnieuw verbinden via OAuth 3LO-toestemming |
| **Reconnect required** | Sessie verlopen | Opnieuw verbinden |
| **Not connected yet** | OAuth-app of toestemming onvolledig | Stappen 1–2 afronden |

Als de integratie actief is, klik op **Open Jira Assets** om te bladeren.

---

## 3️⃣ De JIRA Assets-integratiepagina gebruiken

Open **Workspace Settings → Integrations → JIRA Assets** (of het **Integrations**-item in de zijbalk wanneer ingeschakeld).

Headeracties:

| Bediening | Gedrag |
| ---- |
| **Refresh** | Herlaadt Assets-queries en dashboard-KPI’s |
| **Configure** | Terug naar de installatiewizard (beheerders) |
| **Show documentation** | Opent dit helpartikel |

### 📊 KPI-kaarten

| Kaart | Inhoud |
| ---- |
| **Total in scope** | Aantal objecten dat overeenkomt met je opgenomen schema’s/types |
| **Recently updated (Nd)** | Objecten bijgewerkt in het recente venster (standaard **7** dagen) |
| **Objects by schema** | Tellingen per schema als badges (bij meerdere schema’s) |

### 🗂 Schematabs en filters

* Elk **geselecteerd schema** wordt een tab (verborgen als er maar één is geconfigureerd).
* **Object type**-filter: *All types* of één opgenomen type.
* **Search**: matcht object-**Name** met AQL `Name LIKE "…"`.
* **Open Jira Assets dashboard**: opent de Assets-UI van de site in een nieuw tabblad.

### 📋 Objecttabel

| Functie | Gedrag |
| ---- |
| **Columns** | Geconfigureerde attribuutkolommen voor het/de actieve type(s); anders Name, Key, Type, Status, Updated |
| **Status badges** | Statusattributen als badges |
| **Checkboxes** | Meerkeuze voor bulkimport |
| **Import** | Import per rij naar een Brainframe-map |
| **Pagination** | Previous / Next met configureerbaar aantal rijen per pagina |

---

## 4️⃣ Assets-objecten importeren in Brainframe

Import maakt een **native Brainframe-document** dat aan het Assets-object is gekoppeld.

| Actie | Hoe |
| ---- |
| **Import one** | Klik op **Import** op een rij |
| **Bulk import** | Selecteer rijen → **Import selected** |
| **Folder & type** | Mapkiezer opent; standaarddocumenttype komt uit de objecttype-mapping (of het type van de huidige tabelweergave) |

Bij import slaat Brainframe op:

* Titel uit het objectlabel (en key indien verschillend)
* Een HTML-snapshot van kernattributen (fallback als een latere live fetch faalt)
* Een integratie-URL naar de live Assets-viewer in Brainframe
* Bronmetadata (objecttype, schema, workspace, Assets-URL, payload)

### Live data op geïmporteerde documenten

Wanneer je een geïmporteerd document opent, haalt Brainframe het **nieuwste** object uit Assets op en toont:

* Label, object key, type, schema, status  
* Created- / updated-tijdstempels  
* Attribuutraster (inclusief gerefereerde objecten en meervoudige waarden)  
* **Open in Jira Assets** wanneer een externe Assets-URL beschikbaar is  

Faalt de live fetch, dan valt Brainframe terug op de HTML-snapshot van het importmoment.

> 📌 Brainframe **leest** Assets-data voor bladeren en importeren. Via deze integratie worden geen Assets-objecten in Atlassian aangemaakt of gewijzigd.

---

## 5️⃣ Add from Integrations — Mappen en tabelweergaven

Je hebt niet voor elke import de volledige integratiepagina nodig.

### Mapmenu **NEW**

1. Open een map → **NEW** → **Add from integrations**.
2. Selecteer **JIRA Assets** (filter de catalogus desgewenst op **Assets** of **Documents**).
3. Gebruik dezelfde schematabs, filters en tabel als op de hoofdpagina.
4. Importeer één of meer objecten in de map.

### Tabelweergave — cloudknop

In een documenttypetabel klik je op het **cloud**-icoon (**Add from integrations**). De Assets-browser opent met het **documenttype van de huidige tabel** voorgeselecteerd voor import — handig voor een assetregistertabel.

> 📌 JIRA Assets verschijnt **niet** onder **Task from integrations** (bliksemmenu). Dat menu is voor taakleveranciers (JIRA-issues, Asana, Monday.com, Azure DevOps, enz.).

---

## 6️⃣ Zijbalkmenu Integrations

Wanneer JIRA Assets in de menüinstellingen van je workspace **geconfigureerd en ingeschakeld** is, verschijnt het onder **Integrations** in de linker zijbalk.

* Opent `/integrations/jira-assets` wanneer de integratie actief is.
* Grijze items betekenen: zichtbaar in de menuconfiguratie, maar voor jouw gebruiker **niet ingeschakeld** of **niet toegankelijk** — vraag een beheerder onder **Workspace Settings → Menu interface**.

Configuratie blijft onder **Integrations → JIRA Assets → Configure** (workspacebeheerders).

---

## 7️⃣ Typisch gebruik door CISO’s en compliance teams in Brainframe

| GRC-artefact | Assets-bron | Waarom het helpt |
| ---- |
| **Asset- / CMDB-register** | Hardware-, applicatie-, service-objecttypes | Gezaghebbende inventaris gekoppeld aan risico’s en controls |
| **Leveranciers- / third-party-register** | Vendor- of contractobjecttypes (Documents-theme) | Leveranciersbewijs koppelen aan live CMDB-attributen |
| **Identiteitsgerelateerde inventaris** | Personen- / accountobjecttypes (Identities-theme) | CMDB-ownershipvelden in access reviews brengen |
| **Controlbewijs** | Kritieke systemen getagd in Assets | Scope en ownership aantonen voor audits |
| **Risicocontext** | Geïmporteerde servers / apps gekoppeld aan risico’s | Risicobeschrijvingen verrijken met live status en owners |

### Voorbeeldprogramma’s

* **ISO 27001-assetinventaris (A.5 / A.8)** — Workstation-/servertypes opnemen → importeren in een beheerde assetmap → koppelen aan risicobehandelingen.
* **NIS2 / kritieke diensten** — Service- en dependency-objecttypes mappen → importeren in een register van “essentiële entiteiten”.
* **Leveranciersrisico** — Leveranciersobjecttypes met Documents-theme mappen → importeren naast vragenlijsten / contracten.
* **Auditsteekproeven** — Recent bijgewerkte objecten filteren → steekproef bulkimporteren met live refresh voor walkthroughs.

### Combineren met andere Atlassian-integraties

| Integratie | Rol naast Assets |
| ---- |
| **JIRA** (issues) | Remediatietickets en CAPA als **taken**, gekoppeld aan geïmporteerde assets |
| **Confluence** | Beleid en runbooks als **documenten** gerelateerd aan dezelfde systemen |

---

## 8️⃣ Overzicht rechten

| Actie | Wie |
| ---- |
| OAuth-app opslaan / verbinden / schema’s & types configureren | **Workspacebeheerder** |
| Assets-objecten bladeren en importeren | Gebruikers met toegang tot de ingeschakelde integratie + schrijfrechten op de doelmap |
| Integrations-zijbalkitem | Integratie ingeschakeld in menuconfig + actieve verbinding + gebruikers-/groepstoegang |
| Atlassian OAuth-toestemming | Atlassian-gebruiker van de 3LO-flow (tokens werken met diens Assets-rechten) |

> 📌 Alle Assets-API-aanroepen lopen via de Brainframe-backend. Client secrets en tokens worden na opslag nooit naar de browser teruggestuurd.

---

## 9️⃣ Probleemoplossing

| Symptoom | Waarschijnlijke oorzaak | Wat te doen |
| ---- |
| Doorgestuurd naar **Configure JIRA Assets** | Niet verbonden / niet actief | Stappen 1–5 afronden; minstens één objecttype opnemen |
| **Assets isn’t available on this site** | Geen Assets-licentie of workspace | Assets / Service Collection inschakelen; opnieuw verbinden |
| **Scope not authorized** / ontbrekende scopes vermeld | Atlassian-app-scopes onvolledig | Exacte scopes uit stap 1 toevoegen; opnieuw verbinden |
| **User-context connection required** | App-only-token | Gebruik **Enable connection** (3LO), geen pure client-credentials-aanpak |
| **Failed to load object types** (scopefout) | Token mist CMDB-scopes | Opnieuw verbinden na scopecorrectie |
| Lege browser / “No schemas or object types” | Niets opgenomen in de config | Schema’s selecteren en objecttypes **Include**; opslaan |
| Zoeken levert niets op | Name begint niet met de zoektekst | AQL `LIKE` is “begint met” op **Name** — probeer een korter voorvoegsel |
| Live viewer toont alleen snapshot | Tijdelijke API- / rechtenfout | Controleer verbinding; **Open in Jira Assets**; bevestig dat de Atlassian-gebruiker het object nog kan lezen |
| **Configure** kan niet worden geopend | Geen beheerder | Vraag een workspacebeheerder |
| Meerdere Atlassian-sites | Account gekoppeld aan meerdere clouds | Kies de juiste site op het callbackscherm **Select Atlassian site** |

---

## Gerelateerde integraties

* **JIRA** — Issuetracking en **Task from integrations**-workflows (aparte credentials / API-token).
* **Confluence** — Kennispagina’s als **Documents**.
* **Microsoft Defender / Intune / Entra ID** — Andere **Assets**- / **Identities**-inventarissources met hetzelfde **Add from integrations**-patroon.

Voor de gedeelde catalogus, credentialoverzicht en menugedrag, zie het algemene artikel **Integrations**.
