Skip to content

fix(confluence): populate metadata for page children - #1605

Merged
sooperset merged 2 commits into
sooperset:mainfrom
Cchena1:fix/1602-page-children-metadata
Aug 19, 2026
Merged

fix(confluence): populate metadata for page children#1605
sooperset merged 2 commits into
sooperset:mainfrom
Cchena1:fix/1602-page-children-metadata

Conversation

@Cchena1

@Cchena1 Cchena1 commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

confluence_get_page_children currently requests only version by default, so
the Confluence API response does not include the history fields used to populate
created, updated, and author.

Request history alongside version by default and keep version.when as the
fallback update timestamp when history is unavailable.

This follows the metadata expansion pattern previously addressed in #1117 and
#1480.

Fixes: #1602

Changes

  • Expand version,history by default when retrieving child pages.
  • Use version.when as the update timestamp fallback even when history is absent.
  • Add regression coverage for child-page metadata and version-only responses.
  • Update the generated Confluence tool documentation.

Testing

  • Unit tests added/updated
  • Integration tests passed
  • Manual checks performed: live Data Center response populated created, updated, and author; the shared Cloud hierarchy path also passed E2E.

Commands run:

  • uv run pytest tests/unit/models/test_confluence_page_model.py tests/unit/confluence/test_pages.py tests/unit/servers/test_confluence_server.py -xq
    • 226 passed
  • uv run pytest tests/integration/test_real_api.py::TestRealConfluenceAPI::test_page_hierarchy --integration --use-real-data -xv -ra
    • 1 passed
  • uv run pytest tests/e2e/test_confluence_dc_operations.py::TestConfluenceDCPageHierarchy::test_create_child_page --dc-e2e -xv -ra
    • 1 passed
  • uv run pytest tests/e2e/cloud/test_confluence_cloud_operations.py::TestConfluenceCloudPageHierarchy::test_create_child_page --cloud-e2e -xv -ra
    • 1 passed
  • Live Data Center metadata assertion
    • created, updated, and author populated
  • uv run python scripts/generate_tool_docs.py --check
  • Ruff format/lint and mypy checks on all changed Python files
  • git diff --check origin/main...HEAD

Maintainer verification (2026-08-20)

  • Ran the full unit suite: 3839 passed; the five skips are opt-in real-data model tests, and the targeted regression suite ran without skips (226 passed).
  • Re-ran the real Confluence hierarchy integration test with Cloud credentials: 1 passed with no skips.
  • Re-ran Data Center and Cloud hierarchy E2E tests: 1 passed each with no skips.
  • Re-ran a live Data Center metadata assertion: created, updated, and author were populated.
  • Re-ran generated tool documentation consistency: all 98 tools and 25 toolsets are current.
  • Confirmed the PR head remains mergeable with current main; all required CI checks are green.

Checklist

  • Code follows project style guidelines (linting passes).
  • Tests added/updated for changes.
  • All relevant tests pass locally.
  • Documentation updated (if needed).

@sooperset
sooperset merged commit 56b8b93 into sooperset:main Aug 19, 2026
8 checks passed
@mcp-atlassian-maintainer

Copy link
Copy Markdown
Contributor

Merged, @Cchena1. The paired regression tests for history-backed metadata and the version-only fallback made this fix easy to verify.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: confluence_get_page_children returns empty created/updated with the default expand

2 participants