diff options
| author | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-03 16:27:03 +0100 | 
|---|---|---|
| committer | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-03 16:27:03 +0100 | 
| commit | 0ee53e0c5853c08b69d21ba6b89bd1bf8ee6bb18 (patch) | |
| tree | c2e7913f8a3fcdab53b5296933bad9d7030bfc77 /docs/cli.rst | |
| parent | 2a93c629ef88ffbe2564d154fa32fc723a4b0ea9 (diff) | |
| download | gitlab-0ee53e0c5853c08b69d21ba6b89bd1bf8ee6bb18.tar.gz | |
Document the CLI
Diffstat (limited to 'docs/cli.rst')
| -rw-r--r-- | docs/cli.rst | 130 | 
1 files changed, 127 insertions, 3 deletions
diff --git a/docs/cli.rst b/docs/cli.rst index 2c03901..fc4b7b2 100644 --- a/docs/cli.rst +++ b/docs/cli.rst @@ -1,4 +1,128 @@ -Command line usage -================== +#################### +``gitlab`` CLI usage +#################### -Document here how to use command line tool +``python-gitlab`` provides a :command:`gitlab` command-line tool to interact +with GitLab servers. It uses a configuration file to define how to connect to +the servers. + +Configuration +============= + +Files +----- + +``gitlab`` looks up 2 configuration files by default: + +``/etc/python-gitlab.cfg`` +    System-wide configuration file + +``~/.python-gitlab.cfg`` +    User configuration file + +You can use a different configuration file with the :option:`--config-file` +option. + +Content +------- + +The configuration file uses the ``INI`` format. It contains at least a +``[global]`` section, and a new section for each GitLab server. For example: + +.. code-block:: ini + +   [global] +   default = somewhere +   ssl_verify = true +   timeout = 5 + +   [somewhere] +   url = https://some.whe.re +   private_token = vTbFeqJYCY3sibBP7BZM + +   [elsewhere] +   url = http://else.whe.re:8080 +   private_token = CkqsjqcQSFH5FQKDccu4 +   timeout = 1 + +The ``default`` option of the ``[global]`` section defines the GitLab server to +use if no server is explitly specified with the :option:`--gitlab` CLI option. + +The ``[global]`` section also defines the values for the default connexion +parameters. You can override the values in each GitLab server section. + +.. list-table:: Global options +   :header-rows: 1 + +   * - Option +     - Possible values +     - Description +   * - ``ssl_verify`` +     - ``True`` or ``False`` +     - Verify the SSL certificate. Set to ``False`` if your SSL certificate is +       auto-signed. +   * - ``timeout`` +     - Integer +     - Number of seconds to wait for an answer before failing. + +You must define the ``url`` and ``private_token`` in each GitLab server +section. + +.. list-table:: GitLab server options +   :header-rows: 1 + +   * - Option +     - Description +   * - ``url`` +     - URL for the GitLab server +   * - ``private_token`` +     - Your user token. Login/password is not supported. + +CLI +=== + +Objects and actions +------------------- + +The ``gitlab`` command expects two mandatory arguments. This first one is the +type of object that you want to manipulate. The second is the action that you +want to perform. For example: + +.. code-block:: console + +   $ gitlab project list + +Use the :option:`--help` option to list the available object types and actions: + +.. code-block:: console + +   $ gitlab --help +   $ gitlab project --help + +Some actions require additional parameters. Use the :option:`--help` option to +list mandatory and optional arguments for an action: + +.. code-block:: console + +   $ gitlab project create --help + +Optional arguments +------------------ + +Use the following optional arguments to change the behavior of ``gitlab``. +These options must be defined before the mandatory arguments. + +``--verbose``, ``-v`` +    Outputs detail about retrieved objects. + +``--config-file``, ``-c`` +    Path to a configuration file. + +``--gitlab``, ``-g`` +    ID of a GitLab server defined in the configuration file. + +Example: + +.. code-block:: console + +   $ gitlab -v -g elsewhere -c /tmp/gl.cfg project list  | 
