> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/da/til-devops-og-administratorer/automate/json-output.md).

# Læs resultater som JSON

Få Devolutions CLI-resultater som JSON eller YAML, i én konvolut for hver kommando, så scripts kan kontrollere succes og fejl pålideligt.

Standardtekstoutputtet er skrevet til mennesker. Dets opbygning er forskellig fra kommando til kommando og kan ændre sig. Til et script skal De bede om JSON eller YAML. Hver kommando svarer så med den samme konvolut, både ved succes og ved fejl, så scriptet kontrollerer ét felt for at vide hvad der skete.

## Vælg outputformatet

<table><thead><tr><th width="250">INDSTILLING</th><th>HVAD DE FÅR</th></tr></thead><tbody><tr><td><code>--output text</code> (standard)</td><td>Læsbar tekst, forskellig for hver kommando. Fortolk den ikke.</td></tr><tr><td><code>--output json</code> or <code>--json</code></td><td>JSON-kuverten, indrykket.</td></tr><tr><td><code>--output yaml</code> or <code>--yaml</code></td><td>Den samme kuvert, i YAML.</td></tr></tbody></table>

Disse indstillinger virker med alle kommandoer. Brug kun én af dem pr. kommando. `--json` med `--yaml`, eller `--json` med `--output yaml`, stopper kommandoen med fejlen `conflictingOptions`. `--json` med `--output json` accepteres.

```bash
devo vault list --json
```

## Kuverten

```json
{
  "status": "success",
  "command": "vault.list",
  "operationId": null,
  "data": [ ],
  "warnings": [],
  "errors": []
}
```

<table><thead><tr><th width="180">FELT</th><th>HVAD DEN INDEHOLDER</th></tr></thead><tbody><tr><td><code>status</code></td><td><code>success</code>, <code>partial</code> eller <code>error</code>. Kontrollér dette felt først. <code>partial</code> betyder at kommandoen blev færdig, men at nogle elementer mislykkedes. <code>data</code> indeholder det der lykkedes, <code>errors</code> viser det der ikke gjorde, og exitkoden er <code>0</code>.</td></tr><tr><td><code>command</code></td><td>Den kommando, der kørte, som en sti i punktnotation som <code>vault.list</code> eller <code>entry.references</code>. Aliasser og værdier for indstillinger ændrer den ikke.</td></tr><tr><td><code>operationId</code></td><td>En identifikator når kommandoen frembragte en, ellers <code>null</code>.</td></tr><tr><td><code>data</code></td><td>Resultatet. Dets form afhænger af kommandoen.</td></tr><tr><td><code>warnings</code></td><td>Meddelelser der ikke stoppede kommandoen.</td></tr><tr><td><code>errors</code></td><td>Ét element pr. fejl. Tomt når <code>status</code> er <code>success</code>. Ikke tomt når det er <code>partial</code> eller <code>error</code>.</td></tr></tbody></table>

Hvert element i `errors` har disse felter.

<table><thead><tr><th width="180">FELT</th><th>HVAD DEN INDEHOLDER</th></tr></thead><tbody><tr><td><code>code</code></td><td>En stabil fejlkode, såsom <code>missingParameter</code> eller <code>conflictingOptions</code>. Basér scriptets beslutninger på dette felt.</td></tr><tr><td><code>message</code></td><td>En forklaring til mennesker. Ordlyden kan ændre sig, så match ikke på den.</td></tr><tr><td><code>target</code></td><td>Den indstilling, det argument eller den ressource fejlen handler om, når den kendes.</td></tr><tr><td><code>blockerStatus</code>, <code>stageStatuses</code></td><td>Detaljer fra arbejdsområdets runtime, når fejlen kommer derfra.</td></tr></tbody></table>

En kommandolinje som Devolutions CLI ikke kan fortolke, såsom en forkert stavet kommando, returnerer også konvolutten, med fejl kodet `usageError`, og nogle gange et `usageSuggestion`-element der foreslår den rigtige stavemåde.

## Brug den i et script

Kontrollér først exitkoden, og læs derefter konvolutten. Et `partial`-resultat afsluttes med `0`, så rapportér også `errors` når exitkoden er `0`. For eksempel med `jq`:

{% tabs %}
{% tab title="Bash" %}

```bash
if result=$(devo vault list --json); then
  echo "$result" | jq -r '.data[].name'
  # A partial result exits with 0 and still lists errors.
  echo "$result" | jq -r '.errors[] | "\(.code): \(.message)"' >&2
else
  echo "$result" | jq -r '.errors[] | "\(.code): \(.message)"' >&2
  exit 1
fi
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
$result = devo vault list --json | ConvertFrom-Json
# 'partial' and 'error' both list their errors.
$result.errors | ForEach-Object { Write-Warning "$($_.code): $($_.message)" }
if ($result.status -eq 'error') {
    exit 1
}
# 'success' or 'partial': data holds what succeeded.
$result.data | ForEach-Object { $_.name }
```

{% endtab %}
{% endtabs %}

Exitkoderne er angivet i [Exitkoder og fejl](/cli/da/reference/exit-codes-and-errors.md).

## Standardoutput og standardfejl

<table><thead><tr><th width="200">STRØM</th><th>HVAD DER KOMMER DER</th></tr></thead><tbody><tr><td><strong>Standardoutput</strong></td><td>Konvolutten, i JSON eller YAML, for succes og fejl. I tekst, resultatet. I tekst går fejl fra <code>devo login</code> og fra kommandoer der kun findes på Devolutions Cloud eller kun på Devolutions Server, også hertil, som <code>&#x3C;code>: &#x3C;message></code>.</td></tr><tr><td><strong>Standardfejl</strong></td><td>Som tekst, de fleste fejl, som <code>&#x3C;code>: &#x3C;message></code>. Bemærkninger om hvad Devolutions CLI gør, såsom <code>Starting Devolutions CLI daemon...</code>, og prompterne og meddelelserne ved interaktivt logon.</td></tr></tbody></table>

Så i JSON eller YAML skal De kun læse standardoutput. Det indeholder præcis én konvolut. Undtagelsen er `devo secret run`, beskrevet nedenfor.

## Stille eller udførlig

Bemærkninger om hvad Devolutions CLI gør, såsom at starte baggrundsprocessen, skrives til standardfejlen.

* I tekstoutput vises de som standard. `--quiet` skjuler dem.
* I JSON- eller YAML-output er de skjult som standard. `--verbose` viser dem, stadig på standardfejl.

`--quiet` og `--verbose` sammen stopper kommandoen med `conflictingOptions`.

## Godt at vide

* `devo secret run` pakker ikke outputtet fra det program den starter. Programmets output går til terminalen efterhånden som programmet skriver det, med hemmelige værdier skjult. Hvordan dens egne fejl kommer tilbage, afhænger af hvornår de sker:
  * En start som Devolutions CLI afviser før den løser noget, såsom en reference i kommandoens argumenter (`secretLaunchArgumentReference`), et mislykket `--check`, eller et program der ikke kan starte, returnerer konvolutten på standardoutput med `--json` eller `--yaml`.
  * En reference der ikke løses, skrives altid til standardfejlen som `<code>: <message>`, også med `--json`, og programmet starter ikke.
  * Et program der stoppes af `--timeout-seconds`, afsluttes med `124`. Et afbrudt forløb afsluttes med `130`.
  * Ellers returnerer `devo secret run` programmets egen exitkode. Se [Exitkoder og fejl](/cli/da/reference/exit-codes-and-errors.md).
* Hver kommando og dens indstillinger findes i [Kommandoer](/cli/da/reference/commands.md).

## Næste

* [Run without prompts](/cli/da/til-devops-og-administratorer/automate/non-interactive.md)
* [Exit codes and errors](/cli/da/reference/exit-codes-and-errors.md)
* [Global options](/cli/da/reference/global-options.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/da/til-devops-og-administratorer/automate/json-output.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
