Skip to main content

No project description provided

Project description

ConfluenPy

ConfluenPy is a Python package that allows you to interact with Atlassian Confluence via the REST API to programmatically create and update documentation pages content.

License pylint Build/Release Coverage

Example usage

# Example usage
confluence = atlassian.Confluence(
    url="https://example.atlassian.net/",
    username="your.user@company.com",
    password=os.getenv("CONFLUENCE_API_TOKEN"),
)

page = Page(title="WonderDocs", space="IsVast", confluence=confluence)

# Add a table of contents
page.body.toc()
# Add a horizontal rule
page.body.horizontal_rule()
# Takes the Readme.md file and converts it to confluence format
markdown = MarkdownToConfluenceConverter.convert_file(
    Path(__file__).parent / "README.md"
)
# Only takes the second section of the markdown file
page.body.content += markdown.section(2)

# Upload any local images referenced in the markdown
for file in MarkdownToConfluenceConverter.local_images_to_be_uploaded:
    page.attach_content(
        content=file.open("rb"),
        name=file.name,
    )

# Adds some more content
page.body.heading("h1", "Biggest heading")
page.body.block_quote("This is a paragraph")
page.body.code_block(title="tt", content="Wonderful code")

# Update the page
page.update()

Installation

Simply install the package using pip:

pip install confluenpy

Usage

Confluence pages are represented by the Page class. The page content is handled by a PageBody object, which represents it in the confluence wiki markup. The following confluence macros are also supported via the wiki markup (see the MacroMixin class for details): - toc - code block

Markup support

The MarkdownToConfluenceConverter class allows to convert markdown to confluence wiki markup. The following markdown elements are supported:

- headings
- code blocks
- images (both public and local to the repository, see the example above)
- links
- lists (ordered and unordered)

Regular markup notation is also supported (bold, italic..).

Example:

This content:

# Header

## Header

- list level 1
- list level 2

1. numbered list 1
2. numbered list 2

[here](https://www.google.com)
![python](python.png)

will be converted to:

h1. Header

h2. Header

* list level 1
** list level 2

# numbered list 1
## numbered list 2

[here|https://www.google.com]
![python|python.png]

Project details


Download files

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

Source Distribution

confluenpy-0.1.26.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

confluenpy-0.1.26-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file confluenpy-0.1.26.tar.gz.

File metadata

  • Download URL: confluenpy-0.1.26.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for confluenpy-0.1.26.tar.gz
Algorithm Hash digest
SHA256 e36ce5c610bef22b1e8feb881ef09fb4cbb53362c4785eb2da05bf8db51e89b5
MD5 e527916e271464fa27b8f6c4a368ca25
BLAKE2b-256 bac75ac9253c9cbba6391ce724f12ad318744477566661416a7e39f34537ed71

See more details on using hashes here.

File details

Details for the file confluenpy-0.1.26-py3-none-any.whl.

File metadata

  • Download URL: confluenpy-0.1.26-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for confluenpy-0.1.26-py3-none-any.whl
Algorithm Hash digest
SHA256 0e3d314c03896f7dbf56226e30c204e13f429ffd3ccd086f8dcf7cf280696480
MD5 0dc5b689c0cfad5eb87e5e15e353b80f
BLAKE2b-256 0baba97fd90c7f5ce797738dce75db83d99fb40bbc70428d60bac58fc1b29934

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page