Skip to main content

ConflKV is a Python library for managing key-value pairs stored in Confluence Pages through the REST API.

Project description

ConflKV

ConflKV is a Python library for managing key-value pairs stored in Confluence pages using the Confluence REST API. It simplifies working with the storage format of Confluence pages, enabling operations like fetching, updating, inserting, deleting, and searching for key-value pairs.

This can be especially useful for automating documentation updates from a CI/CD pipelines to proactively preventing documentation drift.


Features

  • Fetch all key-value pairs from a Confluence page.
  • Insert new key-value pairs while avoiding duplicates.
  • Update or replace existing key-value pairs.
  • Delete key-value pairs with optional error handling for missing keys.
  • Search for specific keys with configurable error handling.
  • Set a custom HTML header with an associated key-value table.

Usage

Below is an example of how to use ConflKV to manage key-value pairs in a Confluence page.

import os  # For managing environment variables
from conflkv import PageManager

# Initialize the PageManager with your Confluence credentials and page details
app1_doc_page = PageManager(
    page_id="25559043",  # Replace with your Confluence page ID
    server_url=f'https://{os.environ["CONFLUENCE_INSTANCE"]}.atlassian.net',
    auth_username=os.environ["CONFLUENCE_USERNAME"],
    auth_token=os.environ["CONFLUENCE_TOKEN"],
)

# Set up the page with an HTML header and a key-value table
app1_doc_page.set_html_header(
    header="About",
    paragraph="This webpage is sample key-value store related to App1.",
    table_key="Key",
    table_value="Value",
)

data = confluence.fetchall()  # Retrieve all key-value pairs as a dictionary
confluence.replaceall(data)  # Replace all key-value pairs with a new dictionary

key_data = confluence.search("key", ok_if_missing=True)  # Search for a key; ignores missing keys if 'ok_if_missing' is True

confluence.insert("key", "value")  # Insert a new pair; raises an error if the key exists
confluence.replace("key", "new_value")  # Replace an existing pair; raises an error if the key doesn't exist
confluence.upsert("key", "value")  # Insert or update a key-value pair
confluence.delete("key", ok_if_missing=True)  # Delete a key; ignores missing keys if 'ok_if_missing' is True

# Close the connection when done
confluence.close()

Configuration

Required Parameters

  • page_id: The ID of the Confluence page to manage.
  • server_url: The base URL of your Confluence instance (e.g., https://your-instance.atlassian.net).
  • auth_username: Your Confluence username or email.
  • auth_token: A personal access token generated in Confluence for API access.

Environment Variables (Optional)

For secure handling of credentials, it is recommended to set the following environment variables:

  • CONFLUENCE_INSTANCE
  • CONFLUENCE_USERNAME
  • CONFLUENCE_TOKEN

Trademarks

Confluence is a registered trademark of Atlassian. This library is not affiliated with, endorsed by, or sponsored by Atlassian.

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

conflkv-0.0.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

conflkv-0.0.1-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file conflkv-0.0.1.tar.gz.

File metadata

  • Download URL: conflkv-0.0.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for conflkv-0.0.1.tar.gz
Algorithm Hash digest
SHA256 afe06d8f17181a0717f6b178ac2937d225d75524cf34e929b649a5454814866a
MD5 40119d260bf28773b43441eda7c16313
BLAKE2b-256 e894e9fd9c545d9b51fc53e10f28adf7a35559d563566ff0d81268a5c1ccb46e

See more details on using hashes here.

Provenance

The following attestation bundles were made for conflkv-0.0.1.tar.gz:

Publisher: publish.yml on dmoruzzi/conflKV

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conflkv-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: conflkv-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for conflkv-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c743caa2effdd1c9f214c07ef63c57e9dc9f5156dac8a98a7e78cf94e3d735be
MD5 e836c1aa8ff053a223073748c5799dc8
BLAKE2b-256 0eeca6f98ff61d6c7c0c580bc89814e73157929cb52c7328ebccfd38bd162781

See more details on using hashes here.

Provenance

The following attestation bundles were made for conflkv-0.0.1-py3-none-any.whl:

Publisher: publish.yml on dmoruzzi/conflKV

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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