Confluence Markdown Import

  1. Confluence Markdown Imported
  2. Convert Confluence To Markdown

Import from Bitbucket, Github and Gitlab Instantly render markdown including table, text, and HTML formatting in Confluence pages. +1-416-273-6883 / +1-855-366-8444. Compare DokuWiki vs MediaWiki and 16 other options side by side to learn 'What are the best multi-user wikis?'

Latest version


Publish to and manage Confluence spaces with markdown files tracked in Git.

Project description

With Junction you can write and manage your documentation directly in your codebase, using Markdown and your existing Git workflows (pull requests, code review, release branches, etc) and then automatically publish your changes to Confluence. This gives you the best of both worlds: in-repo documentation that fits natively into your development workflows, with the discoverability and centrality of Confluence.

Ensure you are using Python 3.8 (or newer); Junction does not work with older versions of Python. Install using pip:

This will install the library and CLI.In your Python code:

In your shell:


Junction works by inspecting the changes made on a commit-by-commit basis to your Git repository, and determining what needs to be changed in Confluence to reflect those changes. Junction (currently) expects to manage the entire space in Confluence. Thus when using Junction you must tell it which Space to target and update. You must not manually change, create, or modify pages in the target space, or else Junction may be unable to synchronize the state in Git with the state in Confluence.

To allow mixing code (and other items) with markdown files for Junction in a single repository, you can tell Junction a subpath within your repository that functions as the root e.g. all markdown files will be kept in docs/. All files should end with the .md extension.

The page will gets its title from the file name, and its contents will be translated into Confluence markup. See this example for what output looks like in Confluence.

Collect a set of credentials that Junction will use to login to Confluence. You will need to create an API token to use instead of a password. I recommend you make a dedicated user account with access permissions limited to the space(s) you want to manage with Junction.

In your git repository, create a folder structure and markdown files you would like to publish. Commit those changes.

Junction is designed as a library, and also provides 'helpers' that make using it in different contexts easy (in particularly, as part of automated workflows e.g. in post-push builds).

The simplest way to use Junction is the included CLI junction:

You can put the API, user, and key into environment variables to avoid specifying them for every invocation of Junction. The variables are CONFLUENCE_API, CONFLUENCE_API_USER, and CONFLUENCE_API_KEY respectively.

Cheap small suv cars. The CLI is fully documented, so make use of the --help option to navigate all of the configuration options.

Dry Run

Confluence Markdown Imported

You can check what the junction CLI will do to your space without actually uploading the changes to Confluence by using the --dry-run flag.

Python Library

Using the Python library will let you create your own wrappers and tools, for example an AirFlow DAG. Here is an equivalent of the above CLI usage in Python:

The following markdown sample, stored in, produces a page in Confluence that looks like this. This shows all of the major supported features and markup. It is intentionally very similar to GitHub-style markdown, with some extensions and differences to account for Confluence-specific features.

This is a hobby project of mine, and I may not be able to work on it immediately upon request. If you are interested in contributing, feel free to open a PR by following the contribution guidelines.

Release historyRelease notifications RSS feed




Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for confluence-junction, version 0.1.1
Filename, sizeFile typePython versionUpload dateHashes
Filename, size confluence_junction-0.1.1-py3-none-any.whl (34.2 kB) File type Wheel Python version py3 Upload dateHashes
Filename, size confluence-junction-0.1.1.tar.gz (31.8 kB) File type Source Python version None Upload dateHashes

Hashes for confluence_junction-0.1.1-py3-none-any.whl

Hashes for confluence_junction-0.1.1-py3-none-any.whl
AlgorithmHash digest

Convert Confluence To Markdown


Hashes for confluence-junction-0.1.1.tar.gz

Hashes for confluence-junction-0.1.1.tar.gz
AlgorithmHash digest