Gå til hovedinnhold

Integrasjoner

De fleste team som tar i bruk fremforge, har allerede en issue-tracker – Jira, Azure Boards, Linear, Trello – og vil at kodeendringene skal lenke tilbake til issuene som utløste dem. Forgejo-plattformen som fremforge bygger på, har en innebygd funksjon for ekstern issue-tracker som dekker enveis klikkbare lenker helt uten utviklingsarbeid: legg inn et URL-mønster i innstillingene for repositoryet, så blir hver JIRA-123 i en commit-melding, et branch-navn eller en PR-tittel en klikkbar lenke rett til Jira (eller Azure DevOps, Linear eller et Trello-kort).

Denne delen viser hvordan du gjør det for de seks trackerne vi oftest får spørsmål om. Hver side er på rundt 50 linjer og dekker:

  1. Forgejo-siden – URL-mønsteret, regex-uttrykket og feltene i innstillingene for repositoryet.
  2. Tracker-siden – den valgfrie innkommende webhooken (slik at varsler om PR-er og commits også vises i trackeren).
  3. Konvensjoner for commit-meldinger – syntaksen utviklerne bruker for at lenken skal virke (f.eks. [JIRA-123], AB#456, LINEAR-789).
  4. Konsekvenser for underdatabehandlere – hva det betyr etter databehandleravtalen (DPA) med fremforge når commit-metadata krysser en organisasjonsgrense.

Velg tracker

  • Jira Cloud – driftet av Atlassian (*.atlassian.net).
  • Jira Data Center – selvhostet Jira på din egen infrastruktur.
  • Azure Boards – Microsofts tracker, en del av Azure DevOps.
  • Linear – skybasert tracker fra Linear.app.
  • Trello – Atlassians kortbaserte tracker.
  • Plane – selvhostet issue-tracker med åpen kildekode (Apache 2.0).

Hendelseshåndtering

  • ServiceNow: en ServiceNow-hendelse for hver sikkerhetshendelse (nytt kritisk funn, treff på skadevare, blokkert pull, brudd på en policy), via Table API.

Hva som IKKE er her

  • Automatiske statusoverganger («lukk JIRA-123 når PR-en merges») – fremforge endrer (ennå) ikke status på issues i den eksterne trackeren. Lenken går én vei: commit/PR/branch → tracker. Den motsatte retningen (at trackeren viser tilknyttede commits) kommer via den innkommende webhooken hver tracker tilbyr; sett den opp på tracker-siden etter instruksjonene på hver enkelt side.
  • Synkronisering av egendefinerte felt – fremforge skriver ikke til egendefinerte felt, sprinter, epics eller hierarkier av arbeidselementer i trackeren. Dette er interne begreper i hver tracker som varierer for mye til å standardiseres.

Hvis arbeidsflyten din er avhengig av automatisk lukking ved merge, finnes det to alternativer:

  1. Automatisering på tracker-siden – alle trackerne over kan settes opp til å lukke en issue når det kommer en webhook med en bestemt payload. Koble den utgående webhooken fra fremforge (administrasjon → Webhooks) til automatiseringsendepunktet i trackeren, og skriv lukkeregelen der.
  2. En Forgejo Action i repositoryet – legg inn et steg som sender en POST til trackerens REST API ved pull_request.closed med filteret merged: true. En workflow-fil på fem linjer. Vi kan komme til å levere en ferdig mal for dette i en senere versjon; foreløpig er det noe kunden bygger selv.

Fotavtrykk hos underdatabehandlere

Når du kobler commit-metadata til en ekstern tracker, flyter commit-meldinger (og forfatterne deres) til trackerens sky. For trackere som driftes som tjeneste, er det et nytt underdatabehandlerforhold etter databehandleravtalen med fremforge. Sidene for hver tracker oppgir hvilket kontrollplan som gjelder (USA / EU / hybrid), slik at DPIA-en din kan føre det opp riktig.

Selvhostede trackere (Jira DC, Plane) er ikke underdatabehandlere – metadataene blir værende innenfor din egen perimeter.