=======================
openpyxl-redmine manage
=======================

.. note::

    Below *etest-manage* is used in the examples. To perform real work
    replace *etest* by the acronym of the Redmine project procedure to be
    worked with (e.g. pmo, erd, crd...).

.. warning::

    Good practice is to start each session with your working Redmine project
    by using the workflow_in_redmine command to certify that it's the right
    Redmine project.

Overview
--------

The manage module is a placeholder for request handling. Currently it
only provides two functions (associated with lone tasks, those w/o children
and therefore not workflows) which can be expected as part of request
management.

Authorization and execution is identical to that described in the workflow
chapter and not repeated here.

Manage commands
---------------

Use the -h request to view module help text. Currently it shows:

::

    $ etest-manage $API_key -h
    usage: etest-manage [-h] [--username USERNAME] password {lone_tasks,
    lone_delete} ...

    positional arguments:
      password              if --username then password, else user's API key
      {lone_tasks,lone_delete}
        lone_tasks          list lone tasks in Redmine
        lone_delete         delete lone task in Redmine

    optional arguments:
      -h, --help            show this help message and exit
      --username USERNAME   account with access rights to EuXFEL Redmine

Admin command parameters
------------------------

Use the sub-command -h to view sub-command help text, e.g.

::

    $ etest-manage $API_key lone_tasks -h
    usage: etest-manage password lone_tasks [-h]

    optional arguments:
      -h, --help  show this help message and exit

A cut-and-paste from source code listing for all sub-commands shows:

::

    sub_commands = {
        'lone_tasks':
            {'help': 'list lone tasks in Redmine',
             'params': []},
        'lone_delete':
            {'help': 'delete lone task in Redmine',
             'params': [('id', int, 'id of anchor task')]},
    }

lone_tasks
----------

Dumps a list of lone (w/o children) tasks in the Redmine
project, these are top level request tasks.

::

    $ etest-manage $API_key lone_tasks
    Caching Redmine Tasks - Wait!
    Redmine Caching Finished -  151 Tasks
    83562 First task in ETEST

lone_delete
-----------

Not recommended, but sometimes it is necessary to delete a lone task.

::

    etest-workflow API_key lone_delete 83562

.. warning::

    Use with care!