Table of Contents
Confluence exporter is a module and a script used to export pages from Confluence. All the pages exported are merged in one document.
Currently, only the Pdf exporter is fully functional but it is planned to support others formats like :
- Word
- Markdown
You can install the exporter easily with the following command or insert into your requirements file :
pip install confluence-exporter
It is recommended to use a virtual environment :
python -m venv venv
To install the module and the main script, simply do :
pip install .
For the developers, it is useful to install extra tools like :
These tools can be installed with the following command :
pip install '.[dev]'
The Git hooks can be installed with :
pre-commit install
The hooks can be run manually at any time :
pre-commit run --all-file
The script with required argument can be started by executing the following command :
./confluence-export my_config.yaml
The full list of arguments supported can be displayed with the following helper :
./confluence-export.exe -h
usage: confluence-export [-h] [-v] [config.yaml]
positional arguments:
config.yaml Configuration file
options:
-h, --help show this help message and exit
-v, --verbose Verbose mode
The configuration file support 2 formats :
- YAML format (Recommended format)
- JSON format
In Yaml :
Server:
Confluence: "https://my.confluence.server.com"
Pages to export:
<Space Key 1>: "Page title 1"
<Space Key 2>:
- "Page title 1"
- "Page title 2"
In Json :
{
"Server": {
"Confluence": "https://my.confluence.server.com"
},
"Pages to export": {
"<Space Key 1>": "Page title 1",
"<Space Key 2>": [
"Page title 1",
"Page title 2"
]
}
}
The space key can be found easily in the URL of any page :
https://my_confluence_url.com/display/<Space key>/...
The Server
node will configure the URL of the Confluence server.
For the moment, only the username/token authentication is supported.
The credentials could be defined with environment variables or .env
file.
ATLASSIAN_USER=<your login>
ATLASSIAN_TOKEN=<your token>
In Yaml :
Server:
Confluence: "https://my.confluence.server.com"
In Json :
{
"Server": {
"Confluence": "https://my.confluence.server.com"
}
}
Main configuration node for server.
It is a mandatory field.
Define the Confluence server URL to get the pages.
It is a mandatory field.
The Pages to export
node will configure the list of pages to export by space.
It could be one page only or a list of pages.
In Yaml :
Pages to export:
<Space Key 1>: "Page title 1"
<Space Key 2>:
- "Page title 2"
- "Page title 3"
In Json :
{
"Pages to export": {
"<Space Key 1>": "Page title 1",
"<Space Key 2>": [
"Page title 2",
"Page title 3"
]
}
}
Main configuration node for exporter.
It is a mandatory field.
Define the space key that include the pages to export. The value associated
could be a string or a list of string corresponding to the pages title to
export.
It is a mandatory field.