← DocBrancher Overview Open Workbench

How to Publish Multi-File GitHub Markdown to Confluence Cloud Without Broken Links

Updated

Direct Answer: DocBrancher synchronizes multi-file GitHub Markdown repositories to Confluence Cloud using a two-pass tree compiler. Pass 1 indexes every Markdown file and heading anchor across the pinned Git commit SHA; Pass 2 rewrites relative Markdown links (such as ../setup.md#install) into Confluence Storage XHTML ac:link and ri:page macros, fingerprints attachments with SHA-256, and runs a read-only destination preflight before publishing.

Why Single-File Markdown Importers Break Repository Documentation

When engineering teams copy or import Markdown files one by one into Confluence Cloud, relative file paths like ../architecture/security-model.md or ./assets/diagram.png either point to 404 GitHub paths or break completely. Furthermore, unguarded scripts overwrite manual hotfixes made by product managers or SREs directly in Confluence.

<!-- Broken single-file import -->
<a href="../setup.md#install">Setup Guide</a>

<!-- DocBrancher Pass-2 Confluence Storage XHTML -->
<ac:link ac:anchor="install">
  <ri:page ri:content-title="Setup &amp; Provisioning Guide" ri:space-key="ENG" />
  <ac:plain-text-link-body><![CDATA[Setup Guide]]></ac:plain-text-link-body>
</ac:link>

Two-Pass Tree Resolution & Read-Only Destination Preflight

Before writing a single byte to Confluence Cloud, DocBrancher runs a read-only preflight check against the destination space. The preflight plan classifies every selected Markdown file as create, update, skip (when the SHA-256 content hash matches), or conflict (when the remote Confluence page version advanced past the last synced version).

Version-Checked Human-Edit Conflict Protection

If a colleague edits a Confluence page directly in the browser (advancing the remote page from v3 to v4), DocBrancher pauses publication for that page and presents a side-by-side comparison between the remote Confluence Storage XHTML and the proposed GitHub commit.

Frequently Asked Questions

Does DocBrancher require users to paste personal Atlassian API tokens?

No. DocBrancher is architected for Atlassian Forge installation authentication and OAuth 2.0 (3LO) destination binding, and explicitly rejects raw user API token collection.

How does DocBrancher prevent duplicate attachment uploads?

Every referenced image or binary asset is fingerprinted with SHA-256 and mapped to a collision-resistant filename. Unchanged attachments are skipped during publication.