.. image:: https://img.shields.io/hexpm/l/plug.svg
:target: http://www.apache.org/licenses/LICENSE-2.0
=============================
JIRA to TaskJuggler Convertor
=============================
Tool for converting a set of JIRA tasks to TaskJuggler (TJ3) syntax.
----
Goal
----
When using JIRA to track your project, and tasks/issues are estimated using the time-tracking plugin, this python
module can convert the JIRA tasks to a gantt chart using the `TaskJuggler <http://taskjuggler.org/>`_ tool.
------------
Installation
------------
Installation from PyPI:
.. code::
pip install mlx.jira-juggler
-----
Usage
-----
See help from python module:
.. code::
jira-juggler -h
By default, the following endpoint for the JIRA API is used: *https://melexis.atlassian.net*.
The script will ask you to input your email address (or username) and API token (or password). These three
variables can be configured by setting them in a *.env* file. This *.env* file shall be located in the directory where
pip has installed the package. You can find an example configuration in *.env.example*. JIRA Cloud requires the
combination of email address and API token, while JIRA Server might accept a username and password.
.. note::
To include resolved **and** unresolved tasks while excluding invalid tasks, you can add the following logic to the
value for the `--query` argument: `(resolution != Invalid OR resolution = Unresolved)`.
.. warning::
The generated tj3-file, can at the moment not be parsed by TaskJuggler directly. Only the tasks are exported
to the tj3-file. The list of tasks needs to be embedded in a complete tj3-file. See the
`TaskJuggler website <http://taskjuggler.org/>`_ for more details.
.. note::
Unresolved tasks with logged time, i.e. time spent, will have their 'start' property set to the set current date
and time minus the logged time, calculated with 8 hours per workday and a default of 5 allocated workdays per week
with the day(s) off ending on Sunday. The latter number can be changed.
-----------
Limitations
-----------
When two tasks end on the same date and time, TaskJuggler won't necessarily preserve the order in which the tasks
appear in jira-juggler's output.
Raw data
{
"_id": null,
"home_page": "https://github.com/melexis/jira-juggler",
"name": "mlx.jira-juggler",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "Jira,taskjuggler,gantt,project planning,planning,software engineering",
"author": "Jasper Craeghs",
"author_email": "jce@melexis.com",
"download_url": "https://files.pythonhosted.org/packages/0d/cd/6e0e0bc36e9d4041059ebfbd819441640215fa7a531e9cd10fae926c1f72/mlx.jira_juggler-3.3.0.tar.gz",
"platform": "any",
"description": ".. image:: https://img.shields.io/hexpm/l/plug.svg\n :target: http://www.apache.org/licenses/LICENSE-2.0\n\n=============================\nJIRA to TaskJuggler Convertor\n=============================\n\nTool for converting a set of JIRA tasks to TaskJuggler (TJ3) syntax.\n\n----\nGoal\n----\n\nWhen using JIRA to track your project, and tasks/issues are estimated using the time-tracking plugin, this python\nmodule can convert the JIRA tasks to a gantt chart using the `TaskJuggler <http://taskjuggler.org/>`_ tool.\n\n------------\nInstallation\n------------\n\nInstallation from PyPI:\n\n.. code::\n\n pip install mlx.jira-juggler\n\n-----\nUsage\n-----\n\nSee help from python module:\n\n.. code::\n\n jira-juggler -h\n\nBy default, the following endpoint for the JIRA API is used: *https://melexis.atlassian.net*.\nThe script will ask you to input your email address (or username) and API token (or password). These three\nvariables can be configured by setting them in a *.env* file. This *.env* file shall be located in the directory where\npip has installed the package. You can find an example configuration in *.env.example*. JIRA Cloud requires the\ncombination of email address and API token, while JIRA Server might accept a username and password.\n\n.. note::\n\n To include resolved **and** unresolved tasks while excluding invalid tasks, you can add the following logic to the\n value for the `--query` argument: `(resolution != Invalid OR resolution = Unresolved)`.\n\n.. warning::\n\n The generated tj3-file, can at the moment not be parsed by TaskJuggler directly. Only the tasks are exported\n to the tj3-file. The list of tasks needs to be embedded in a complete tj3-file. See the\n `TaskJuggler website <http://taskjuggler.org/>`_ for more details.\n\n.. note::\n\n Unresolved tasks with logged time, i.e. time spent, will have their 'start' property set to the set current date\n and time minus the logged time, calculated with 8 hours per workday and a default of 5 allocated workdays per week\n with the day(s) off ending on Sunday. The latter number can be changed.\n\n-----------\nLimitations\n-----------\n\nWhen two tasks end on the same date and time, TaskJuggler won't necessarily preserve the order in which the tasks\nappear in jira-juggler's output.\n\n\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "A Python script for extracting data from Jira, and converting to TaskJuggler (tj3) output",
"version": "3.3.0",
"project_urls": {
"Homepage": "https://github.com/melexis/jira-juggler"
},
"split_keywords": [
"jira",
"taskjuggler",
"gantt",
"project planning",
"planning",
"software engineering"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea2f31b765e8a89845063fe69b0b42509313fadd4c8b8324509e78c51660cb62",
"md5": "f08d8e429dca12529f9fd447c65d6c58",
"sha256": "546de2b27c446d7730e8d664149f852814053203e32c16066f0d712f21fd15d0"
},
"downloads": -1,
"filename": "mlx.jira_juggler-3.3.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "f08d8e429dca12529f9fd447c65d6c58",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7",
"size": 16984,
"upload_time": "2023-12-13T12:00:44",
"upload_time_iso_8601": "2023-12-13T12:00:44.787115Z",
"url": "https://files.pythonhosted.org/packages/ea/2f/31b765e8a89845063fe69b0b42509313fadd4c8b8324509e78c51660cb62/mlx.jira_juggler-3.3.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0dcd6e0e0bc36e9d4041059ebfbd819441640215fa7a531e9cd10fae926c1f72",
"md5": "105dded9656b7f76ad63d12551924994",
"sha256": "2676447cf4e849c90b6ad14e16854240f56492b47dbefbc713d805137f82c88d"
},
"downloads": -1,
"filename": "mlx.jira_juggler-3.3.0.tar.gz",
"has_sig": false,
"md5_digest": "105dded9656b7f76ad63d12551924994",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 22792,
"upload_time": "2023-12-13T12:00:47",
"upload_time_iso_8601": "2023-12-13T12:00:47.120672Z",
"url": "https://files.pythonhosted.org/packages/0d/cd/6e0e0bc36e9d4041059ebfbd819441640215fa7a531e9cd10fae926c1f72/mlx.jira_juggler-3.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-13 12:00:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "melexis",
"github_project": "jira-juggler",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "mlx.jira-juggler"
}