Skip to content

feat(confluence): add Cloud page actions and polling triggers - #15953

Open
erichare wants to merge 79 commits into
release-1.14.0from
fix/le-3195-confluence-integrations
Open

erichare wants to merge 79 commits into
release-1.14.0from
fix/le-3195-confluence-integrations

Conversation

@erichare

@erichare erichare commented Oct 22, 2026 •

Copy link
Copy Markdown
Member

Confluence Cloud gains page search, read, create and version-checked update actions, plus page-created and page-updated polling triggers. Connections use the shared OAuth broker and bind each verified grant to one operator-configured Cloud site. Approved numeric spaces constrain targets. The new confluence_integrations category preserves the legacy ConfluenceComponent and its existing category.

Actions support hosted and self-managed deployments with an operator-owned confidential OAuth app. Triggers support self-managed polling after a silent baseline. Creation uses the original page timestamp, so moving an old page into a space does not manufacture a creation event. Polling observes latest versions and can miss intermediate edits, deletions and access gaps. Data Center, Desktop, headless manual credentials, hosted triggers and push delivery remain unsupported.

This PR depends on 15947 and includes its shared runtime and later-provider contract prerequisite commits. Real tenant authorization, provider app distribution, live writes and production delivery acceptance remain unverified. Owner acceptance stays pending in the versioned capability contract.

Verification

Tests used the pre-provisioned validation environment with UV_PROJECT_ENVIRONMENT set and UV_NO_SYNC=1. Source paths selected this worktree rather than installed editables.

PYTHONPATH="$PWD/src/lfx/src:$PWD/src/bundles/confluence/src" uv run --no-sync pytest src/bundles/confluence/tests -q

45 passed. The entire test process blocks backend imports.

PYTHONPATH="$PWD/src/backend/base:$PWD/src/lfx/src:$PWD/src/bundles/confluence/src" uv run --no-sync pytest src/backend/tests/unit/services/triggers/test_confluence_provider.py src/backend/tests/unit/services/triggers/test_confluence_lifecycle.py src/backend/tests/unit/services/triggers/test_listener_provider_reload.py -q -o log_cli=false

45 passed. This includes seven database lifecycle cases through the actual registered listener adapter, durable delivery, dedupe, failed fetches, stale cursor commits, pause and owner, consent, identity, scope and policy denials.

uv build src/bundles/confluence --wheel --out-dir /private/tmp/le3195-dist
uv pip install --target /private/tmp/le3195-installed --no-deps /private/tmp/le3195-dist/lfx_confluence-0.1.0-py3-none-any.whl
PYTHONPATH="/private/tmp/le3195-installed:$PWD/src/backend/base:$PWD/src/lfx/src" uv run --no-sync python src/bundles/confluence/scripts/verify_wheel.py /private/tmp/le3195-installed "$PWD"

The wheel built and installed. Real metadata discovery loaded six integration components and two server trigger kinds alongside the unchanged legacy ConfluenceComponent.

uv run --no-sync pytest scripts/ci/test_release_inventory.py scripts/ci/test_bundle_profiles.py -q -o log_cli=false
uv run --no-sync python scripts/ci/check_capability_manifests.py
uv run --no-sync python scripts/ci/manage_bundle_profiles.py check
uv run --no-sync python scripts/ci/bundle_release_plan.py plan --base-ref origin/release-1.14.0 --check --output /private/tmp/le3195-release-plan.json
uv lock --check --offline

26 registration tests passed. Capability contracts, bundle profiles, the new bundle release plan and the lock check passed. The lock check resolved 866 packages without unrelated dependency changes.

uv run --no-sync ruff check src/bundles/confluence src/backend/base/langflow/services/triggers/providers/confluence src/backend/tests/unit/services/triggers/confluence_testkit.py src/backend/tests/unit/services/triggers/test_confluence_provider.py src/backend/tests/unit/services/triggers/test_confluence_lifecycle.py
uv run --no-sync ruff format --check src/bundles/confluence src/backend/base/langflow/services/triggers/providers/confluence src/backend/tests/unit/services/triggers/confluence_testkit.py src/backend/tests/unit/services/triggers/test_confluence_provider.py src/backend/tests/unit/services/triggers/test_confluence_lifecycle.py
git diff --check

Ruff, formatting, whitespace checks and pre-commit passed. The full uv run --no-sync pytest scripts/ci -q -o log_cli=false rerun passed 679 tests with 1 skipped. Direct historical capability-matrix validation still reports pre-existing Google, Microsoft and Slack source verification dates older than 30 days. Those records were not changed.

Final review and verification addendum

uv run --no-sync pytest src/backend/tests/unit/test_lfx_bundles_extras.py -q -o addopts= -o cache_dir=/private/tmp/le-2477-confluence-review-cache --tb=short -o log_cli=false — 11 passed. Packaging checks compare declared component categories; negative cases still reject an actual collision. Installed discovery keeps legacy ConfluenceComponent beside the distinct confluence_integrations category.

uv run --no-sync pytest -q -p no:cacheprovider src/backend/tests/unit/services/triggers/test_confluence_provider.py -k 'oauth or dialog_scope or site_grant' — 19 passed, including actual site-grant intersection and read-only authorization.

The installed nine-provider validation passed 445 backend tests and built all 58 real component templates. The exact aggregate commands and shared-runtime results are recorded in #15947. Independent code, Python, and security review found no unresolved confirmed provider findings.

Source checkpoint: 6128e9557729ed6d29b6fe8f5439ee741645848d. GitHub Actions CI, Mend scan, and PR checks.

Real Confluence Cloud authorization, page polling, and tenant acceptance remain unverified.

Verification after October 23 review

Final head d4dffe227d includes the reviewed runtime and current release. The final release merge preserved the tested tree byte for byte. Shared runtime 7702a4a514 is included through #15947 and release commit 0b9eaeccdf. Conflicts are resolved. Provider code and contract registration were preserved, along with every existing translated value.

Backend commands used UV_NO_SYNC=1, UV_PROJECT_ENVIRONMENT=/private/tmp/secret-sync-oss-venv, and PYTHONPATH=src/backend/base:src/lfx/src:src/bundles/confluence/src:src/sdk/src. The existing environment was reused without syncing.

PYTHONPATH=src/lfx/src:src/bundles/confluence/src UV_PROJECT_ENVIRONMENT=/Users/erichare/GitHub/langflow/.venv uv run --no-sync pytest src/bundles/confluence/tests -q -o addopts= -o cache_dir=/private/tmp/open-pr-audit-20261023/confluence-merged-bundle-pytest --tb=short -o log_cli=false
# 45 passed
uv run --no-sync pytest src/backend/tests/unit/services/triggers/test_confluence_provider.py src/backend/tests/unit/services/triggers/test_confluence_lifecycle.py scripts/ci/test_provider_integration_contracts.py scripts/ci/test_release_inventory.py scripts/ci/test_bundle_profiles.py -q -o cache_dir=/private/tmp/open-pr-audit-20261023/confluence-merged-backend-pytest --tb=short -o log_cli=false
# 100 passed
git diff --check 0b9eaeccdf77abf37af994da89d458c82aad24e2 d4dffe227d3ec238f430736d7ca6d16bbf084c9b
# passed

Repository commit hooks and secret checks passed. Hosted CI is running on this head. Live tenant acceptance remains unverified.

Summary by CodeRabbit

  • New Features
    • Added a Confluence Cloud preview integration with page search, reading, creation, and version-checked updates.
    • Added self-managed polling previews for page-created and page-updated triggers, with documented limits.
    • Expanded connection setup to support provider access tokens and required expiration dates.
    • Added support for installing and validating additional trigger-provider integrations.
  • Documentation
    • Added setup, compatibility, and operational guidance for Confluence and trigger providers.

@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Oct 23, 2026
@github-actions

This comment has been minimized.

@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Oct 23, 2026
@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Oct 23, 2026
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Build successful! ✅
Deploying docs draft.
Deploy successful! View draft

@github-actions github-actions Bot added enhancement New feature or request and removed enhancement New feature or request labels Oct 23, 2026

This branch has not been deployed

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant