jf rt Output Format

Learn how to use --format json and table on jf rt commands in JFrog CLI 2.105.0 for structured JFrog Artifactory output in scripts and automation.

JFrog CLI 2.105.0 and later add an optional --format flag to many jf rt commands for JFrog Artifactory. Use it to get structured JSON or human-readable table output for scripts and automation.

Pattern reference

The following patterns describe how jf rt commands respond when you pass --format json or --format table.

PatternDescription
Pattern A--format json emits structured JSON; --format table renders a human-readable table. No flag → backward-compatible existing output.
Pattern B--format json only. Emits {"status_code":N,"message":"..."}. --format table is rejected. No flag → no output (backward-compatible).

Commands at a glance


jf rt ping

Supported formats: --format json, --format table (Pattern A — no default; plain OK when the flag is absent).

JSON format

{
  "status_code": 200,
  "message": "OK"
}

Table format

FIELD        VALUE
status_code  200
message      OK

jf rt upload

Supported formats: --format json, --format table (Pattern A — no default; forces detailed-summary mode when the flag is set).

See Uploading Files for full command reference.

JSON format

{
  "status": "success",
  "totals": {
    "success": 3,
    "failure": 0
  },
  "files": [
    {
      "source": "build/app.jar",
      "target": "libs-release-local/com/example/app/1.0/app-1.0.jar",
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    }
  ]
}

Table format

SOURCE           TARGET                                                          SHA256
build/app.jar    libs-release-local/com/example/app/1.0/app-1.0.jar            e3b0c442...

Falls back to a FIELD/VALUE counts table when no detailed reader is available.


jf rt download

Supported formats: --format json, --format table (Pattern A — no default; forces detailed-summary mode when the flag is set).

JSON format

{
  "status": "success",
  "totals": {
    "success": 2,
    "failure": 0
  },
  "files": [
    {
      "source": "https://myrt.example.com/libs-release-local/com/example/app/1.0/app-1.0.jar",
      "target": "/tmp/downloads/app-1.0.jar"
    }
  ]
}

Table format

SOURCE                                   TARGET
https://myrt.example.com/.../app-1.0.jar /tmp/downloads/app-1.0.jar

Download and direct-download output include source and target only (no sha256). Upload output includes sha256 when available.


jf rt direct-download

Supported formats: --format json, --format table (Pattern A — no default; forces detailed-summary mode when the flag is set).

Same JSON and table structure as jf rt download.


jf rt move

Supported formats: --format json, --format table (Pattern A — no default).

JSON format

{
  "status": "success",
  "totals": {
    "success": 5,
    "failure": 0
  }
}

Table format

FIELD    VALUE
success  5
failure  0

The table renderer omits the status field; it appears in JSON output only.


jf rt copy

Supported formats: --format json, --format table (Pattern A — same structure as jf rt move).


jf rt delete

Supported formats: --format json, --format table (Pattern A — same structure as jf rt move).


jf rt search

Supported formats: --format table (json remains the default for backward compatibility).

JSON format (default)

[
  {
    "path": "libs-release-local/com/example/app/1.0/app-1.0.jar",
    "type": "file",
    "size": 18920,
    "created": "2024-11-01T12:34:56.000Z",
    "modified": "2024-11-01T12:34:56.000Z",
    "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
  }
]

Table format

PATH                                                TYPE  SIZE   CREATED                   MODIFIED                  SHA256
libs-release-local/com/example/app/1.0/app-1.0.jar  file  18920  2024-11-01T12:34:56.000Z  2024-11-01T12:34:56.000Z  e3b0c442...

jf rt set-props

Supported formats: --format json, --format table (Pattern A — same structure as jf rt move).


jf rt delete-props

Supported formats: --format json, --format table (Pattern A — same structure as jf rt set-props).


jf rt build-publish

Supported formats: --format json, --format table (Pattern A — no default; existing logJsonOutput behavior is preserved when the flag is absent).

See Publishing Build-Info.

JSON format

{
  "buildInfoUiUrl": "https://myrt.example.com/ui/builds/my-build/1/20241101/published",
  "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}

Table format

FIELD           VALUE
buildInfoUiUrl  https://myrt.example.com/ui/builds/my-build/1/20241101/published
sha256          e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

jf rt build-add-dependencies

Supported formats: --format json, --format table (Pattern A — same totals structure as jf rt move).


jf rt build-promote

Supported formats: --format json only (Pattern B).

JSON format

{
  "status_code": 200,
  "message": "OK"
}

jf rt build-discard

Supported formats: --format json only (Pattern B).

JSON format

{
  "status_code": 204,
  "message": "No Content"
}

jf rt docker-promote

Supported formats: --format json only (Pattern B).

See Docker Advanced Operations.


jf rt git-lfs-clean

Supported formats: --format json, --format table (Pattern A).

See Clean Up Unreferenced Files from a Git LFS Repository.


jf rt podman-push

Supported formats: --format json, --format table (Pattern A — forces SetDetailedSummary(true) when the flag is set).

JSON format

{
  "status": "success",
  "totals": {
    "success": 3,
    "failure": 0
  },
  "files": [
    {
      "target": "https://myrt.example.com/docker-local/myimage/sha256:aabbcc",
      "sha256": "aabbcc..."
    }
  ]
}

jf rt podman-pull

Supported formats: --format json, --format table (Pattern A).

JSON format

{
  "status": "ok",
  "image": "myimage:latest",
  "repo": "docker-local"
}

Table format

FIELD   VALUE
status  ok
image   myimage:latest
repo    docker-local

jf rt nuget-deps-tree

Supported formats: --format table (json remains the default).

JSON format (default)

{
  "MySolution": {
    "MyProject": {
      "Newtonsoft.Json": {
        "13.0.1": {}
      },
      "Microsoft.Extensions.Logging": {
        "7.0.0": {}
      }
    }
  }
}

Table format

PROJECT    DEPENDENCY_COUNT
MyProject  2

jf rt permission-target-create

Supported formats: --format json only (Pattern B).

See jf rt permission-target-create.


jf rt permission-target-update

Supported formats: --format json only (Pattern B).

See jf rt permission-target-update.


jf rt replication-create

Supported formats: --format json only (Pattern B).

See Managing Configuration Entities.


jf rt repo-create

Supported formats: --format json only (Pattern B).


jf rt repo-update

Supported formats: --format json only (Pattern B).


jf rt transfer-config

Supported formats: --format json only (Pattern B).

See jf rt transfer-config.


jf rt transfer-config-merge

Supported formats: --format json, --format table (Pattern A).

JSON format — success

{
  "status": "success",
  "message": "Configurations merged successfully."
}

JSON format — conflicts found

{
  "status": "conflicts_found",
  "conflicts_report_path": "/tmp/jfrog/transfer/config-merge-conflicts-1234.json",
  "message": "Conflicts were found. See report for details."
}

Table format

FIELD                  VALUE
status                 conflicts_found
message                Conflicts were found. See report for details.
conflicts_report_path  /tmp/jfrog/transfer/config-merge-conflicts-1234.json

conflicts_report_path is omitted from the table when there are no conflicts.


jf rt transfer-files

Supported formats: --format json, --format table (Pattern A).

See jf rt transfer-files.

JSON format

{
  "status": "success",
  "totals": {
    "repositories": {
      "success": 3,
      "total": 3
    },
    "files": {
      "success": 10240,
      "failure": 0,
      "total": 10240
    },
    "size_bytes": {
      "transferred": 1073741824,
      "total": 1073741824
    }
  }
}

jf rt users-create

Supported formats: --format json only (Pattern B).

See jf rt users-create.

Related Topics


What’s Next