CLI
  • Introduction
  • QuickStart
  • Collections vs Endpoints
  • High Assurance
  • Environment Variables
  • JMESPath Queries
  • Reference
    • CLI Changelog
    • GLOBUS API AUTH
    • GLOBUS API FLOWS
    • GLOBUS API GCS
    • GLOBUS API GROUPS
    • GLOBUS API SEARCH
    • GLOBUS API TIMERS
    • GLOBUS API TRANSFER
    • GLOBUS BOOKMARK CREATE
    • GLOBUS BOOKMARK DELETE
    • GLOBUS BOOKMARK LIST
    • GLOBUS BOOKMARK RENAME
    • GLOBUS BOOKMARK SHOW
    • GLOBUS CLI-PROFILE-LIST
    • GLOBUS COLLECTION CREATE GUEST
    • GLOBUS COLLECTION CREATE MAPPED
    • GLOBUS COLLECTION DELETE
    • GLOBUS COLLECTION LIST
    • GLOBUS COLLECTION SHOW
    • GLOBUS COLLECTION UPDATE
    • GLOBUS DELETE
    • GLOBUS ENDPOINT DELETE
    • GLOBUS ENDPOINT LOCAL-ID
    • GLOBUS ENDPOINT MY-SHARED-ENDPOINT-LIST
    • GLOBUS ENDPOINT PERMISSION CREATE
    • GLOBUS ENDPOINT PERMISSION DELETE
    • GLOBUS ENDPOINT PERMISSION LIST
    • GLOBUS ENDPOINT PERMISSION SHOW
    • GLOBUS ENDPOINT PERMISSION UPDATE
    • GLOBUS ENDPOINT ROLE CREATE
    • GLOBUS ENDPOINT ROLE DELETE
    • GLOBUS ENDPOINT ROLE LIST
    • GLOBUS ENDPOINT ROLE SHOW
    • GLOBUS ENDPOINT SEARCH
    • GLOBUS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS ENDPOINT SHOW
    • GLOBUS ENDPOINT STORAGE-GATEWAY LIST
    • GLOBUS ENDPOINT UPDATE
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE POSIX
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE S3
    • GLOBUS ENDPOINT USER-CREDENTIAL DELETE
    • GLOBUS ENDPOINT USER-CREDENTIAL LIST
    • GLOBUS ENDPOINT USER-CREDENTIAL SHOW
    • GLOBUS FLOWS CREATE
    • GLOBUS FLOWS DELETE
    • GLOBUS FLOWS LIST
    • GLOBUS FLOWS RUN CANCEL
    • GLOBUS FLOWS RUN DELETE
    • GLOBUS FLOWS RUN LIST
    • GLOBUS FLOWS RUN RESUME
    • GLOBUS FLOWS RUN SHOW
    • GLOBUS FLOWS RUN SHOW-DEFINITION
    • GLOBUS FLOWS RUN SHOW-LOGS
    • GLOBUS FLOWS RUN UPDATE
    • GLOBUS FLOWS SHOW
    • GLOBUS FLOWS START
    • GLOBUS FLOWS UPDATE
    • GLOBUS FLOWS VALIDATE
    • GLOBUS GCP CREATE GUEST
    • GLOBUS GCP CREATE MAPPED
    • GLOBUS GCP SET-SUBSCRIPTION-ID
    • GLOBUS GCP UPDATE GUEST
    • GLOBUS GCP UPDATE MAPPED
    • GLOBUS GCS COLLECTION CREATE GUEST
    • GLOBUS GCS COLLECTION CREATE MAPPED
    • GLOBUS GCS COLLECTION DELETE
    • GLOBUS GCS COLLECTION LIST
    • GLOBUS GCS COLLECTION SHOW
    • GLOBUS GCS COLLECTION UPDATE
    • GLOBUS GCS ENDPOINT ROLE CREATE
    • GLOBUS GCS ENDPOINT ROLE DELETE
    • GLOBUS GCS ENDPOINT ROLE LIST
    • GLOBUS GCS ENDPOINT ROLE SHOW
    • GLOBUS GCS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS GCS ENDPOINT SHOW
    • GLOBUS GCS ENDPOINT UPDATE
    • GLOBUS GCS STORAGE-GATEWAY LIST
    • GLOBUS GCS USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS GCS USER-CREDENTIAL CREATE POSIX
    • GLOBUS GCS USER-CREDENTIAL CREATE S3
    • GLOBUS GCS USER-CREDENTIAL DELETE
    • GLOBUS GCS USER-CREDENTIAL LIST
    • GLOBUS GCS USER-CREDENTIAL SHOW
    • GLOBUS GET-IDENTITIES
    • GLOBUS GROUP CREATE
    • GLOBUS GROUP DELETE
    • GLOBUS GROUP GET-BY-SUBSCRIPTION
    • GLOBUS GROUP GET-SUBSCRIPTION-INFO
    • GLOBUS GROUP INVITE ACCEPT
    • GLOBUS GROUP INVITE DECLINE
    • GLOBUS GROUP JOIN
    • GLOBUS GROUP LEAVE
    • GLOBUS GROUP LIST
    • GLOBUS GROUP MEMBER ADD
    • GLOBUS GROUP MEMBER APPROVE
    • GLOBUS GROUP MEMBER INVITE
    • GLOBUS GROUP MEMBER LIST
    • GLOBUS GROUP MEMBER REJECT
    • GLOBUS GROUP MEMBER REMOVE
    • GLOBUS GROUP SET-POLICIES
    • GLOBUS GROUP SHOW
    • GLOBUS GROUP UPDATE
    • GLOBUS LIST-COMMANDS
    • GLOBUS LOGIN
    • GLOBUS LOGOUT
    • GLOBUS LS
    • GLOBUS MKDIR
    • GLOBUS RENAME
    • GLOBUS RM
    • GLOBUS SEARCH DELETE-BY-QUERY
    • GLOBUS SEARCH INDEX CREATE
    • GLOBUS SEARCH INDEX DELETE
    • GLOBUS SEARCH INDEX LIST
    • GLOBUS SEARCH INDEX ROLE CREATE
    • GLOBUS SEARCH INDEX ROLE DELETE
    • GLOBUS SEARCH INDEX ROLE LIST
    • GLOBUS SEARCH INDEX SHOW
    • GLOBUS SEARCH INGEST
    • GLOBUS SEARCH QUERY
    • GLOBUS SEARCH SUBJECT DELETE
    • GLOBUS SEARCH SUBJECT SHOW
    • GLOBUS SEARCH TASK LIST
    • GLOBUS SEARCH TASK SHOW
    • GLOBUS SESSION CONSENT
    • GLOBUS SESSION SHOW
    • GLOBUS SESSION UPDATE
    • GLOBUS STAT
    • GLOBUS TASK CANCEL
    • GLOBUS TASK EVENT-LIST
    • GLOBUS TASK GENERATE-SUBMISSION-ID
    • GLOBUS TASK LIST
    • GLOBUS TASK PAUSE-INFO
    • GLOBUS TASK SHOW
    • GLOBUS TASK UPDATE
    • GLOBUS TASK WAIT
    • GLOBUS TIMER CREATE TRANSFER
    • GLOBUS TIMER DELETE
    • GLOBUS TIMER LIST
    • GLOBUS TIMER PAUSE
    • GLOBUS TIMER RESUME
    • GLOBUS TIMER SHOW
    • GLOBUS TRANSFER
    • GLOBUS UPDATE
    • GLOBUS VERSION
    • GLOBUS WHOAMI
  • Examples
Skip to main content
Globus Docs
  • APIs
    Auth Flows Groups Search Timers Transfer Globus Connect Server Compute Helper Pages
  • Applications
    Globus Connect Personal Globus Connect Server Premium Storage Connectors Compute Command Line Interface Python SDK JavaScript SDK
  • Guides
  • Support
    FAQs Mailing Lists Contact Us Check Support Tickets
  1. Home
  2. Introduction
  3. JMESPath Queries

Using JMESPath Queries in the Globus CLI

The Globus CLI supports using JMESPath queries to filter and transform the output of commands. JMESPath is a query language for JSON with its own specification and syntax.

To learn more about JMESPath, consider reading the JMESPath Tutorial.

The --jmespath Option

All Globus CLI commands support a --jmespath option which takes a JMESPath query as an argument. The command’s JSON output will be processed with the query before being emitted.

For example, it can be used to extract the task_id from a globus transfer task submission:

$ globus transfer $source $dest --batch $data --jmespath 'task_id'
"37fda17c-d07a-4004-8818-3067862ba8e3"
Tip

We also support --jq, for "json query", as an alias for --jmespath!

Combining --jmespath with --format=UNIX

JMESPath output is still JSON data. That means that strings are quoted, arrays are wrapped in brackets, and commas are used as separators.

The CLI supports an alternative output format, designed to be combined with --jmespath to produce output in a format more easily consumed by standard UNIX tools. Using --format UNIX will emit data with quotes stripped, using tabs and newlines as separators.

For example, taking the example above and adding --format UNIX:

$ globus transfer $source $dest --batch $data --jmespath 'task_id'
37fda17c-d07a-4004-8818-3067862ba8e3

In turn, this lets us use the output in a pipeline, subshell, or other context:

  • Variable Assignment
  • Subshell Invocation
$ task_id="$(globus transfer $source $dest --batch $data --jmespath 'task_id')"
$ globus task wait $task_id --timeout 1800
$ globus task wait "$(globus transfer $source $dest --batch $data --jmespath 'task_id')" --timeout 1800
Tip

The --format option is also available as -F, supports "slamming", and is case insensitive. So you can abbreviate --format=UNIX as -F UNIX or -Funix.

Exploring output with --format JSON

In order to use --jmespath effectively, you need to know what the JSON data for a given command is.

A great way to explore is to start with --format JSON to see the raw JSON and then to process that result with JMESPath queries.

For example, one might start with

$ globus group list --format JSON
...

to see the output, and then use JMESPath on the result. Perhaps to write a script:

#!/bin/bash
echo 'List My Groups:'
globus group list \
    --jmespath '[].[name, id]' \
    -Funix | \
  awk -F'\t' '{print $1, "("$2")"}'
  • Introduction
  • QuickStart
  • Collections vs Endpoints
  • High Assurance
  • Environment Variables
  • JMESPath Queries
  • Reference
    • CLI Changelog
    • GLOBUS API AUTH
    • GLOBUS API FLOWS
    • GLOBUS API GCS
    • GLOBUS API GROUPS
    • GLOBUS API SEARCH
    • GLOBUS API TIMERS
    • GLOBUS API TRANSFER
    • GLOBUS BOOKMARK CREATE
    • GLOBUS BOOKMARK DELETE
    • GLOBUS BOOKMARK LIST
    • GLOBUS BOOKMARK RENAME
    • GLOBUS BOOKMARK SHOW
    • GLOBUS CLI-PROFILE-LIST
    • GLOBUS COLLECTION CREATE GUEST
    • GLOBUS COLLECTION CREATE MAPPED
    • GLOBUS COLLECTION DELETE
    • GLOBUS COLLECTION LIST
    • GLOBUS COLLECTION SHOW
    • GLOBUS COLLECTION UPDATE
    • GLOBUS DELETE
    • GLOBUS ENDPOINT DELETE
    • GLOBUS ENDPOINT LOCAL-ID
    • GLOBUS ENDPOINT MY-SHARED-ENDPOINT-LIST
    • GLOBUS ENDPOINT PERMISSION CREATE
    • GLOBUS ENDPOINT PERMISSION DELETE
    • GLOBUS ENDPOINT PERMISSION LIST
    • GLOBUS ENDPOINT PERMISSION SHOW
    • GLOBUS ENDPOINT PERMISSION UPDATE
    • GLOBUS ENDPOINT ROLE CREATE
    • GLOBUS ENDPOINT ROLE DELETE
    • GLOBUS ENDPOINT ROLE LIST
    • GLOBUS ENDPOINT ROLE SHOW
    • GLOBUS ENDPOINT SEARCH
    • GLOBUS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS ENDPOINT SHOW
    • GLOBUS ENDPOINT STORAGE-GATEWAY LIST
    • GLOBUS ENDPOINT UPDATE
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE POSIX
    • GLOBUS ENDPOINT USER-CREDENTIAL CREATE S3
    • GLOBUS ENDPOINT USER-CREDENTIAL DELETE
    • GLOBUS ENDPOINT USER-CREDENTIAL LIST
    • GLOBUS ENDPOINT USER-CREDENTIAL SHOW
    • GLOBUS FLOWS CREATE
    • GLOBUS FLOWS DELETE
    • GLOBUS FLOWS LIST
    • GLOBUS FLOWS RUN CANCEL
    • GLOBUS FLOWS RUN DELETE
    • GLOBUS FLOWS RUN LIST
    • GLOBUS FLOWS RUN RESUME
    • GLOBUS FLOWS RUN SHOW
    • GLOBUS FLOWS RUN SHOW-DEFINITION
    • GLOBUS FLOWS RUN SHOW-LOGS
    • GLOBUS FLOWS RUN UPDATE
    • GLOBUS FLOWS SHOW
    • GLOBUS FLOWS START
    • GLOBUS FLOWS UPDATE
    • GLOBUS FLOWS VALIDATE
    • GLOBUS GCP CREATE GUEST
    • GLOBUS GCP CREATE MAPPED
    • GLOBUS GCP SET-SUBSCRIPTION-ID
    • GLOBUS GCP UPDATE GUEST
    • GLOBUS GCP UPDATE MAPPED
    • GLOBUS GCS COLLECTION CREATE GUEST
    • GLOBUS GCS COLLECTION CREATE MAPPED
    • GLOBUS GCS COLLECTION DELETE
    • GLOBUS GCS COLLECTION LIST
    • GLOBUS GCS COLLECTION SHOW
    • GLOBUS GCS COLLECTION UPDATE
    • GLOBUS GCS ENDPOINT ROLE CREATE
    • GLOBUS GCS ENDPOINT ROLE DELETE
    • GLOBUS GCS ENDPOINT ROLE LIST
    • GLOBUS GCS ENDPOINT ROLE SHOW
    • GLOBUS GCS ENDPOINT SET-SUBSCRIPTION-ID
    • GLOBUS GCS ENDPOINT SHOW
    • GLOBUS GCS ENDPOINT UPDATE
    • GLOBUS GCS STORAGE-GATEWAY LIST
    • GLOBUS GCS USER-CREDENTIAL CREATE FROM-JSON
    • GLOBUS GCS USER-CREDENTIAL CREATE POSIX
    • GLOBUS GCS USER-CREDENTIAL CREATE S3
    • GLOBUS GCS USER-CREDENTIAL DELETE
    • GLOBUS GCS USER-CREDENTIAL LIST
    • GLOBUS GCS USER-CREDENTIAL SHOW
    • GLOBUS GET-IDENTITIES
    • GLOBUS GROUP CREATE
    • GLOBUS GROUP DELETE
    • GLOBUS GROUP GET-BY-SUBSCRIPTION
    • GLOBUS GROUP GET-SUBSCRIPTION-INFO
    • GLOBUS GROUP INVITE ACCEPT
    • GLOBUS GROUP INVITE DECLINE
    • GLOBUS GROUP JOIN
    • GLOBUS GROUP LEAVE
    • GLOBUS GROUP LIST
    • GLOBUS GROUP MEMBER ADD
    • GLOBUS GROUP MEMBER APPROVE
    • GLOBUS GROUP MEMBER INVITE
    • GLOBUS GROUP MEMBER LIST
    • GLOBUS GROUP MEMBER REJECT
    • GLOBUS GROUP MEMBER REMOVE
    • GLOBUS GROUP SET-POLICIES
    • GLOBUS GROUP SHOW
    • GLOBUS GROUP UPDATE
    • GLOBUS LIST-COMMANDS
    • GLOBUS LOGIN
    • GLOBUS LOGOUT
    • GLOBUS LS
    • GLOBUS MKDIR
    • GLOBUS RENAME
    • GLOBUS RM
    • GLOBUS SEARCH DELETE-BY-QUERY
    • GLOBUS SEARCH INDEX CREATE
    • GLOBUS SEARCH INDEX DELETE
    • GLOBUS SEARCH INDEX LIST
    • GLOBUS SEARCH INDEX ROLE CREATE
    • GLOBUS SEARCH INDEX ROLE DELETE
    • GLOBUS SEARCH INDEX ROLE LIST
    • GLOBUS SEARCH INDEX SHOW
    • GLOBUS SEARCH INGEST
    • GLOBUS SEARCH QUERY
    • GLOBUS SEARCH SUBJECT DELETE
    • GLOBUS SEARCH SUBJECT SHOW
    • GLOBUS SEARCH TASK LIST
    • GLOBUS SEARCH TASK SHOW
    • GLOBUS SESSION CONSENT
    • GLOBUS SESSION SHOW
    • GLOBUS SESSION UPDATE
    • GLOBUS STAT
    • GLOBUS TASK CANCEL
    • GLOBUS TASK EVENT-LIST
    • GLOBUS TASK GENERATE-SUBMISSION-ID
    • GLOBUS TASK LIST
    • GLOBUS TASK PAUSE-INFO
    • GLOBUS TASK SHOW
    • GLOBUS TASK UPDATE
    • GLOBUS TASK WAIT
    • GLOBUS TIMER CREATE TRANSFER
    • GLOBUS TIMER DELETE
    • GLOBUS TIMER LIST
    • GLOBUS TIMER PAUSE
    • GLOBUS TIMER RESUME
    • GLOBUS TIMER SHOW
    • GLOBUS TRANSFER
    • GLOBUS UPDATE
    • GLOBUS VERSION
    • GLOBUS WHOAMI
  • Examples
© 2010- The University of Chicago Legal Privacy Accessibility