Crowd Command Line Interface


Discontinued for latest releases of Crowd

Crowd no longer provides APIs useful for providing the capabilities needed for doing administration actions. Further development as been discontinued until such APIs are available again in Crowd.

Discussions with the Crowd product management indicate that these are unlikely anytime in the near future.

Also, the Crowd CLI has also been removed from the Atlassian Command Line Interface (CLI) distribution.

The Atlassian Marketplace listing is now archived: Crowd Command Line Interface.



Command line interface client for CrowdThis is a command line interface (CLI) for remotely accessing Crowd. This provides a convenient way to automate Crowd administration and include Crowd content as part of other automation. Examples are build and test automation or other business processes. This is a working command line client that can be used directly with your installation. This CLI uses Crowd's REST remote API.

Additional information


  • Unzip the distribution package and put the enclosed directory in a convenient location


  • On a command line, cd to the directory where you installed the client
  • On Windows
    • Run crowd
  • On Linux, Mac, or Unix
    • Run ./
  • On any system supporting Java
    • Run java -jar release/crowd-cli-1.0.0.jar
  • This will show help text for the command line interface client
  • The client defaults to use a user of automation. Either add this user with all the authorities required to do the actions you want or specify a different user parameter
  • It is recommended that you open the crowd.bat or file with an editor and customize it for your environment by adding server, user, and password parameters. Follow the example in the comments and make sure you do not remove the %* at the end of the line.


  • Note: the information in this section is automatically generated, so if you have edit suggestions, add a comment. Otherwise, your edits will likely be replaced on the next update.
  • Note: the following examples assume that the crowd.bat or file has been customized for your environment as noted above.
crowd --action getDirectoryList   
crowd --action getUserList   --directory "crowd"  
crowd --action getGroupList   --directory "crowd"  
crowd --action getDirectory   --directory "crowd"  
crowd --action getUser   --directory "crowd"  --userId "admin"  
crowd --action getGroup   --directory "crowd"  --group "crowd-administrators"  
crowd --action run   --file "src/itest/resources/run.txt"  
crowd --action runFromSql   --file "src/itest/resources/run.sql"  --host ""  --driver "postgresql"  --database "test"  

Help text

This is the help text displayed by the default command or using --help. This gives the precise definition of parameters, however, it might be easier to just look at the examples. Note, the information in this section is automatically generated, so if you have edit suggestions, add a comment. Otherwise, your edits will be replaced on the next update.


  • Use single dash for single letter parameters - example: -v
  • Use double dash for multi-letter parameter - example: --help
  • When parameters are specified, most need a value - example: --action addPage
  • Some parameters are flags (boolean) and must not be followed by a value - example: --verbose
  • Parameter names are case sensitive, but, action values are not - example: --userid is invalid but --action addpage is equivalent to --action addPage
  • Some parameters become required once a specific action is chosen. This is indicated in the help text for each value.
  • Some parameters have both short (one letter) and long (more than one letter) parameter names - example: -a or --action are the same
  • Some parameters have default values, if so, they are indicated below - example: (default: automation)
  • Some parameters are required - indicated by (...) - example: (-a|--action) <action>
  • Some parameters are optional - indicated by [...] - example: [(-f|--file) <file>]
  • Values that have more than one word must be enclosed by double quotes - example: --title "this is my title"

  crowd [--help] (-a|--action) <action> [(-f|--file) <file>] [--encoding <encoding>] [--debug] [-v|--verbose] [--quiet]
  [--outputFormat <outputFormat>] [--sql <sql>] [--driver <driver>] [--url <url>] [--host <host>] [--port <port>] [--database
  <database>] [--continue] [--simulate] (-s|--server) <server> (-u|--user) <user> (-p|--password) <password> [--login <login>]
  [--service <service>] [-l|--loginFromStandardInput] [--api <api>] [--directory <directory>] [--group <group>] [--userId <userId>]
  [--userFullName <userFullName>] [--userEmail <userEmail>] [--userPassword <userPassword>]

	Provides capability to make requests to a remote server.
	Required parameters: action, server, password.
	Optional parameters: user (likely required for your installation).
	Other required and optional parameters depending on action requested.

        Prints this help message.

  (-a|--action) <action>
        Requested operation to perform. Valid actions (not case sensitive) are:
        login - Login is a null operation for this service.
        	 Required parameters: password
        	 Optional parameters: user
        logout - Logout is a null operation for this service.
        run - Run script.
        	 Required parameters: file
        	 Optional parameters: continue, simulate, encoding
        runFromSql - Run script generated from SQL.
        	 Required parameters: sql or file, url or host, driver, database
        	 Optional parameters: host, port, url, continue, simulate, encoding
        getDirecory - Get directory information.
        	 Required parameters: directory
        	 Optional parameters: file
        getUser - Get user information.
        	 Required parameters: directory, userId
        	 Optional parameters: file
        getGroup - Get group information.
        	 Required parameters: directory, userId
        	 Optional parameters: file
        getDirectoryList - Get a list of directories.
        	 Optional parameters: file
        getUserList - Get a list of users from a directory that match the partial userId specified. Defaults to all users in the
        	 Required parameters: directory
        	 Optional parameters: userId, file
        getGroupList - Get a list of groups from a directory that match the partial group specified. Defaults to all group in the
        	 Required parameters: directory
        	 Optional parameters: group, file
        addUser - Add a new user.
        	 Required parameters: userId
        	 Optional parameters: userFullName, userEmail, userPassword
        addUserWithFile - Add users from comma separated file.
        	 Required parameters: file
        removeUser - Remote a user.
        	 Required parameters: userId
        removeUserWithFile - Remove users from comma separate file.
        	 Required parameters: file
        addGroup - Add a new group.
        	 Required parameters: group
        removeGroup - Remove a group.
        	 Required parameters: group
        	 Optional parameters: defaultGroup
        addUserToGroup - Add user to a group.
        	 Required parameters: userId, group
        	 Optional parameters: autoGroup
        addUserToGroupWithFile - Add users to groups from comma separated file.
        	 Required parameters: file
        	 Optional parameters: autoGroup
        removeUserFromGroup - Remove user from a group.
        	 Required parameters: userId, group
        removeUserFromGroupWithFile - Remove users from groups from comma separated file.
        	 Required parameters: file

  [(-f|--file) <file>]
        Path to file based content or result output

  [--encoding <encoding>]
        Character encoding (character set) for text based file content - must be an encoding supported by your JAVA platform.

        Requests debug output, example: stack traces.

        Requests verbose output.

        Limit some output messages.

  [--outputFormat <outputFormat>]
        Specify output format for an action. (default: 1)

  [--sql <sql>]
        SQL select statement used to generate a run script.

  [--driver <driver>]
        JDBC driver class or predefined value: postgresql, mysql, mssql, oracle, or db2400. Required for SQL actions.

  [--url <url>]
        Action specific setting. Example: Database access url for SQL actions. Optional when host is provided.

  [--host <host>]
        Database host server for SQL actions. Not used if url is provided. (default: localhost)

  [--port <port>]
        Database host port for SQL actions. Optional, defaults to database default. Not used if url is provided.

  [--database <database>]
        Database name is required for SQL actions.

        Continue processing even after errors are encountered.

        Simulate running actions. Log the action that would be taken.

  (-s|--server) <server>
        Server URL.

  (-u|--user) <user>
        User name for remote login. (default: automation)

  (-p|--password) <password>
        User password for remote login.

  [--login <login>]
        Login token from previous login request.

  [--service <service>]
        Service address extension. (default: /rest/)

        Get login token from standard input.

  [--api <api>]
        API version. Some requests produce different results based on the api version used. Use 0 for latest. (default: 0)

  [--directory <directory>]
        Directory name.

  [--group <group>]
        Group name.

  [--userId <userId>]
        User id for user management and other actions.

  [--userFullName <userFullName>]
        User name for user management actions.

  [--userEmail <userEmail>]
        User email for user management actions.

  [--userPassword <userPassword>]
        User password for user management actions.
Care is taken to return the appropriate exit codes to the command processor. This makes it possible and easier to do error handling in automation scripts. Error messages are normally directed to standard out with more detailed error logging output directed to standard error.



Atlassian CLI Family of Tools describes the products that make up the Atlassian CLI (ACLI) family. This pages describes the licensing requirements and dependencies for using the products.


The Atlassian Command Line Interface (CLI) family of products are licensed commercially under the Bob Swift Atlassian Apps EULA.

  • Use requires the purchase or subscription of at least one of the products listed on Atlassian CLI Family of Tools
  • Customers should select the product or products that match their needs
  • At least one product must be purchased for each Atlassian server instance they need to connect to


Frequently asked questions regarding licensing and purchasing CLI products. If you have additional questions, click on the Questions link in the page header (sign in required - see Help).

General License Information 

See Licenses.


  • The client distribution ships binaries with various licenses (BSD, LGPL, and Apache)
  • Look in the license directory for detailed license information

Related Information

Atlassian CLI Family of Tools

Use the Bob Swift CLI on your desktop, server, or embedded in the most popular Atlassian apps.

CLI Clients / Connectors

Run CLI Actions

  • A downloadable CLI Client, paired with an app installed CLI Connector*.
  • Execute CLI actions on your Windows, Mac, or Linux desktop or server.
    • Perform both routine and obscure admin or operational tasks with powerful actions rather than scripts. One command can do so much!
    • Incorporate that same power into scripts to simplify and extend them.
    • Use external data from CSV files, databases, and other apps to perform bulk operations.
    • Migrate data to, from, and between different apps.
    • Trust that the CLI remains consistent even as apps and their APIs change.
  • All-in-one embedded solution.
    All the power of every CLI client —embedded in your Atlassian app.  
  • Execute CLI actions right within your Atlassian apps:
    • via workflow functions or UI in Jira
    • via macros in Confluence
    • via tasks in Bamboo
    • via hooks in Bitbucket
  • Integrate and automate any CLI supported external app. 





Bitbucket Cloud

*Not all supported apps require an app installed connector.