cciSpec top-level property

FigSpec cciSpec
final

Completion spec for cci CLI

Implementation

final FigSpec cciSpec = FigSpec(
  name: 'cci',
  description: 'CumulusCI command line interface',
  subcommands: [

    Subcommand(
      name: 'flow',
      description: 'Commands for finding and running flows for a project',
      subcommands: [

        Subcommand(
          name: 'doc',
          description: 'Exports RST format documentation for all flows',
          options: [

            Option(
              name: '--project',
              description: 'Include project-specific flows only'
            ),
            Option(
              name: '--help',
              description: 'Help for flow doc'
            )
          ]
        ),
        Subcommand(
          name: 'info',
          description: 'Displays information for a flow',
          args: [
            Arg(
            name: 'FLOW_NAME',
            description: 'Name of the flow'
          )
          ],
          options: [

            Option(
              name: '--help',
              description: 'Help for flow info'
            )
          ]
        ),
        Subcommand(
          name: 'list',
          description: 'List available flows for the current context',
          options: [

            Option(
              name: '--plain',
              description: 'Print the table using plain ascii'
            ),
            Option(
              name: '--json',
              description: 'Print a json string'
            ),
            Option(
              name: '--help',
              description: 'Help for flow list'
            )
          ]
        ),
        Subcommand(
          name: 'run',
          description: 'Runs a flow',
          args: [
            Arg(
            name: 'FLOW_NAME',
            description: 'Name of the flow to run'
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Specify the target org. By default, runs against the current default org',
              args: [
                Arg(
                name: 'TEXT',
                description: 'Name of the target org'
              )
              ]
            ),
            Option(
              name: '--delete-org',
              description: 'If set, deletes the scratch org after the flow completes'
            ),
            Option(
              name: '--debug',
              description: 'Drops into pdb, the Python debugger, on an exception'
            ),
            Option(
              name: '-o',
              description: 'Pass task specific options for the task as \'-o taskname__option value\'. You can specify more than one option by using -o more than once',
              args: [
                Arg(
                name: 'TEXT',
                description: 'Task specific options'
              )
              ]
            ),
            Option(
              name: '--no-prompt',
              description: 'Disables all prompts. Set for non-interactive mode use such as calling from scripts or CI systems'
            ),
            Option(
              name: '--help',
              description: 'Help for flow run'
            )
          ]
        )
      ]
    ),
    Subcommand(
      name: 'org',
      description: 'Commands for connecting and interacting with Salesforce orgs',
      subcommands: [

        Subcommand(
          name: 'browser',
          description: 'Opens a browser window and logs into the org using the stored OAuth credentials',
          args: [
            Arg(
            name: 'ORGNAME',
            description: 'Name of the org',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. By default, runs against the current default org',
              args: [
                Arg(
                name: 'TEXT',
                description: 'Name of the target org'
              )
              ]
            ),
            Option(
              name: ['-p', '--path'],
              description: 'Navigate to the specified page after logging in',
              args: [
                Arg(
                name: 'TEXT',
                description: 'Page to navigate to',
                template: 'filepaths'
              )
              ]
            ),
            Option(
              name: ['-r', '--url-only'],
              description: 'Display the target URL, but don\'t open a browser'
            ),
            Option(
              name: '--help',
              description: 'Help for org browser'
            )
          ]
        ),
        Subcommand(
          name: 'connect',
          description: 'Connects a new org\'s credentials using OAuth Web Flow',
          args: [
            Arg(
            name: 'ORGNAME',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. One of ORGNAME (see above) or --org is required',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--connected-app',
              description: 'Name of the connected_app service to use',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--sandbox',
              description: 'If set, connects to a Salesforce sandbox org'
            ),
            Option(
              name: '--login-url',
              description: 'If set, login to this hostname',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--default',
              description: 'If set, sets the connected org as the new default org'
            ),
            Option(
              name: '--global-org',
              description: 'If set, the connected org is available to all CumulusCI projects'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'default',
          description: 'Sets an org as the default org for tasks and flows',
          args: [
            Arg(
            name: 'ORGNAME',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. By default, runs against the current default org',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--unset',
              description: 'Unset the org as the default org leaving no default org selected'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'import',
          description: 'Import an org from Salesforce DX',
          args: [

            Arg(
              name: 'USERNAME_OR_ALIAS'
            ),
            Arg(
              name: 'ORGNAME',
              isOptional: true
            )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. One of ORGNAME (see above) or --org is required',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'info',
          description: 'Display information for a connected org',
          args: [
            Arg(
            name: 'ORGNAME',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. By default, runs against the current default org',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--json',
              description: 'Print as JSON. Includes access token'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'list',
          description: 'Lists all orgs in scope for the current project',
          options: [

            Option(
              name: '--plain',
              description: 'Print the table using plain ascii'
            ),
            Option(
              name: '--json',
              description: 'Output results in JSON format'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'prune',
          description: 'Removes all expired scratch orgs from the current project',
          options: [

            Option(
              name: '--include-active',
              description: 'Remove all scratch orgs, regardless of expiry'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'remove',
          description: 'Removes an org from the keychain',
          args: [
            Arg(
            name: 'ORGNAME',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. One of ORGNAME (see above) or --org is required',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--global-org',
              description: 'Set this option to force remove a global org. Default behavior is to error if you attempt to delete a global org'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'scratch',
          description: 'Connects a Salesforce DX Scratch Org to the keychain',
          args: [

            Arg(
              name: 'CONFIG_NAME'
            ),
            Arg(
              name: 'ORGNAME',
              isOptional: true
            )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. One of ORGNAME (see above) or --org is required',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--default',
              description: 'If set, sets the connected org as the new default org'
            ),
            Option(
              name: '--devhub',
              description: 'If provided, overrides the devhub used to create the scratch org',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--days',
              description: 'If provided, overrides the scratch config default days value for how many days the scratch org should persist',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--no-password',
              description: 'If set, don\'t set a password for the org'
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'scratch_delete',
          description: 'Deletes a Salesforce DX Scratch Org leaving the config in the keychain for regeneration',
          args: [
            Arg(
            name: 'ORGNAME',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. One of ORGNAME (see above) or --org is required',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'shell',
          description: 'Drop into a Python shell with a simple_salesforce connection in `sf`, as well as the `org_config` and `project_config`',
          args: [
            Arg(
            name: 'ORGNAME',
            isOptional: true
          )
          ],
          options: [

            Option(
              name: '--org',
              description: 'Alternate way to specify the target org. By default, runs against the current default org',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--script',
              description: 'Path to a script to run',
              args: [
                Arg(
                name: 'PATH'
              )
              ]
            ),
            Option(
              name: '--python',
              description: 'Python code to run directly',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        )
      ]
    ),
    Subcommand(
      name: 'plan',
      description: 'Commands for getting information about MetaDeploy plans',
      subcommands: [

        Subcommand(
          name: 'info',
          description: 'Displays information for a MetaDeploy plan',
          args: [
            Arg(
            name: 'PLAN_NAME',
            description: 'Name of the plan'
          )
          ],
          options: [

            Option(
              name: '--messages',
              description: 'Show only plan messages'
            ),
            Option(
              name: '--help',
              description: 'Help for plan info'
            )
          ]
        ),
        Subcommand(
          name: 'list',
          description: 'List available plans for the current context',
          options: [

            Option(
              name: '--json',
              description: 'Return the list of plans in JSON format'
            ),
            Option(
              name: '--help',
              description: 'Help for plan list'
            )
          ]
        )
      ]
    ),
    Subcommand(
      name: 'robot',
      description: 'Commands for working with Robot Framework',
      subcommands: [

        Subcommand(
          name: 'install_playwright',
          description: 'Install libraries necessary to use playwright with robot framework',
          options: [

            Option(
              name: ['-n', '--dry_run'],
              description: 'Dry run'
            ),
            Option(
              name: '--help',
              description: 'Help for install_playwright'
            )
          ]
        ),
        Subcommand(
          name: 'uninstall_playwright',
          description: 'Uninstalls the robotframework-browser package and node modules',
          options: [

            Option(
              name: '--help',
              description: 'Help for uninstall_playwright'
            )
          ]
        )
      ]
    ),
    Subcommand(
      name: 'service',
      description: 'Commands for connecting services to the keychain',
      subcommands: [

        Subcommand(
          name: 'connect',
          description: 'Connect an external service to CumulusCI',
          subcommands: [

            Subcommand(
              name: 'connected_app',
              description: 'Connect a Connected App service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--login_url',
                  description: 'Default Salesforce Login URL to be used with this Connected App',
                  args: [
                    Arg(
                    name: 'login_url'
                  )
                  ]
                ),
                Option(
                  name: '--callback_url',
                  description: 'Callback URL configured on the Connected App',
                  args: [
                    Arg(
                    name: 'callback_url'
                  )
                  ]
                ),
                Option(
                  name: '--client_id',
                  description: 'Client ID/Consumer Key from the Connected App',
                  args: [
                    Arg(
                    name: 'client_id'
                  )
                  ]
                ),
                Option(
                  name: '--client_secret',
                  description: 'Client Secret/Consumer Secret from the Connected App',
                  args: [
                    Arg(
                    name: 'client_secret'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Help for cci service connect connected_app'
                )
              ]
            ),
            Subcommand(
              name: 'devhub',
              description: 'Connect a DevHub service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--username',
                  description: 'Username or alias of the SFDX org to use as a Dev Hub',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            ),
            Subcommand(
              name: 'github',
              description: 'Connect a GitHub service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--username',
                  description: 'The Github username to use for tasks',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--email',
                  description: 'The email address to used by Github tasks when an operation requires an email address',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--token',
                  description: 'Personal Access Token for GitHub. Leave blank to log in via browser',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            ),
            Subcommand(
              name: 'github_enterprise',
              description: 'Connect a GitHub Enterprise service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--username',
                  description: 'The GitHub Enterprise username to use for tasks',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--email',
                  description: 'The email address to used by GitHub tasks when an operation requires an email address',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--server_domain',
                  description: 'GitHub Enterprise domain (Example: git.ent.domain.com)',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--token',
                  description: 'Personal Access Token',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            ),
            Subcommand(
              name: 'marketing_cloud',
              description: 'Connect a Marketing Cloud service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--oauth2_client',
                  description: 'The name of the oauth2_client service with which to establish a connection to Marketing Cloud',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            ),
            Subcommand(
              name: 'metaci',
              description: 'Connect a MetaCI service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--app_name',
                  description: 'The Heroku app name',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--url',
                  description: 'The main url to the MetaCI site',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--token',
                  description: 'Your API token to the MetaCI site (get from SITE_URL/api/token)',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            ),
            Subcommand(
              name: 'metadeploy',
              description: 'Connect a MetaDeploy service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--url',
                  description: 'The main url for your MetaDeploy instance',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--token',
                  description: 'Your API token to the MetaDeploy site (get from SITE_URL/admin/authtoken/token)',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            ),
            Subcommand(
              name: 'oauth2_client',
              description: 'Connect an OAuth2 Client service to CumulusCI',
              args: [
                Arg(
                name: 'SERVICE_NAME',
                isOptional: true
              )
              ],
              options: [

                Option(
                  name: '--client_id',
                  description: 'The client Id',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--client_secret',
                  description: 'The client secret',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--auth_uri',
                  description: 'The URI for where users are directed to login',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--token_uri',
                  description: 'The URI for where we request an access token',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--callback_url',
                  description: 'The URL that the auth server will callback to after authentication of the user',
                  args: [
                    Arg(
                    name: 'TEXT'
                  )
                  ]
                ),
                Option(
                  name: '--default',
                  description: 'Set this service as the global default'
                ),
                Option(
                  name: '--help',
                  description: 'Show this message and exit'
                )
              ]
            )
          ]
        ),
        Subcommand(
          name: 'default',
          description: 'Set the default service for a given service type',
          args: [

            Arg(
              name: 'SERVICE_TYPE'
            ),
            Arg(
              name: 'SERVICE_NAME'
            )
          ],
          options: [

            Option(
              name: '--project',
              description: 'Sets the service as the default for the current project'
            ),
            Option(
              name: '--help',
              description: 'Help for cci service default'
            )
          ]
        ),
        Subcommand(
          name: 'info',
          description: 'Show the details of a connected service',
          args: [

            Arg(
              name: 'SERVICE_TYPE'
            ),
            Arg(
              name: 'SERVICE_NAME',
              isOptional: true
            )
          ],
          options: [

            Option(
              name: '--json',
              description: 'Print a json string'
            ),
            Option(
              name: '--help',
              description: 'Help for cci service info'
            )
          ]
        ),
        Subcommand(
          name: 'list',
          description: 'List services available for configuration and use',
          options: [

            Option(
              name: '--plain',
              description: 'Print the table using plain ascii'
            ),
            Option(
              name: '--json',
              description: 'Print a json string'
            ),
            Option(
              name: '--help',
              description: 'Help for cci service list'
            )
          ]
        ),
        Subcommand(
          name: 'remove',
          description: 'Remove a service',
          args: [

            Arg(
              name: 'SERVICE_TYPE'
            ),
            Arg(
              name: 'SERVICE_NAME'
            )
          ],
          options: [

            Option(
              name: '--help',
              description: 'Help for cci service remove'
            )
          ]
        ),
        Subcommand(
          name: 'rename',
          description: 'Rename a service',
          args: [

            Arg(
              name: 'SERVICE_TYPE'
            ),
            Arg(
              name: 'SERVICE_NAME'
            ),
            Arg(
              name: 'NEW_NAME'
            )
          ],
          options: [

            Option(
              name: '--help',
              description: 'Help for cci service remove'
            )
          ]
        ),
        Subcommand(
          name: 'update',
          description: 'Allow users to update attribute values of a particular service',
          args: [

            Arg(
              name: 'SERVICE_TYPE'
            ),
            Arg(
              name: 'SERVICE_NAME'
            )
          ],
          options: [

            Option(
              name: ['-s', '--attribute'],
              description: 'Provide values to update the service with directly. Using `--attribute foo var` will set the \'foo\' attribute to a value of \'bar\' on the specified service',
              args: [
                Arg(
                name: 'TEXT TEXT'
              )
              ]
            ),
            Option(
              name: '--help',
              description: 'Help for cci service remove'
            )
          ]
        )
      ]
    ),
    Subcommand(
      name: 'shell',
      description: 'Drop into a Python shell',
      options: [

        Option(
          name: '--script',
          description: 'Path to a script to run',
          args: [
            Arg(
            name: 'PATH',
            template: 'filepaths'
          )
          ]
        ),
        Option(
          name: '--python',
          description: 'Python code to run directly',
          args: [
            Arg(
            name: 'TEXT'
          )
          ]
        ),
        Option(
          name: '--help',
          description: 'Show this message and exit'
        )
      ]
    ),
    Subcommand(
      name: 'task',
      description: 'Commands for finding and running tasks for a project',
      subcommands: [

        Subcommand(
          name: 'doc',
          description: 'Exports RST format documentation for all tasks'
        ),
        Subcommand(
          name: 'info',
          description: 'Displays information for a task',
          args: [
            Arg(
            name: 'TASK_NAME'
          )
          ]
        ),
        Subcommand(
          name: 'list',
          description: 'List available tasks for the current context'
        ),
        Subcommand(
          name: 'run',
          description: 'Runs a task',
          args: [
            Arg(
            name: 'TASK_NAME'
          )
          ]
        )
      ],
      options: [

        Option(
          name: '--help',
          description: 'Show this message and exit'
        )
      ]
    ),
    Subcommand(
      name: 'version',
      description: 'Print the current version of CumulusCI',
      options: [

        Option(
          name: '--help',
          description: 'Show this message and exit'
        )
      ]
    ),
    Subcommand(
      name: 'error',
      description: 'Get or share information about an error',
      subcommands: [

        Subcommand(
          name: 'gist',
          description: 'Creates a GitHub gist from the latest logfile'
        ),
        Subcommand(
          name: 'info',
          description: 'Outputs the most recent traceback (if one exists in the most recent logfile)'
        )
      ],
      options: [

        Option(
          name: '--help',
          description: 'Show this message and exit'
        )
      ]
    ),
    Subcommand(
      name: 'project',
      description: 'Commands for interacting with project repository configurations',
      subcommands: [

        Subcommand(
          name: 'dependencies',
          description: 'Displays the current dependencies for the project. If the dependencies section has references to other github repositories, the repositories are inspected and a static list of dependencies is created',
          options: [

            Option(
              name: '--resolution-strategy',
              description: 'The resolution strategy to use. Defaults to production',
              args: [
                Arg(
                name: 'TEXT'
              )
              ]
            ),
            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'info',
          description: 'Display information about the current project\'s configuration',
          options: [

            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        ),
        Subcommand(
          name: 'init',
          description: 'Initialize a new project for use with the cumulusci toolbelt',
          options: [

            Option(
              name: '--help',
              description: 'Show this message and exit'
            )
          ]
        )
      ]
    )
  ],
  options: [

    Option(
      name: '--help',
      description: 'Help for cci'
    )
  ]
);