Confluence Publisher
pendingby Riccardo Petraglia
Sync the active note to Confluence using the REST API.
Confluence Publisher
Sync the active note from Obsidian to Confluence using the REST API. The plugin converts Obsidian-flavored Markdown to HTML (Confluence storage format) and updates or creates pages in your target space.
Features
- Convert Markdown to Confluence storage HTML.
- Update existing pages by frontmatter page ID or by title lookup.
- Create new pages under an optional parent page.
- Store Confluence page ID back into frontmatter.
Setup
- Install dependencies:
npm install - Build the plugin:
npm run build - Copy
main.js,manifest.json, andstyles.cssto your vault plugin folder (e.g..obsidian/plugins/confluence-publisher/). - Enable the plugin in Obsidian.
- Configure settings: base URL, space key, auth email, and API token.
Usage
- Run the command:
Sync active note to Confluence. - The plugin will look for a frontmatter field (default
confluence-page-id) to update an existing page. - If no page ID is found, it searches by title in the configured space and updates the first match.
- Otherwise, it creates a new page and stores the page id in frontmatter. You can override the parent page per note using frontmatter (default key
confluence-parent-page-id).
Syncing a Page
- Open the note you want to sync.
- Open the Command Palette and run
Sync active note to Confluence. - On success, the plugin writes the Confluence page ID back to frontmatter.
Getting Confluence Details
Space key
- From URL:
https://your-domain.atlassian.net/wiki/spaces/ENG/overview-> space key isENG. - From Space settings: Overview/Details lists the space key.
API token (Confluence Cloud)
- Visit
https://id.atlassian.com/manage-profile/security/api-tokens. - Click "Create API token", name it, and copy the token.
- Use your Atlassian account email + this token in the plugin settings.
Parent page ID
- From URL:
.../wiki/spaces/SPACE/pages/123456789/Page+Title-> page ID is123456789. - From API:
GET .../wiki/rest/api/content?title=Page%20Title&spaceKey=SPACEand readresults[0].id.
Notes
- Wiki links are converted to Confluence URLs when possible (via frontmatter page ID or title match). Unresolved wiki links are left as
[[...]]. - Non-image embeds (
![[file]]) are converted to plain text markers; attachments other than images are not uploaded yet. - Image embeds (
![[image.png]]) and Markdown image links to local files are uploaded as Confluence attachments and embedded in the page. - Confluence base URL should include
/wikifor Confluence Cloud (e.g.https://your-domain.atlassian.net/wiki).
Troubleshooting
- 404 errors usually mean the base URL is wrong or the page ID/space key is invalid. The base URL should be the site root (include
/wikifor Cloud) and must not include/rest/api. - If you set
confluence-page-id, make sure the page exists and you have access; otherwise remove it to force create.
Community Plugin Release Checklist
- Update
manifest.jsonversion andpackage.jsonversion to match the release tag (e.g.0.1.1). - Run
npm run buildand verifymain.jsis generated. - Create a GitHub release tagged
vX.Y.Zand uploadmain.js,manifest.json, andstyles.cssas assets. - Submit a PR to
obsidianmd/obsidian-releasesupdatingcommunity-plugins.jsonwith this plugin entry.
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.