Sist endret: 29. okt. 2026
Preview: Dette er dokumentasjonen for Altinn Studio v9, som er en forhåndsversjon. Gjeldende versjon er v8. For å se dokumentasjonen for gjeldende versjon, velg v8 i versjonsvelgeren i menyen til venstre.

Lokal utvikling

Slik kommer du i gang med lokal utvikling

Når du utvikler en app, jobber du både i Altinn Studio og i et lokalt utviklingsmiljø. Her er en oversikt over hvordan du kommer i gang med lokal utvikling.

Slik kloner du appen til et lokalt utviklingsmiljø

studioctl er et anbefalt kommandolinjeverktøy for lokal utvikling av Altinn Studio-apper. Verktøyet logger inn mot Altinn Studio, kloner app-repoet og setter opp Git-autentisering for deg.

Følg veiledningen for å installere og sette opp studioctl. Der installerer du studioctl, logger inn og henter appen til maskinen din.

  1. Gå til repositoriet for appen. Du kan gjøre det på to måter:

    • På dashboardet i Altinn Studio klikker du på repository-ikonet ved siden av appen.
      Repository-ikonet ved siden av appen på dashboardet
      Repository-ikonet på dashboardet
    • Inne i appen klikker du på de tre prikkene øverst til høyre og velger Repositorium.
      Menyen med de tre prikkene, med valget Repositorium
      Repositorium i menyen med de tre prikkene
  2. Klikk på Kode, og kopier lenken under HTTPS med kopieringsknappen (markert med rød sirkel).

    Kopier lenken til repositoriet i Gitea
    Kopier lenken til repositoriet

  3. Åpne en terminal i det lokale utviklingsmiljøet ditt, gå til mappen der du vil ha appen, og kjør git clone med lenken du kopierte:

    git clone https://altinn.studio/repos/<org>/<app-name>.git
    

    Du logger inn i Altinn Studio med Ansattporten og har derfor ikke et eget passord. Hvis Git spør om passord, bruker du et personlig tilgangstoken fra Gitea i stedet.

    I terminalen ser du et resultat som likner dette:

    Cloning into 'app-name'...
    remote: Enumerating objects: 982, done.
    remote: Counting objects: 100% (982/982), done.
    remote: Compressing objects: 100% (950/950), done.
    remote: Total 982 (delta 600), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (982/982), 166.38 KiB | 1.51 MiB/s, done.
    Resolving deltas: 100% (600/600), done.
    

Systemet oppretter en mappe med samme navn som appen og kopierer innholdet i app-repoet inn i mappen. Nå kan du åpne utviklingsverktøyet du foretrekker, og komme i gang.

Slik synkroniserer du endringer i lokalt utviklingsmiljø

Du må laste opp (pushe) endringer som du gjør lokalt til repoet koden ble klonet fra. Hvis du gjør endringer i Altinn Studio Designer (og laster disse opp til repoet), må du hente dem ned (pull) for å oppdatere den lokale koden.

Du kan synkronisere endringer i det lokale utviklingsmiljøet på flere måter. Mange utviklingsverktøy har gode integrasjoner for nettopp dette, så sjekk gjerne om verktøyet ditt har den typen støtte.

Under kan du lese mer om hvordan du synkroniserer endringer fra kommandolinjen.

Laste opp endringer

  1. Gå til app-repoet ditt i en terminal.
  2. Legg til filene du ønsker å laste opp endringer for (pushe) med kommandoen git add <sti til filen>. Du kan kjøre kommandoen for enkeltfiler, flere filer samtidig eller en mappe.
  3. Lagre (commit) endringene med en beskrivende melding med kommandoen git commit -m <commit-melding>.
  4. Last opp (push) endringene til master med kommandoen git push.

Laste ned endringer

Gå til app-repoet ditt i en terminal og kjør kommandoen git pull.

Les mer om git pull i Git-dokumentasjonen.

Slik synkroniserer du endringer i Altinn Studio

I Altinn Studio synkroniserer du endringer med knappene i verktøylinjen øverst på siden.

Hente endringer

Klikk på Hent endringer. Du får beskjed når appen er oppdatert til siste versjon.

Hent endringer i Altinn Studio
Hent endringer i Altinn Studio

Dele endringer

En rød prikk på Del dine endringer viser at du har endringer som ikke er delt ennå.

  1. Klikk på Del dine endringer.
  2. Beskriv hva du har endret, og klikk på Del endringer. Vil du se hvilke filer du har endret, klikker du på Se siste endringer.
    Del endringer i Altinn Studio
    Del endringer i Altinn Studio

Du får en bekreftelse når endringene er delt.

Bekreftelse på at endringene er delt
Bekreftelse på at endringene er delt

Hvis noen andre har endret appen på samme sted som deg, får du beskjed om at det er en konflikt i appen. Da kan du laste ned endringene dine som en zip-fil, eller velge Slett mine endringer.

Lokal testing

Du kan forhåndsvise endringene du gjør når du jobber lokalt. studioctl starter lokal testplattform, kjører appen og kobler appen til local.altinn.cloud på port 8000. Du trenger en container runtime, for eksempel Docker, Podman eller Colima, og .NET SDK for å kjøre appen som en lokal prosess. Kjør studioctl doctor for å sjekke at maskinen din har verktøyene som trengs.

MERK For å kunne kjøre appen i LocalTest må applikasjonen ha en tilknyttet datamodell.
ADVARSEL Hvis du har en eksisterende app-localtest-stack, må den stoppes og fjernes helt før du kjører studioctl env up. Bruk kommandoen som passer til din container runtime, for eksempel docker compose down -v eller tilsvarende for Podman.
  1. Start lokal testplattform: Gå til app-repoet i terminalen og kjør studioctl env up.
    • Hvis du får feilmeldingen env up: start environment: resource exists but is not managed by this graph: container:localtest-<name>, har du containere igjen fra et tidligere oppsett som studioctl ikke eier. Fjern de gamle localtest-containerne og kjør studioctl env up på nytt.
    • Hvis env up deretter feiler på en network:-ressurs, list den opp med docker network ls --filter name=localtest (eller podman network ls ...) og fjern den med docker network rm <name>.
  2. Kjør applikasjonen i LocalTest: Kjør studioctl run fra app-repoet. Kommandoen finner appmappen automatisk og starter appen med riktige lokale innstillinger.
  3. Forhåndsvis og test applikasjonen: Gå til http://local.altinn.cloud:8000 og logg inn med en testbruker.

Du kan også åpne nettleseren direkte når testplattformen starter:

studioctl env up --open
studioctl run

Nyttige kommandoer:

KommandoBeskrivelse
studioctl env up --openStarter lokal testplattform og åpner local.altinn.cloud på port 8000.
studioctl env statusViser status for lokal testplattform.
studioctl env logsViser logger fra LocalTest-containerne.
studioctl run --detachKjører appen i bakgrunnen.
studioctl app logsViser logger fra en app som kjører i bakgrunnen. Bruk --follow for løpende logg.
studioctl stopStopper apper som er startet med studioctl run --detach.
studioctl env downStopper lokal testplattform.
studioctl doctorDiagnostiserer manglende verktøy og lokale miljøproblemer.

Følg prosessen i prosessmotoren

Prosessmotoren utfører prosessteg asynkront i v9. Når du tester appen lokalt, kan du bruke kontrollpanelet til å se om en arbeidsflyt venter, kjører, er fullført eller har feilet.

Åpne forsiden til localtest og velg Workflow engine i navigasjonen. Du kan også åpne kontrollpanelet direkte på workflow-engine.local.altinn.cloud:8000.

Fanen Live viser planlagte, aktive og nylig avsluttede arbeidsflyter. Bruk fanen Query hvis du vil søke i eldre arbeidsflyter eller avgrense listen etter status og tidspunkt. Kontrollpanelet er tilgjengelig så lenge den lokale testplattformen kjører.

Se endringer fortløpende

  • Hvis du endrer JSON-filer, holder det å laste inn siden på nytt.
  • Hvis du endrer forhåndsutfylling, må du starte en ny instans av appen (gå til http://local.altinn.cloud:8000 og logg inn igjen).
  • Hvis du endrer C#-filer, må du stoppe appen (ctrl+C) og starte den på nytt (studioctl run).

Du kan oppdatere automatisk ved endring i C#-filer ved å starte appen med dotnet watch fra mappen App. Kommandoen starter appen, eller laster den på nytt (hot reload) når du endrer kildekoden. Appen henter de lokale innstillingene fra studioctl selv, så du må ha studioctl installert.

Stoppe app og LocalTest

Stopp appen ved å trykke ctrl+C i terminalvinduet der du startet den. Stopp LocalTest med studioctl env down.

Den gamle arbeidsflyten bruker app-localtest-repoet direkte. Denne metoden kan fortsatt være nyttig ved feilsøking av et gammelt oppsett, men den anbefalte lokale arbeidsflyten er studioctl.

  1. Last ned og start LocalTest ved å følge stegene beskrevet på GitHub (inkluderer start av appen, som også er forklart under).
  2. Kjør applikasjonen i LocalTest: Åpne et nytt terminalvindu og gå til undermappen App i applikasjonen din (<app-name>/App). Start appen med kommandoen dotnet run og vent på bekreftelse i terminalen.
  3. Forhåndsvis og test applikasjonen: Gå til http://local.altinn.cloud:8000 og logg inn med en testbruker.

Stopp applikasjonen ved å trykke ctrl+C i terminalvinduet der du startet den. Stopp LocalTest ved å gå til mappen app-localtest i terminalen og kjøre kommandoen docker compose down.