Package: jira2confluence-gantt
Jira to Confluence gantt chart generatorTable of ContentsOverviewInstallationUsageConfigurationServer configurationProject configurationOverviewThis module has the objective to create a gantt chart from Jira data and
publish and publish the resulting chart and status on Confluence.
It provides different render engines, but it is easy to add its own custom
engine :InstallationFrom PyPI (Recommended)You can install the exporter easily with the following command or insert into
your requirements file :pip install jira2confluence-ganttFrom sourcesIt is recommended to use a virtual environment :python -m venv venvTo install the module and the main script, simply do :pip install .For the developers, it is useful to install extra tools like :pre-commitpytestThese tools can be installed with the following command :pip install .[dev]The Git hooks can be installed with :pre-commit installThe hooks can be run manually at any time :pre-commit run --all-fileUsageThe script with required argument can be started by executing the following
command :./jira2confluence-gantt my_config.yamlThe full list of arguments supported can be displayed with the following
helper :./jira2confluence-gantt.exe -h
usage: jira2confluence-gantt [-h] [-v] [config.yaml]

positional arguments:
  config.yaml    Configuration file

options:
  -h, --help     show this help message and exit
  -v, --verbose  Verbose modeConfigurationThe configuration file support 2 formats :YAML format(Recommended format)JSON formatIn the configuration file, there are 2 main sections required :ServerProjectsServer configurationTheServernode will configure the URL of the Jira and Confluence server.
For the moment, only the username/token authentication is supported.
The credentials could be defined with environment variables or.envfile.ATLASSIAN_USER=<your login>
ATLASSIAN_TOKEN=<your token>In Yaml :Server:Jira:"https://my.jira.server.com"Confluence:"https://my.confluence.server.com"In Json :{"Server":{"Jira":"https://my.jira.server.com","Confluence":"https://my.confluence.server.com"}}ServerMain configuration node for server.It is a mandatory field.JiraDefine the Jira server URL to retrieve tickets information to construct Gantt
chart.It is a mandatory field.ConfluenceDefine the Confluence server URL to publish the report.It is an optional field. If the confluence server isn't set, only the gantt
chart will be generated if the engine permit it.Project configurationTheProjectsnode will provide the configuration for each project.In Yaml :Projects:<Project name>:JQL:"project=TEST"Report:Engine:"PlantUML"# ConfluenceModel:"report.jinja2"Fields:Start date:"Startdate(WBSGantt)"End date:"Finishdate(WBSGantt)"Progress:"Progress(WBSGantt)"In Json :{"Projects":{"<Project name>":{"JQL":"project = TEST","Report":{"Engine":"PlantUML","Model":"report.jinja2"},"Fields":{"Start date":"Start date (WBSGantt)","End date":"Finish date (WBSGantt)","Progress":"Progress (WBSGantt)"}}}}ProjectsMain configuration node for all projects.It is a mandatory field.<Project name>Must be replaced by the name of the project. It is a mandatory field.
This name will be used as a title in the Gantt chart and also as a name in
Snake case format for the output gantt file.For example, the following configuration could produce an output fileMy_important_project.svg:In Yaml :Projects:My important project:JQL:"project=TEST"# ...In Json :{"Projects":{"My important project":{"JQL":"project = TEST"}}}JQLIn order to retrieve the list of tickets to construct the Gantt chart, Jira
provides a convenient syntax theJQL.It is a mandatory field.Some fields could use double quotes to preserve space in their names. The YAML
syntax provides a solution by replacing with simple quote or escaping like
JSON :In Yaml :JQL:'project="MYTEST"'In Json :{"JQL":"project = \"MY TEST\""}ReportFor each project, theReportnode must be defined to defined how it is
generated.It is a mandatory field.EngineThere are several engines available to produce Gantt chart :Confluencechart macro : Produce a chart with a builtin macro. The graph
will not include the dependency link.PlantUMLmacro : Produce a PlantUML graph which will be included in the
Confluence page with the PlantUML macro.It is an optional field. TheConfluenceengine will be used by default.In Yaml :Report:Engine:"PlantUML"In Json :{"Report":{"Engine":"PlantUML"}}SpaceTheSpaceattribute is used to defined the Confluence destination space.It is a mandatory field.In Yaml :Report:Space:"SPACE"In Json :{"Report":{"Space":"SPACE"}}Parent pageTheParent pageattribute is used to define the Confluence parent page of the
report page.It is a mandatory field.In Yaml :Report:Parent page:"MyParentPage"In Json :{"Report":{"Parent page":"My Parent Page"}}LegendTheLegendattribute is used to define if a legend is added in the gantt
chart.It is a mandatory field, by default the legend is not added.In Yaml :Report:Legend:trueIn Json :{"Report":{"Legend":true}}Model (Not implemented yet)TheModeltemplate is a filename written withJinja2.
It will define how the Confluence page will be rendered.
The template usesConfluence Wiki Markup.It is an optional field. the template contains only the Gantt chart.In Yaml :Report:Engine:"PlantUML"Model:"report.jinja2"In Json :{"Report":{"Engine":"PlantUML","Model":"report.jinja2"}}FieldsConfiguration node for all Jira fields used to construct Gantt chart.It is a mandatory field.In Yaml :These fields are most of the time the same for all projects and like all others
fields they could be aliased to avoid redefinition.In the following example, we define an anchorWbsFields:Server:# ...Fields:&WbsFieldsStart date:"Startdate(WBSGantt)"End date:"Finishdate(WBSGantt)"Progress:"Progress(WBSGantt)"Projects:Project name:JQL:"project=TEST"Fields:*WbsFieldsSecond project name:JQL:"project=TEST2"Fields:*WbsFieldsIn Json :{"Projects":{"Project name":{"Fields":{"Start date":"Start date (WBSGantt)","End date":"Finish date (WBSGantt)","Progress":"Progress (WBSGantt)",}}}}Start dateDefine the Jira field to use as a start date for task in Gantt chart.It is a mandatory field.End dateDefine the Jira field to use as a start date for task in Gantt chart.It is a mandatory field.ProgressDefine the Jira field to use as a percent of work done for task in Gantt chart.It is an optional field.LinkDefine the Jira inward link to use in order to define how the tasks could be
blocked by others tasks task in Gantt chart.It is an optional field. By default, the link used is "is blocked by"