Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Additionally, it includes a nested Page class for handling page-specific operations such as retrieving page content, replacing text within the content, and bulk replacing text based on a mapping. The class also allows authentication using email and token, and provides properties for authentication details and request headers.

Code Block
languagepy
# Instantiate Confluence object
confluence = Confluence(instance_url='https://your-confluence-instance-url.com', email='your-email@example.com', token='your-api-token')

# Retrieve a list of spaces
spaces = confluence.spaces
logger.info("Available Spaces:")
for space in spaces:
    logger.info(f"{space['key']} - {space['name']}")

# Create a new page in a space
space_key = 'SPACEKEY'
new_page_title = 'New Page Title'
new_page_content = 'Content of the new page'
new_page = confluence.create_page(spacekeyorid=space_key, title=new_page_title, content=new_page_content)
logger.info("New Page Created Successfully.")

# Retrieve a specific page by its page ID
page_id = 'page_id_here'
page = confluence.get_page(pid=page_id)

# Get the content of the page in storage format
page_content = page.storage
logger.info("Page Content:\n%s", page_content)

# Replace text within the page content
new_page_content = page.replace(actual_val='old_text', new_val='new_text')
logger.info("Page Content After Replacement:\n%s", new_page_content)

# Bulk replace text within the page content based on a mapping
text_mapping = {'old_text1': 'new_text1', 'old_text2': 'new_text2'}
bulk_replaced_content = page.bulk_replace(mapping=text_mapping)
logger.info("Page Content After Bulk Replacement:\n%s", bulk_replaced_content)