Dockstore CLI Overview

The Dockstore CLI (command-line interface) allows you to interact with Dockstore from the command-line. You can interactively try things out in a terminal, use it in scripts, etc.

The CLI can perform various operations on tools and workflows, such as execution, searching, and publishing. It can also be used to validate .dockstore.yml files, to ensure that changes to your GitHub repository will be correctly processed by Dockstore.

It is beyond the scope of this page to document all the commands that can be executed with the CLI. We encourage you to explore all the possible commands in the CLI by using the CLI’s help, described below.

Modes

The CLI works by putting it into a mode. For example, if you you want to use the CLI against workflows, you put it into workflow mode by starting off with dockstore workflow .... You can see all possible modes by typing dockstore:

$ dockstore

...

Usage: dockstore [mode] [flags] [command] [command parameters]

Modes:
   tool                Puts dockstore into tool mode.
   workflow            Puts dockstore into workflow mode.
   checker             Puts dockstore into checker mode.
   plugin              Configure and debug plugins.
   deps                Print tool/workflow runner dependencies.
   yaml                Puts dockstore into yaml mode.

  ---------------------------------------------
  ...

Commands

You can see the individual commands available to a mode by typing dockstore <mode>. For example, to see the available commands for the workflow mode:

dockstore workflow

...

Usage: dockstore workflow [flags] [command] [command parameters]

Commands:

  convert          :  utilities that allow you to convert file types

  CWL              :  returns the Common Workflow Language Workflow definition for this entry
                      which enables integration with Global Alliance compliant systems

  download         :  download Workflows to the local directory

  info             :  print detailed information about a particular published Workflow

  label            :  updates labels for an individual Workflow

  launch           :  launch Workflows (locally)

  list             :  lists all the Workflows published by the user

  nfl              :  returns the Nextflow Workflow definition for this entry

  publish          :  publish/unpublish a Workflow in Dockstore

  refresh          :  updates your list of Workflows stored on Dockstore or an individual Workflow

  search           :  allows a user to search for all published Workflows that match the criteria

  star             :  star/unstar a Workflow in Dockstore

  test_parameter   :  updates test parameter files for a version of a Workflow

  WDL              :  returns the Workflow Descriptor Language definition for this entry

  wes              :  calls a Workflow Execution Schema API (WES) for a version of a Workflow

  manual_publish   :  registers a Github, Gitlab or Bitbucket workflow in Dockstore and then attempts to publish

  update_workflow  :  updates certain fields of a workflow

  version_tag      :  updates an existing version tag of a workflow

  restub           :  converts a full, unpublished workflow back to a stub

  ...

Command Parameters

For each command, you can see the command parameters available to it by typing dockstore <mode> <command>. For example, to see the options available for launching a workflow locally with the CLI:

$ dockstore workflow launch
You can only use one of --local-entry and --entry at a time.

...

Usage: dockstore workflow launch --help
       dockstore workflow launch [parameters] [command]

Description:
  Launch an entry locally or remotely.

Required parameters:
  --entry <entry>                     Complete workflow path in Dockstore (ex. NCI-GDC/gdc-dnaseq-cwl/GDC_DNASeq:master)
   OR
  --local-entry <local-entry>         Allows you to specify a full path to a local descriptor instead of an entry path


  --json <json file>                  Parameters to the entry in Dockstore, one map for one run, an array of maps for multiple runs
   OR
  --yaml <yaml file>                  Parameters to the entry in Dockstore, one map for one run, an array of maps for multiple runs (only for CWL)

Optional parameters:
  --wdl-output-target                 Allows you to specify a remote path to provision output files to ex: s3://oicr.temp/testing-launcher/
  --uuid                              Allows you to specify a uuid for 3rd party notifications
  --ignore-checksums                  Allows you to ignore validating checksums of each downloaded descriptor

Commonly Executed Commands

The CLI has dozens of commands. Here are some that are documented more in depth: