<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Yamuno</title>
    <description>The latest articles on DEV Community by Yamuno (@yamuno101).</description>
    <link>https://dev.to/yamuno101</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3894350%2F6becc7cb-035b-4a32-98a2-71b6857aa7fd.png</url>
      <title>DEV Community: Yamuno</title>
      <link>https://dev.to/yamuno101</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yamuno101"/>
    <language>en</language>
    <item>
      <title>Best Atlassian Marketplace Apps for Technical Documentation in 2026</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Tue, 12 May 2026 10:34:21 +0000</pubDate>
      <link>https://dev.to/yamuno-software/best-atlassian-marketplace-apps-for-technical-documentation-in-2026-3cc9</link>
      <guid>https://dev.to/yamuno-software/best-atlassian-marketplace-apps-for-technical-documentation-in-2026-3cc9</guid>
      <description>&lt;h1&gt;
  
  
  Best Atlassian Marketplace Apps for Technical Documentation in 2026
&lt;/h1&gt;

&lt;p&gt;Confluence out of the box is solid for general team documentation. For technical documentation specifically — API references, runbooks, architecture records, data science notebooks, engineering wikis — it has gaps. The native editor isn't built for developers, math rendering doesn't exist, and moving content in and out requires manual reformatting.&lt;/p&gt;

&lt;p&gt;The Marketplace fills most of these gaps. This is a category-by-category look at which apps are worth installing for technical teams, covering markdown support, math/equations, HTML embeds, and attachment management.&lt;/p&gt;




&lt;h2&gt;
  
  
  Category 1: Markdown Support
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Developers write in markdown. Confluence doesn't speak markdown natively. This creates a translation tax — content written in a repo, a README, or a docs-as-code workflow has to be manually reformatted when it enters Confluence.&lt;/p&gt;

&lt;p&gt;The inverse is also true: documentation written in Confluence can't easily leave it. Export options produce mediocre HTML or PDFs, not clean markdown that can live in a Git repo.&lt;/p&gt;

&lt;h3&gt;
  
  
  Markdown Renderer for Confluence
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238017/markdown-renderer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Renderer for Confluence&lt;/a&gt; adds a macro to the Confluence editor that renders markdown inline. Paste markdown into the macro body, save the page, and it renders — tables, code blocks, math, task lists, all of it. No conversion step.&lt;/p&gt;

&lt;p&gt;This is the right tool when you want to write and maintain markdown directly inside Confluence without migrating your workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; developers who prefer writing in markdown, teams embedding markdown content from other sources, documentation where the source needs to stay readable as plain text.&lt;/p&gt;

&lt;h3&gt;
  
  
  Markdown Importer &amp;amp; Exporter for Confluence
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence-markdown-exporter?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Importer for Confluence &amp;amp; Markdown Exporter&lt;/a&gt; handles bulk movement of content: import a ZIP of markdown files, a GitHub repository, or a single file — and export Confluence pages back to markdown.&lt;/p&gt;

&lt;p&gt;It preserves hierarchy (folder structure becomes page tree), converts internal links, handles frontmatter, and exposes a REST API for CI/CD pipeline integration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; migrating documentation from GitHub, GitLab, Notion, or any markdown-native source into Confluence; maintaining docs-as-code workflows where Confluence is the published output.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other options:&lt;/strong&gt; There are a few other markdown import tools on the Marketplace. Most are Connect-based (externally hosted), which introduces data routing concerns for teams with strict data residency requirements. Markdown Importer is Forge-native — all processing happens inside Atlassian infrastructure.&lt;/p&gt;




&lt;h2&gt;
  
  
  Category 2: Math and Equations
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Technical documentation for engineering, data science, and academic teams frequently needs equations. Confluence has no native math rendering. Your options without an app are: screenshots (bad for accessibility and editability), plain text approximations, or external image generators with manual embed.&lt;/p&gt;

&lt;h3&gt;
  
  
  LaTeX Math for Confluence
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238016/latex-math-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;LaTeX Math for Confluence&lt;/a&gt; adds a Forge-native LaTeX macro that renders equations server-side. Write standard LaTeX syntax, get rendered math on the page — both inline and display (block) modes supported.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tex"&gt;&lt;code&gt;&lt;span class="k"&gt;\int&lt;/span&gt;&lt;span class="p"&gt;_{&lt;/span&gt;0&lt;span class="p"&gt;}^{&lt;/span&gt;&lt;span class="k"&gt;\infty&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; e&lt;span class="p"&gt;^{&lt;/span&gt;-x&lt;span class="p"&gt;^&lt;/span&gt;2&lt;span class="p"&gt;}&lt;/span&gt; dx = &lt;span class="k"&gt;\frac&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\sqrt&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="k"&gt;\pi&lt;/span&gt;&lt;span class="p"&gt;}}{&lt;/span&gt;2&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The macro handles the full LaTeX math environment: fractions, summations, integrals, matrices, Greek letters, operator names — anything in the standard math mode command set.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; machine learning documentation, engineering specifications, scientific research, academic writing published to Confluence, or any technical content where equations need to be editable (not screenshots).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Other options:&lt;/strong&gt; MathJax-based browser-side renderers exist on the Marketplace. They work, but rendering happens client-side — which can produce flash-of-unstyled-content issues and inconsistency across exported PDFs. Server-side rendering (Forge) is more reliable for documentation that needs to be exported or printed.&lt;/p&gt;




&lt;h2&gt;
  
  
  Category 3: Diagrams and Visuals
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Architecture diagrams, flow charts, and sequence diagrams are core to technical documentation. They need to be editable by team members, not just the original author who exported a PNG from their laptop.&lt;/p&gt;

&lt;h3&gt;
  
  
  What's Available
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;draw.io / Diagrams.net for Confluence&lt;/strong&gt; is the dominant tool here. It's widely used, has good Confluence integration, and supports UML, BPMN, network diagrams, and general flowcharts. It's a Connect app (externally hosted by JGraph), which is worth knowing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gliffy&lt;/strong&gt; is the other major option — similar capabilities, longer history in the Confluence ecosystem. Also Connect-based.&lt;/p&gt;

&lt;p&gt;For code-based diagrams (Mermaid, PlantUML, Graphviz), there are several Forge-native apps emerging that let you write diagram definitions as text and render them inline. This fits well with docs-as-code workflows where diagrams should be version-controllable.&lt;/p&gt;

&lt;p&gt;Yamuno doesn't currently publish a diagram app. The draw.io and Gliffy integrations are solid choices for general diagram needs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Category 4: HTML and Code Embeds
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Some technical documentation needs custom HTML — embedded interactive demos, styled tables that go beyond Confluence's native capabilities, custom callout boxes, or content migrated from an HTML-based documentation system.&lt;/p&gt;

&lt;p&gt;Confluence strips raw HTML by default for security reasons. The native editor provides no HTML passthrough.&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML Macro for Confluence
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238018/html-macro-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;HTML Macro for Confluence&lt;/a&gt; adds a Forge-native macro that renders raw HTML on Confluence pages. Write or paste HTML into the macro body and it renders in-page.&lt;/p&gt;

&lt;p&gt;This is useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Interactive embeds&lt;/strong&gt; — API sandbox widgets, embedded iframes, interactive demos&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom styled tables&lt;/strong&gt; — when the native Confluence table editor isn't flexible enough&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Migrated content&lt;/strong&gt; — documentation originally written in HTML that needs to land in Confluence without losing formatting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom callout layouts&lt;/strong&gt; — info boxes, warning panels, or custom visual elements not available natively&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Security note: HTML rendering is controlled by Confluence admins. The macro respects Confluence's content security policies — scripts and external resource loading are subject to the same controls as the rest of the instance.&lt;/p&gt;




&lt;h2&gt;
  
  
  Category 5: Attachment Management
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Technical documentation accumulates attachments — build artifacts, design files, exported reports, architecture diagrams, release packages. Over time, Confluence spaces fill with orphaned attachments, duplicate files, and files nobody can find because there's no organization layer.&lt;/p&gt;

&lt;p&gt;The native Confluence attachment experience is minimal: files attached to pages, a basic list view, no folder structure, no bulk operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advanced Attachment Manager for Confluence
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238019/advanced-attachment-manager-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Advanced Attachment Manager for Confluence&lt;/a&gt; adds structured attachment management to Confluence pages — folder organization, version tracking, bulk upload/download, and better search across attachments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good for:&lt;/strong&gt; teams that use Confluence pages to distribute files (release packages, build artifacts, design assets), engineering teams running design review or release management in Confluence, documentation spaces where attachments are first-class content.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Evaluate Marketplace Apps
&lt;/h2&gt;

&lt;p&gt;Two things worth checking before installing any Marketplace app:&lt;/p&gt;

&lt;h3&gt;
  
  
  Forge vs Connect
&lt;/h3&gt;

&lt;p&gt;Forge apps run inside Atlassian's infrastructure. Your data never routes through an external server. This matters for teams with data residency requirements, SOC 2 compliance obligations, or strict network policies.&lt;/p&gt;

&lt;p&gt;Connect apps (labeled "server" or with an external vendor hosting model) route data through the vendor's servers. This is fine for many teams but is worth understanding upfront — especially for apps that process documentation content.&lt;/p&gt;

&lt;p&gt;All Yamuno apps are Forge-native. On any app's Marketplace listing, the hosting model is listed under the app details.&lt;/p&gt;

&lt;h3&gt;
  
  
  Permissions and Scopes
&lt;/h3&gt;

&lt;p&gt;Check what Confluence and Jira permissions an app requests at install time. A diagram app that requests write access to your entire Confluence space should prompt questions. Most legitimate apps request narrow, sensible scopes — if something seems excessive, read the privacy policy and check the vendor's security documentation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Need&lt;/th&gt;
&lt;th&gt;App&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Write markdown in Confluence&lt;/td&gt;
&lt;td&gt;Markdown Renderer for Confluence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Import/export markdown in bulk&lt;/td&gt;
&lt;td&gt;Markdown Importer &amp;amp; Exporter for Confluence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LaTeX equations&lt;/td&gt;
&lt;td&gt;LaTeX Math for Confluence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Diagrams&lt;/td&gt;
&lt;td&gt;draw.io or Gliffy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raw HTML embeds&lt;/td&gt;
&lt;td&gt;HTML Macro for Confluence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attachment organization&lt;/td&gt;
&lt;td&gt;Advanced Attachment Manager for Confluence&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All Yamuno apps are available on the &lt;a href="https://marketplace.atlassian.com/vendors/1225473" rel="noopener noreferrer"&gt;Atlassian Marketplace&lt;/a&gt; — free to try, Forge-native.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building a Jira Dashboard That Actually Tells You Something</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 07 May 2026 10:26:51 +0000</pubDate>
      <link>https://dev.to/yamuno-software/building-a-jira-dashboard-that-actually-tells-you-something-43m0</link>
      <guid>https://dev.to/yamuno-software/building-a-jira-dashboard-that-actually-tells-you-something-43m0</guid>
      <description>&lt;h1&gt;
  
  
  Building a Jira Dashboard That Actually Tells You Something
&lt;/h1&gt;

&lt;p&gt;Most Jira dashboards are abandoned within a month of being created. They start with good intentions — someone sets up a few gadgets, shares the link in Slack, and declares victory. Two sprints later, nobody opens it because the numbers don't mean anything or the widgets are always stale.&lt;/p&gt;

&lt;p&gt;The problem isn't Jira. It's that dashboards get built around what's easy to surface rather than what decisions they're supposed to support.&lt;/p&gt;

&lt;p&gt;This post covers how to think about Jira dashboards, what metrics actually matter, and how to set up charts that a real team will check daily.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Makes a Dashboard Useless
&lt;/h2&gt;

&lt;p&gt;Before getting into what works, it's worth naming the failure modes. Most bad Jira dashboards share a few characteristics:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Too many widgets.&lt;/strong&gt; A dashboard with 12 gadgets isn't 4x as useful as one with 3 — it's less useful because nothing stands out. If everything is visible, nothing is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wrong time horizon.&lt;/strong&gt; A sprint burndown chart that resets every two weeks doesn't help you plan the quarter. A velocity trend over one sprint isn't a trend. Match the widget to the time horizon of the question you're asking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Metrics that measure activity, not outcomes.&lt;/strong&gt; "Issues created this week" tells you your team is logging tickets. It doesn't tell you whether the project is on track. Issues closed vs committed is a more honest number.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No audience.&lt;/strong&gt; A dashboard built for standup looks completely different from one built for an exec review. Mixing those purposes produces something that's mediocre for both.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Metrics That Actually Matter
&lt;/h2&gt;

&lt;p&gt;Here are the five metrics worth tracking for most software teams, and why:&lt;/p&gt;

&lt;h3&gt;
  
  
  Sprint Burndown
&lt;/h3&gt;

&lt;p&gt;The most immediate signal. Are you on track to complete your sprint commitment? A healthy burndown slopes steadily toward zero. A flat line mid-sprint means work isn't getting closed. A cliff at the end means scope wasn't broken down properly.&lt;/p&gt;

&lt;p&gt;Track it per sprint. The shape matters as much as the final number.&lt;/p&gt;

&lt;h3&gt;
  
  
  Velocity (Rolling Average)
&lt;/h3&gt;

&lt;p&gt;Sprint velocity — story points or issue count completed per sprint — is useful when you look at it over 4–8 sprints. A single sprint's velocity is noise. A rolling average is a planning input.&lt;/p&gt;

&lt;p&gt;Watch for velocity swings greater than ±30% — those usually point to estimation drift, unplanned work, or sprint scope changes worth discussing in retrospectives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cycle Time
&lt;/h3&gt;

&lt;p&gt;How long does an issue take from "In Progress" to "Done"? Cycle time is one of the most diagnostic metrics in software delivery. High cycle times for small issues usually indicate blockers, review bottlenecks, or unclear acceptance criteria. High variance means your process is inconsistent.&lt;/p&gt;

&lt;p&gt;This is the metric most teams skip and then wonder why estimates are always wrong.&lt;/p&gt;

&lt;h3&gt;
  
  
  Blockers by Assignee
&lt;/h3&gt;

&lt;p&gt;How many blocked issues does each person have? This is a team health metric disguised as a workload metric. If one person has 5 blocked issues and everyone else has zero, that's a structural problem — not an individual one.&lt;/p&gt;

&lt;p&gt;Surface this in your standup dashboard so blockers get visibility before they become incidents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Issues Without Assignees
&lt;/h3&gt;

&lt;p&gt;Work that's been created but not picked up. In a healthy sprint this number should be low. In a backlog it's expected. When it climbs during a sprint, it usually means scope crept in through the side door.&lt;/p&gt;




&lt;h2&gt;
  
  
  Setting Up Charts with Charts for Jira Dashboard
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/842672747/charts-reports-and-graphs-for-jira-dashboard?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Charts - Reports and Graphs for Jira Dashboard&lt;/a&gt; is a Forge-native gadget that adds a proper charting layer to Jira dashboards. It supports bar charts, line charts, pie charts, and burndown-style visualizations — all configured directly in the dashboard without needing external tools or BI integrations.&lt;/p&gt;

&lt;h3&gt;
  
  
  Adding a Chart Gadget
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open your Jira dashboard (or create a new one)&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add gadget&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Search for &lt;strong&gt;Charts&lt;/strong&gt; — select the Charts gadget&lt;/li&gt;
&lt;li&gt;Configure the data source: choose your project, board, or a saved JQL filter&lt;/li&gt;
&lt;li&gt;Select the chart type&lt;/li&gt;
&lt;li&gt;Set your grouping dimension — status, assignee, priority, sprint, label, component&lt;/li&gt;
&lt;li&gt;Set the time range&lt;/li&gt;
&lt;li&gt;Save&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The gadget renders immediately and stays live — data updates automatically as issues change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Grouping Options Worth Knowing
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Group by status&lt;/strong&gt; gives you a distribution view — how many issues are in each workflow state. Useful for spotting pileups (10 issues in "In Review," 2 in "Done" — something's blocking review).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Group by assignee&lt;/strong&gt; shows workload distribution. Combine with a filter for a specific sprint and you can see at a glance if load is balanced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Group by label or component&lt;/strong&gt; is useful for teams that run mixed-project sprints — you can see how effort is distributed across workstreams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Group by sprint&lt;/strong&gt; over multiple sprints gives you the velocity trend you need for planning conversations.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three Dashboard Layouts for Different Audiences
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Standup Dashboard
&lt;/h3&gt;

&lt;p&gt;Audience: the team. Time horizon: current sprint.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Widget&lt;/th&gt;
&lt;th&gt;What It Shows&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sprint burndown&lt;/td&gt;
&lt;td&gt;Are we on track?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blocked issues by assignee&lt;/td&gt;
&lt;td&gt;What needs unblocking?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Issues in each status&lt;/td&gt;
&lt;td&gt;Where is work piling up?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Issues without assignees&lt;/td&gt;
&lt;td&gt;What hasn't been picked up?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Keep this to 4 widgets maximum. The goal is a 60-second read at 9am.&lt;/p&gt;

&lt;h3&gt;
  
  
  Exec / Stakeholder Dashboard
&lt;/h3&gt;

&lt;p&gt;Audience: non-engineering leadership. Time horizon: current quarter.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Widget&lt;/th&gt;
&lt;th&gt;What It Shows&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Velocity trend (rolling 6 sprints)&lt;/td&gt;
&lt;td&gt;Is the team's throughput stable?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Epic progress (% complete)&lt;/td&gt;
&lt;td&gt;Are we hitting roadmap milestones?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Issues by priority (open)&lt;/td&gt;
&lt;td&gt;What's the risk surface?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Releases completed this quarter&lt;/td&gt;
&lt;td&gt;Shipping cadence&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Avoid sprint-level detail here. Execs want quarter-level signal, not sprint noise.&lt;/p&gt;

&lt;h3&gt;
  
  
  Retrospective Dashboard
&lt;/h3&gt;

&lt;p&gt;Audience: the team. Time horizon: completed sprint.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Widget&lt;/th&gt;
&lt;th&gt;What It Shows&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Sprint burndown (completed sprint)&lt;/td&gt;
&lt;td&gt;Did we hit the commitment?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cycle time distribution&lt;/td&gt;
&lt;td&gt;Were estimates accurate?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unresolved issues carried over&lt;/td&gt;
&lt;td&gt;What spilled?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Velocity vs previous sprint&lt;/td&gt;
&lt;td&gt;Did throughput improve?&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This dashboard exists to feed the retro conversation, not to survive past it. Create it, run the retro, archive it.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Note on JQL Filters
&lt;/h2&gt;

&lt;p&gt;Every chart in Charts for Jira is backed by a JQL filter. Learning a few patterns makes dashboard configuration much faster:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- Current sprint, this project
project = MYPROJ AND sprint in openSprints()

-- Blocked issues
project = MYPROJ AND status = "Blocked"

-- Issues completed in last 30 days
project = MYPROJ AND status = Done AND resolutiondate &amp;gt;= -30d

-- High priority, unassigned
project = MYPROJ AND priority = High AND assignee is EMPTY
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save your most-used filters in Jira's filter management — then reference them by name when configuring gadgets rather than re-entering JQL each time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Install &lt;a href="https://marketplace.atlassian.com/apps/842672747/charts-reports-and-graphs-for-jira-dashboard?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Charts - Reports and Graphs for Jira Dashboard&lt;/a&gt; from the Atlassian Marketplace. It's Forge-native and works on Jira Cloud.&lt;/p&gt;

&lt;p&gt;Full documentation is at &lt;a href="https://dev.to/docs/charts-for-jira-dashboard"&gt;/docs/charts-for-jira-dashboard&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Docs as Code: How to Export Confluence to Git-Ready Markdown</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Sun, 03 May 2026 09:23:26 +0000</pubDate>
      <link>https://dev.to/yamuno-software/docs-as-code-how-to-export-confluence-to-git-ready-markdown-2clg</link>
      <guid>https://dev.to/yamuno-software/docs-as-code-how-to-export-confluence-to-git-ready-markdown-2clg</guid>
      <description>&lt;h1&gt;
  
  
  Docs as Code: How to Export Confluence to Git-Ready Markdown
&lt;/h1&gt;

&lt;p&gt;Docs-as-code treats documentation like source code: written in plain text, versioned in Git, reviewed in pull requests, and deployed through a CI/CD pipeline. The format is almost always Markdown.&lt;/p&gt;

&lt;p&gt;Confluence doesn't fit this model natively. Its export produces HTML or PDF — neither of which belongs in a Git repository. But for many teams, Confluence is where the documentation actually gets written and reviewed. Replacing it isn't always an option.&lt;/p&gt;

&lt;p&gt;The practical solution: use Confluence as the editing surface and Git as the source of truth. Export Confluence to Markdown on a cadence, commit the output, and let your pipeline handle the rest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt; is built for exactly this workflow.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Confluence Cloud&lt;/strong&gt; (the app requires Forge and runs on Cloud only)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt;&lt;/strong&gt; installed on your Confluence instance&lt;/li&gt;
&lt;li&gt;A Git repository with a &lt;code&gt;docs/&lt;/code&gt; folder (or equivalent)&lt;/li&gt;
&lt;li&gt;Optionally: a static site generator like MkDocs or Docusaurus&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1 — Structure Your Confluence Space for Export
&lt;/h2&gt;

&lt;p&gt;The exporter preserves your Confluence page hierarchy as a folder structure. If your pages are organised logically in Confluence, the output will be organised logically on disk.&lt;/p&gt;

&lt;p&gt;A Confluence structure like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Documentation (space root)
├── Getting Started
│   ├── Installation
│   └── Quick Start
├── Architecture
│   ├── Overview
│   └── API Reference
└── Operations
    └── Runbooks
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Becomes this folder structure in the exported ZIP:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docs/
├── Getting Started/
│   ├── Installation.md
│   └── Quick Start.md
├── Architecture/
│   ├── Overview.md
│   └── API Reference.md
└── Operations/
    └── Runbooks.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Most static site generators — MkDocs, Docusaurus, Jekyll, Eleventy — can work directly with this structure.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2 — Configure Filename Patterns
&lt;/h2&gt;

&lt;p&gt;Consistent filenames matter in a Git repo. If file names change between exports, Git treats the old file as deleted and the new one as added — losing commit history.&lt;/p&gt;

&lt;p&gt;Markdown Exporter lets you define a filename pattern using tokens:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Token&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;{title}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The Confluence page title&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;{date}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Export date in &lt;code&gt;YYYY-MM-DD&lt;/code&gt; format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;{id}&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The Confluence page ID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For a stable docs-as-code workflow, use &lt;code&gt;{title}&lt;/code&gt; only — so filenames stay consistent across exports as long as page titles don't change. If you need uniqueness guarantees even when titles change, add &lt;code&gt;{id}&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3 — Enable YAML Front Matter
&lt;/h2&gt;

&lt;p&gt;Most static site generators read metadata from YAML front matter at the top of Markdown files. Enable it in the exporter and configure which fields to include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;API Reference&lt;/span&gt;
&lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Platform Team&lt;/span&gt;
&lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-04-23&lt;/span&gt;
&lt;span class="na"&gt;space&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;DOCS&lt;/span&gt;
&lt;span class="na"&gt;confluence_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;789012"&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also add &lt;strong&gt;custom key-value fields&lt;/strong&gt; — useful for tagging pages with a &lt;code&gt;category&lt;/code&gt;, &lt;code&gt;product&lt;/code&gt;, or &lt;code&gt;version&lt;/code&gt; that your site generator uses to build navigation or filter content.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 4 — Export and Commit
&lt;/h2&gt;

&lt;p&gt;Run the export from the Confluence space or page tree you want to publish:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;•••&lt;/strong&gt; → &lt;strong&gt;Export to Markdown&lt;/strong&gt; on the root page, or open from the Apps menu&lt;/li&gt;
&lt;li&gt;Set scope to &lt;strong&gt;Include Child Pages&lt;/strong&gt; or &lt;strong&gt;Full Space&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Enable YAML front matter and set your filename pattern&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Export&lt;/strong&gt; and download the ZIP&lt;/li&gt;
&lt;li&gt;Extract the ZIP over your &lt;code&gt;docs/&lt;/code&gt; folder in the repository&lt;/li&gt;
&lt;li&gt;Commit: &lt;code&gt;git add docs/ &amp;amp;&amp;amp; git commit -m "docs: sync from Confluence 2026-04-23"&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;On the next CI run, your pipeline picks up the updated Markdown and publishes the new docs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Works With MkDocs and Docusaurus
&lt;/h2&gt;

&lt;h3&gt;
  
  
  MkDocs
&lt;/h3&gt;

&lt;p&gt;The exported folder structure maps directly to MkDocs nav. A minimal &lt;code&gt;mkdocs.yml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;site_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Platform Docs&lt;/span&gt;
&lt;span class="na"&gt;docs_dir&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;docs&lt;/span&gt;
&lt;span class="na"&gt;nav&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;Getting Started&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;docs/Getting Started/Installation.md&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;docs/Getting Started/Quick Start.md&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;Architecture&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;docs/Architecture/Overview.md&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;docs/Architecture/API Reference.md&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or let MkDocs auto-generate nav from the folder structure with the &lt;code&gt;awesome-pages&lt;/code&gt; plugin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Docusaurus
&lt;/h3&gt;

&lt;p&gt;Place the extracted folder under &lt;code&gt;docs/&lt;/code&gt; in your Docusaurus repo. Docusaurus reads YAML front matter natively — the &lt;code&gt;title&lt;/code&gt; and &lt;code&gt;date&lt;/code&gt; fields will be picked up automatically. Enable autogenerated sidebars and the folder hierarchy becomes the sidebar structure.&lt;/p&gt;




&lt;h2&gt;
  
  
  Keeping Content in Sync
&lt;/h2&gt;

&lt;p&gt;For a lightweight sync loop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Export on a schedule&lt;/strong&gt; — run a full space export weekly, or per-section after each sprint&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review the diff&lt;/strong&gt; — &lt;code&gt;git diff docs/&lt;/code&gt; shows exactly what changed since the last export&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Commit and push&lt;/strong&gt; — let CI build and deploy the updated site&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For more frequent syncs, you can automate around the export step using browser automation or Confluence webhooks that trigger a reminder to re-export. The exporter itself is UI-driven and doesn't currently expose a REST API — so fully automated pipelines work best when paired with a scheduler that prompts the export step.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Export Handles
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text formatting&lt;/strong&gt; — headings, bold, italic, strikethrough, inline code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tables&lt;/strong&gt; — column alignment and header rows preserved&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code blocks&lt;/strong&gt; — fenced with language tag for syntax highlighting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lists&lt;/strong&gt; — ordered, unordered, nested, task lists&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images and attachments&lt;/strong&gt; — downloaded and referenced with relative paths&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal links&lt;/strong&gt; — converted to relative Markdown links between files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Info / note panels&lt;/strong&gt; — converted to blockquotes&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Install &lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt; free from the Atlassian Marketplace.&lt;/p&gt;

&lt;p&gt;Full documentation at &lt;a href="https://dev.to/docs/markdown-exporter-for-confluence"&gt;/docs/markdown-exporter-for-confluence&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions or feedback? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Write Markdown in Confluence Without Losing Formatting</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Sat, 02 May 2026 09:10:19 +0000</pubDate>
      <link>https://dev.to/yamuno-software/how-to-write-markdown-in-confluence-without-losing-formatting-4la1</link>
      <guid>https://dev.to/yamuno-software/how-to-write-markdown-in-confluence-without-losing-formatting-4la1</guid>
      <description>&lt;h1&gt;
  
  
  How to Write Markdown in Confluence Without Losing Formatting
&lt;/h1&gt;

&lt;p&gt;If you've ever pasted markdown into a Confluence page, you know what happens: the formatting disappears and you're left with raw asterisks, backticks, and pound signs. Confluence has its own editor — it doesn't interpret markdown syntax natively.&lt;/p&gt;

&lt;p&gt;That's a real problem for technical writers and engineers who write in markdown by default. You end up maintaining two versions of everything, or spending time manually reformatting content every time it moves.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238017/markdown-renderer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Renderer for Confluence&lt;/a&gt; solves this directly: add the macro to a page, write markdown inside it, and it renders live. No conversion, no reformatting, no copy-paste friction.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Confluence Doesn't Support Markdown Natively
&lt;/h2&gt;

&lt;p&gt;Confluence uses a proprietary storage format called Confluence Storage Format (XHTML-based). The editor works at that level — not at the markdown level. When you type in the editor, you're generating structured XML under the hood, not markdown.&lt;/p&gt;

&lt;p&gt;There's no built-in way to write &lt;code&gt;**bold**&lt;/code&gt; and have it render as &lt;strong&gt;bold&lt;/strong&gt;. You'd have to use the editor's toolbar, keyboard shortcuts, or Confluence macros. That workflow doesn't fit teams who live in markdown — documentation-as-code practitioners, developers writing runbooks, or technical writers migrating content from GitHub or Notion.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Markdown Renderer Does
&lt;/h2&gt;

&lt;p&gt;Markdown Renderer for Confluence is a Forge-native macro that renders markdown inline on a Confluence page. You insert the macro, paste or write your markdown inside it, and the page displays the rendered output — headings, tables, code blocks, math, and all.&lt;/p&gt;

&lt;p&gt;The key behaviors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live rendering&lt;/strong&gt; — what you write in the macro body renders as formatted content on save&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GFM support&lt;/strong&gt; — GitHub Flavored Markdown is fully supported, including tables, task lists, and strikethrough&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code blocks with syntax highlighting&lt;/strong&gt; — fenced code blocks with language identifiers render with proper highlighting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Math support&lt;/strong&gt; — inline and block LaTeX expressions via &lt;code&gt;$...$&lt;/code&gt; and &lt;code&gt;$$...$$&lt;/code&gt; syntax&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No external requests&lt;/strong&gt; — everything runs inside Confluence via Forge; your content never leaves Atlassian infrastructure&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How to Insert the Macro
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Open or create a Confluence page&lt;/li&gt;
&lt;li&gt;In the editor, type &lt;code&gt;/&lt;/code&gt; to open the macro browser&lt;/li&gt;
&lt;li&gt;Search for &lt;strong&gt;Markdown Renderer&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select it — a macro placeholder appears on the page&lt;/li&gt;
&lt;li&gt;Click into the macro body and write or paste your markdown&lt;/li&gt;
&lt;li&gt;Save the page&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. The macro renders on save, and any editor who opens the page for editing sees the raw markdown in the macro body — editable as plain text.&lt;/p&gt;




&lt;h2&gt;
  
  
  Markdown Features Supported
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Headings and Text
&lt;/h3&gt;

&lt;p&gt;Standard ATX-style headings (&lt;code&gt;#&lt;/code&gt;, &lt;code&gt;##&lt;/code&gt;, &lt;code&gt;###&lt;/code&gt;) render as Confluence heading levels. Emphasis (&lt;code&gt;*italic*&lt;/code&gt;, &lt;code&gt;**bold**&lt;/code&gt;), strikethrough (&lt;code&gt;~~text~~&lt;/code&gt;), and inline code (&lt;code&gt;`code`&lt;/code&gt;) all work as expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tables
&lt;/h3&gt;

&lt;p&gt;GFM pipe tables render correctly, including column alignment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;| Method | Endpoint         | Auth     |
| ------ | ---------------- | -------- |
| GET    | /api/v1/users    | Required |
| POST   | /api/v1/sessions | None     |
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is particularly useful for API documentation and reference tables — content types that are painful to build in the Confluence native editor.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code Blocks
&lt;/h3&gt;

&lt;p&gt;Fenced code blocks with language identifiers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
python
def parse_webhook(payload: dict) -&amp;gt; Event:
    return Event(
        type=payload["type"],
        data=payload.get("data", {}),
    )


&lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
`

Syntax highlighting is applied automatically based on the language tag.

### Math

If you're writing technical documentation that includes equations, the macro supports LaTeX math syntax:

```markdown
The time complexity is $O(n \log n)$.

$$
\sum_{i=1}^{n} x_i = \frac{n(n+1)}{2}
$$
```

This uses the same rendering pipeline as [LaTeX Math for Confluence](https://marketplace.atlassian.com/apps/1238016/latex-math-for-confluence?hosting=cloud&amp;amp;tab=overview) — equations render cleanly without needing a separate macro for simple cases.

### Task Lists

```markdown
- [x] Write the API spec
- [x] Review with backend team
- [ ] Update the runbook
- [ ] Notify stakeholders
```

These render as visual checkboxes, making them useful for runbooks, checklists, and release notes embedded in Confluence pages.

---

## Practical Tips for Technical Writers

**Keep your source in markdown.** If you're maintaining documentation in a Git repo, the Markdown Renderer macro lets you paste the current content into Confluence without reformatting it. When the source changes, you update the macro body. It's not automated sync (for that, use Markdown Importer's REST API), but it's fast enough for most workflows.

**Use one macro per logical section.** You don't have to put an entire page inside a single macro. Mix native Confluence content with markdown macro blocks — use the native editor for page layouts, comments, or Confluence-specific macros, and drop into the markdown macro for content-heavy sections.

**Watch your frontmatter.** If you paste markdown from a file that has YAML frontmatter (`---` block at the top), strip it before pasting — the renderer will display it as text. Frontmatter is handled at import time by Markdown Importer, not at render time.

**Tables with many columns.** Confluence pages have a fixed width. Very wide markdown tables can overflow the macro boundary. Either reduce the column count or apply a full-width page layout before inserting the macro.

---

## When to Use Markdown Renderer vs Markdown Importer

These are different tools for different problems:

| Scenario | Tool |
| -------- | ---- |
| Write markdown inline on a Confluence page | Markdown Renderer |
| Bring in a file, folder, or GitHub repo as Confluence pages | Markdown Importer |
| Automate doc sync via CI/CD | Markdown Importer (REST API) |
| Live markdown editing in Confluence | Markdown Renderer |

If your workflow is "write in markdown, publish to Confluence," you likely want both.

---

## Getting Started

Install [Markdown Renderer for Confluence](https://marketplace.atlassian.com/apps/1238017/markdown-renderer-for-confluence?hosting=cloud&amp;amp;tab=overview) from the Atlassian Marketplace. It's Forge-native, so no external server connections, no CSP exceptions, and no admin firewall approvals needed.

Full documentation is at [/docs/markdown-renderer-for-confluence](/docs/markdown-renderer-for-confluence).

---

_Questions? Reach out via our [support portal](https://yamuno.atlassian.net/servicedesk/customer/portals)._
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Yamuno is a Finalist for Atlassian Partner of the Year 2026: Marketplace Rising Star</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 30 Apr 2026 17:32:49 +0000</pubDate>
      <link>https://dev.to/yamuno-software/yamuno-is-a-finalist-for-atlassian-partner-of-the-year-2026-marketplace-rising-star-332c</link>
      <guid>https://dev.to/yamuno-software/yamuno-is-a-finalist-for-atlassian-partner-of-the-year-2026-marketplace-rising-star-332c</guid>
      <description>&lt;h1&gt;
  
  
  Yamuno is a Finalist for Atlassian Partner of the Year 2026: Marketplace Rising Star
&lt;/h1&gt;

&lt;p&gt;We have some exciting news to share: &lt;strong&gt;Yamuno has been named a finalist for the Atlassian Partner of the Year 2026: Marketplace Rising Star Award.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This recognition means a great deal to our team. The Atlassian Marketplace is home to thousands of apps, and being recognized as a Marketplace Rising Star is a reflection of the trust that Confluence and Jira users have placed in our products. We don't take that lightly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the Atlassian Partner of the Year 2026: Marketplace Rising Star Award?
&lt;/h2&gt;

&lt;p&gt;The Atlassian Partner Awards are given annually to recognize partners who demonstrate exceptional commitment to customer success, product quality, and growth within the Atlassian ecosystem. The &lt;strong&gt;Marketplace Rising Star&lt;/strong&gt; category specifically honors vendors who have shown outstanding momentum, adoption, and customer impact over the past year.&lt;/p&gt;

&lt;p&gt;Being named a finalist means Atlassian has recognized Yamuno among the top performers in this category — and that is something we are genuinely proud of.&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Journey on the Atlassian Marketplace
&lt;/h2&gt;

&lt;p&gt;Yamuno started with a single mission: build Forge-native apps that teams can actually trust. No external servers. No data leaving Atlassian infrastructure. Just reliable tools that do exactly what they promise.&lt;/p&gt;

&lt;p&gt;Over the past year, we've grown our portfolio to eight apps — all built on &lt;a href="https://developer.atlassian.com/platform/forge/" rel="noopener noreferrer"&gt;Atlassian Forge&lt;/a&gt; and focused on making Confluence and Jira more powerful for the people who use them every day:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231894" rel="noopener noreferrer"&gt;Markdown Importer for Confluence Cloud&lt;/a&gt;&lt;/strong&gt; — import and export markdown files, page trees, and entire spaces with full formatting support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt;&lt;/strong&gt; — export pages to clean, portable Markdown with YAML front matter, Obsidian wikilinks, and custom filename patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1670180315" rel="noopener noreferrer"&gt;HTML Macro for Confluence&lt;/a&gt;&lt;/strong&gt; — embed custom HTML, CSS, and JavaScript inside Confluence pages with enterprise CSP controls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1602849193" rel="noopener noreferrer"&gt;LaTeX Math for Confluence&lt;/a&gt;&lt;/strong&gt; — professional LaTeX equation rendering with live preview and access controls&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/842672747" rel="noopener noreferrer"&gt;Charts for Jira Dashboard&lt;/a&gt;&lt;/strong&gt; — interactive, customizable charts and tables built directly into your Jira dashboard&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238017" rel="noopener noreferrer"&gt;Markdown Macro for Confluence&lt;/a&gt;&lt;/strong&gt; — write, preview, and publish rich Markdown content natively in Confluence&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1238147" rel="noopener noreferrer"&gt;Advanced Attachment Manager for Confluence&lt;/a&gt;&lt;/strong&gt; — find, filter, and clean up attachments across your entire Confluence instance&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/726790413" rel="noopener noreferrer"&gt;PDF Exporter for Confluence&lt;/a&gt;&lt;/strong&gt; — export pages, hierarchies, or spaces to professionally formatted PDFs with custom templates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each app was built in response to real pain points we heard from the community — things teams needed but couldn't find a reliable solution for.&lt;/p&gt;

&lt;h2&gt;
  
  
  This Wouldn't Exist Without You
&lt;/h2&gt;

&lt;p&gt;Recognition like this isn't built in a vacuum. Every review left on the Marketplace, every support ticket that pushed us to make something better, every user who suggested a feature or reported an edge case — that community feedback is what shaped these products into what they are today.&lt;/p&gt;

&lt;p&gt;If you've been a Yamuno customer, this nomination belongs to you as much as it does to us. Thank you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;We're continuing to build. The same principles that got us here — Forge-native security, focus on real workflows, and responsiveness to user feedback — are what will drive everything we ship next.&lt;/p&gt;




&lt;p&gt;Explore our full app portfolio on the &lt;a href="https://marketplace.atlassian.com/vendors/1224569/yamuno" rel="noopener noreferrer"&gt;Atlassian Marketplace&lt;/a&gt; or reach out at &lt;a href="mailto:support@yamuno.com"&gt;support@yamuno.com&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Export Confluence to Obsidian (With Wikilinks)</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Tue, 28 Apr 2026 10:17:28 +0000</pubDate>
      <link>https://dev.to/yamuno-software/how-to-export-confluence-to-obsidian-with-wikilinks-4i5a</link>
      <guid>https://dev.to/yamuno-software/how-to-export-confluence-to-obsidian-with-wikilinks-4i5a</guid>
      <description>&lt;h1&gt;
  
  
  How to Export Confluence to Obsidian (With Wikilinks)
&lt;/h1&gt;

&lt;p&gt;Confluence and Obsidian serve different needs. Confluence is where teams collaborate on documentation. Obsidian is where individuals build a personal knowledge base, connect ideas, and think in networks of linked notes.&lt;/p&gt;

&lt;p&gt;If you use both, you've probably felt the friction: Confluence content doesn't transfer cleanly to Obsidian. Copy-pasting loses formatting. Downloading HTML is useless. Internal links between pages become broken references.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt; solves this with a dedicated &lt;strong&gt;Obsidian mode&lt;/strong&gt; that converts Confluence page links to &lt;code&gt;[[wikilinks]]&lt;/code&gt; automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem With Standard Confluence Export
&lt;/h2&gt;

&lt;p&gt;Confluence's built-in export options are HTML and PDF. Neither works with Obsidian:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTML&lt;/strong&gt; — Obsidian doesn't render HTML as notes. You'd need to strip tags manually.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF&lt;/strong&gt; — read-only, not searchable in Obsidian's graph, and not linkable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even if you extract text, internal links (&lt;code&gt;[See also: Architecture Overview](/wiki/spaces/PROJ/pages/...&lt;/code&gt;) become long URLs that Obsidian doesn't recognise as note links. Your knowledge graph breaks.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Obsidian Mode Does
&lt;/h2&gt;

&lt;p&gt;When you enable Obsidian mode in Markdown Exporter, every internal Confluence page link is converted to &lt;code&gt;[[Page Title]]&lt;/code&gt; format:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before (standard export):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;See the &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Architecture Overview&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://yoursite.atlassian.net/wiki/spaces/PROJ/pages/123456/Architecture+Overview&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; for context.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;After (Obsidian mode):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;See the [[Architecture Overview]] for context.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Obsidian resolves wikilinks by note title, so as long as the referenced page is in your vault, the link works — and shows up in the graph view.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step-by-Step: Export Confluence to Obsidian
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1 — Install Markdown Exporter
&lt;/h3&gt;

&lt;p&gt;Install &lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt; from the Atlassian Marketplace. It requires Confluence Cloud and takes about 30 seconds to install.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2 — Open the Exporter
&lt;/h3&gt;

&lt;p&gt;Navigate to the Confluence page or space you want to export. Click &lt;strong&gt;•••&lt;/strong&gt; (More actions) → &lt;strong&gt;Export to Markdown&lt;/strong&gt;. For a full space, open it from the &lt;strong&gt;Apps&lt;/strong&gt; menu in global navigation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3 — Enable Obsidian Mode
&lt;/h3&gt;

&lt;p&gt;In the export options panel, toggle &lt;strong&gt;Obsidian Wikilinks&lt;/strong&gt; on. This switches internal link output from standard Markdown links to &lt;code&gt;[[Page Title]]&lt;/code&gt; format.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 — Configure YAML Front Matter (Optional)
&lt;/h3&gt;

&lt;p&gt;Enable &lt;strong&gt;YAML front matter&lt;/strong&gt; to include metadata at the top of each exported note:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Architecture Overview&lt;/span&gt;
&lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Jane Smith&lt;/span&gt;
&lt;span class="na"&gt;date&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-04-23&lt;/span&gt;
&lt;span class="na"&gt;space&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;PROJ&lt;/span&gt;
&lt;span class="na"&gt;confluence_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;123456"&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is useful if you use Obsidian plugins like Dataview to query note properties, or if you want to track which Confluence page each note came from.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5 — Select Scope and Export
&lt;/h3&gt;

&lt;p&gt;Choose your scope:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Single page&lt;/strong&gt; — exports one &lt;code&gt;.md&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Page tree&lt;/strong&gt; — exports a parent page and its children as a structured ZIP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full space&lt;/strong&gt; — exports everything in the space as a ZIP with folder hierarchy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the in-tree search to find specific pages if you only need a subset.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6 — Add to Your Obsidian Vault
&lt;/h3&gt;

&lt;p&gt;Extract the ZIP into a folder inside your Obsidian vault. Obsidian will immediately index the notes. If you enabled wikilinks mode, the internal links between pages will resolve — and they'll appear in the graph view.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Export Preserves
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Content Type&lt;/th&gt;
&lt;th&gt;Obsidian Output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Headings&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;#&lt;/code&gt;, &lt;code&gt;##&lt;/code&gt;, &lt;code&gt;###&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bold / Italic&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;**bold**&lt;/code&gt;, &lt;code&gt;*italic*&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tables&lt;/td&gt;
&lt;td&gt;Standard Markdown tables&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code blocks&lt;/td&gt;
&lt;td&gt;Fenced with language tag&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lists&lt;/td&gt;
&lt;td&gt;Ordered and unordered&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Images &amp;amp; attachments&lt;/td&gt;
&lt;td&gt;Downloaded, referenced with relative paths&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal page links&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;[[Page Title]]&lt;/code&gt; wikilinks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;External links&lt;/td&gt;
&lt;td&gt;Standard &lt;code&gt;[text](url)&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Info / warning panels&lt;/td&gt;
&lt;td&gt;Blockquotes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Tips for Obsidian Users
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use a dedicated folder.&lt;/strong&gt; Keep your Confluence imports in a subfolder like &lt;code&gt;confluence/&lt;/code&gt; so they don't mix with your personal notes. You can still link across folders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sync regularly with a script.&lt;/strong&gt; If your team's Confluence content changes often, set up a regular export and overwrite the vault folder. Links won't break as long as page titles stay the same.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Combine with Dataview.&lt;/strong&gt; If you include YAML front matter, you can build Dataview queries over your Confluence notes — e.g. all pages in a specific space, or notes modified after a certain date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check complex macros.&lt;/strong&gt; Most Confluence content converts cleanly. Heavily customised layouts or third-party macros may need a quick review after export.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Install &lt;a href="https://marketplace.atlassian.com/apps/102037374" rel="noopener noreferrer"&gt;Markdown Exporter for Confluence&lt;/a&gt; free from the Atlassian Marketplace.&lt;/p&gt;

&lt;p&gt;Full documentation is at &lt;a href="https://dev.to/docs/markdown-exporter-for-confluence"&gt;/docs/markdown-exporter-for-confluence&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>5 Ways to Clean Up Confluence Storage Without Breaking Anything</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Fri, 24 Apr 2026 09:47:34 +0000</pubDate>
      <link>https://dev.to/yamuno-software/5-ways-to-clean-up-confluence-storage-without-breaking-anything-3e0f</link>
      <guid>https://dev.to/yamuno-software/5-ways-to-clean-up-confluence-storage-without-breaking-anything-3e0f</guid>
      <description>&lt;h1&gt;
  
  
  5 Ways to Clean Up Confluence Storage Without Breaking Anything
&lt;/h1&gt;

&lt;p&gt;Confluence storage has a way of quietly filling up. Old attachments accumulate, duplicate files get uploaded, outdated page versions pile up — and suddenly your admins are getting storage warnings.&lt;/p&gt;

&lt;p&gt;The tricky part is cleaning it up safely. Delete the wrong file and you break a page that someone still relies on. Here are five practical approaches to reclaim storage without causing collateral damage.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Audit Attachments Before You Delete Anything
&lt;/h2&gt;

&lt;p&gt;The first mistake most admins make is deleting files before understanding what's actually taking up space. Start with an audit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231895/advanced-attachment-manager-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Advanced Attachment Manager for Confluence&lt;/a&gt; gives you a searchable, filterable view of every attachment across your entire Confluence instance — sorted by file size, type, space, or date. You can instantly see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Which spaces are consuming the most storage&lt;/li&gt;
&lt;li&gt;Which file types are taking up the most space (PDFs? Videos? Zip files?)&lt;/li&gt;
&lt;li&gt;Which attachments are oldest and most likely outdated&lt;/li&gt;
&lt;li&gt;Which pages have the most attachments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This takes the guesswork out of cleanup. You know exactly what to target before you touch anything.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Delete Old Attachment Versions
&lt;/h2&gt;

&lt;p&gt;Every time someone re-uploads a file with the same name, Confluence keeps the previous version. Over time, old attachment versions accumulate invisibly — they don't show up in search but they count against your storage quota.&lt;/p&gt;

&lt;p&gt;To clean up attachment versions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In standard Confluence: go to a page → Attachments → select an attachment → view history → delete old versions&lt;/li&gt;
&lt;li&gt;With Advanced Attachment Manager: identify pages with many attachment versions across the whole instance and bulk-delete old versions in one operation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is often one of the biggest wins in a storage cleanup — old file versions can account for a surprising percentage of total usage.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Find and Remove Duplicate Files
&lt;/h2&gt;

&lt;p&gt;Teams frequently upload the same file multiple times — the same logo across ten different spaces, the same template ZIP uploaded by multiple people, the same diagram in slightly different versions.&lt;/p&gt;

&lt;p&gt;To find duplicates:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use Advanced Attachment Manager's filter by file type and size to spot files of identical size&lt;/li&gt;
&lt;li&gt;Search by filename to find the same file uploaded across multiple spaces&lt;/li&gt;
&lt;li&gt;Consolidate duplicates — keep one canonical version, update page references, delete the rest&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For images specifically, bulk-replacing references and consolidating to a single version can reclaim significant space.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Clean Up Orphaned Attachments
&lt;/h2&gt;

&lt;p&gt;Orphaned attachments are files that were uploaded to a page and then the page content changed — the file is still there but no longer referenced in the page body. It shows in the attachments list but isn't embedded anywhere.&lt;/p&gt;

&lt;p&gt;These are almost always safe to delete, but confirming manually across thousands of pages is impractical. Advanced Attachment Manager lets you filter for unreferenced attachments and review them in bulk — so you can clean them up with confidence rather than blindly deleting.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Archive Old Spaces Instead of Letting Them Rot
&lt;/h2&gt;

&lt;p&gt;One of the biggest contributors to storage bloat is spaces that are no longer active but never archived or cleaned up. Old project spaces, deprecated product docs, completed initiative wikis — they accumulate attachments and page versions indefinitely.&lt;/p&gt;

&lt;p&gt;The right approach:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identify inactive spaces&lt;/strong&gt; — no edits in the last 6–12 months&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export the space&lt;/strong&gt; to markdown or PDF if you want a permanent record (Markdown Exporter handles this)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Archive the space&lt;/strong&gt; in Confluence — it becomes read-only and stops accumulating versions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete the space&lt;/strong&gt; if you're confident nothing in it is needed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Archiving before deleting gives you a safety net. Export first if there's any doubt.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bulk Actions Save Hours
&lt;/h2&gt;

&lt;p&gt;The reason storage cleanups get neglected is that the manual process is slow. Click into each page, open attachments, check each file, decide, delete. Multiply that by thousands of pages and it becomes a multi-day project.&lt;/p&gt;

&lt;p&gt;Advanced Attachment Manager's bulk actions let you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select multiple attachments across pages and spaces&lt;/li&gt;
&lt;li&gt;Delete, move, or download them in one operation&lt;/li&gt;
&lt;li&gt;Filter by type, size, date, or space to scope your cleanup precisely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What would take days manually takes an hour with the right tooling.&lt;/p&gt;




&lt;h2&gt;
  
  
  Before You Delete Anything
&lt;/h2&gt;

&lt;p&gt;A few rules of thumb:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check if the file is referenced in a page body.&lt;/strong&gt; Deleting an attachment that's embedded in a page will break the embed. Advanced Attachment Manager shows you where each attachment is used.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start with the obvious.&lt;/strong&gt; Target large files first — videos, zips, PDFs. A single 500MB video file does more damage to your quota than a thousand small images.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use spaces to scope your cleanup.&lt;/strong&gt; Don't try to clean the entire instance at once. Pick one or two high-storage spaces and clean those first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't delete page versions from active pages.&lt;/strong&gt; Version history is there for a reason. Focus on old attachment versions, not page versions.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231895/advanced-attachment-manager-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Advanced Attachment Manager for Confluence&lt;/a&gt; is available on the Atlassian Marketplace.&lt;/p&gt;

&lt;p&gt;Full documentation at &lt;a href="https://dev.to/docs/advanced-attachment-manager"&gt;/docs/advanced-attachment-manager&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Export Confluence Pages to Polished PDFs — Introducing PDF Exporter for Confluence</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 23 Apr 2026 14:04:25 +0000</pubDate>
      <link>https://dev.to/yamuno-software/export-confluence-pages-to-polished-pdfs-introducing-pdf-exporter-for-confluence-3okl</link>
      <guid>https://dev.to/yamuno-software/export-confluence-pages-to-polished-pdfs-introducing-pdf-exporter-for-confluence-3okl</guid>
      <description>&lt;h1&gt;
  
  
  Introducing PDF Exporter for Confluence
&lt;/h1&gt;

&lt;p&gt;We're excited to announce that &lt;a href="https://marketplace.atlassian.com/apps/726790413" rel="noopener noreferrer"&gt;&lt;strong&gt;PDF Exporter for Confluence&lt;/strong&gt;&lt;/a&gt; is now live on the Atlassian Marketplace.&lt;/p&gt;

&lt;p&gt;Confluence's built-in PDF export is minimal — no cover page, no custom headers, no watermarks, and certainly no reusable templates. For teams sharing documentation with clients, stakeholders, or regulators, "minimal" doesn't cut it.&lt;/p&gt;

&lt;p&gt;PDF Exporter fills that gap.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxyprmc8cwfkfhyt5g9xb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxyprmc8cwfkfhyt5g9xb.jpg" alt="PDF Exporter for Confluence" width="800" height="348"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is PDF Exporter for Confluence?
&lt;/h2&gt;

&lt;p&gt;PDF Exporter is a Forge-native Confluence Cloud app that lets you export any page, page hierarchy, or entire space to a professionally formatted PDF — without leaving Confluence and without sending your data anywhere outside Atlassian's infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Single Page, Hierarchy, or Full Space
&lt;/h3&gt;

&lt;p&gt;Export exactly what you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Single page&lt;/strong&gt; — export any Confluence page to PDF in one click&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Page tree&lt;/strong&gt; — select a parent page and include all child pages in one export&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full space&lt;/strong&gt; — export an entire Confluence space as a packaged ZIP of PDFs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Multi-page exports are automatically bundled into a ZIP download.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reusable Templates
&lt;/h3&gt;

&lt;p&gt;Admins can define export templates from Confluence Settings → PDF Exporter. Each template controls fonts, layout, cover page style, header and footer content, watermarks, and page numbering.&lt;/p&gt;

&lt;p&gt;Once a template is saved, every user on the instance can apply it — no more inconsistent formatting across teams.&lt;/p&gt;

&lt;h3&gt;
  
  
  Six Cover Page Styles
&lt;/h3&gt;

&lt;p&gt;Choose from six built-in cover page layouts and customise them with your accent color, company logo, author name, and subtitle. Every exported PDF looks like it came from your design team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Automatic Table of Contents
&lt;/h3&gt;

&lt;p&gt;Enable the TOC option and the exporter automatically generates a clickable table of contents from your page headings — with configurable depth so you control how detailed it gets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Headers, Footers &amp;amp; Watermarks
&lt;/h3&gt;

&lt;p&gt;Add custom text, page numbers, or a watermark to every page of the exported PDF. Useful for draft reviews, confidential documents, or any output where you need persistent labelling.&lt;/p&gt;

&lt;h3&gt;
  
  
  Runs Entirely on Atlassian Forge
&lt;/h3&gt;

&lt;p&gt;PDF Exporter is 100% Forge-native. All processing happens inside Atlassian's infrastructure — exported PDFs are delivered directly to your browser and never stored on external servers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Is It For?
&lt;/h2&gt;

&lt;p&gt;PDF Exporter is built for teams that share documentation beyond Confluence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Technical writers&lt;/strong&gt; producing release notes, product specs, or user guides for external distribution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Solutions engineers&lt;/strong&gt; creating polished client-facing proposals or handover documents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance and legal teams&lt;/strong&gt; archiving Confluence content with consistent formatting and watermarks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project managers&lt;/strong&gt; sharing status reports and project documentation with stakeholders who don't have Confluence access&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install the app&lt;/strong&gt; from the &lt;a href="https://marketplace.atlassian.com/apps/726790413" rel="noopener noreferrer"&gt;Atlassian Marketplace&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Open any Confluence page and click &lt;strong&gt;•••&lt;/strong&gt; (More actions) → &lt;strong&gt;Export to PDF&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choose a template (or use the default)&lt;/li&gt;
&lt;li&gt;Select the scope — single page, page tree, or space&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Export&lt;/strong&gt; and download your PDF&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Admins can create and manage templates from &lt;strong&gt;Confluence Settings → PDF Exporter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://marketplace.atlassian.com/apps/726790413" rel="noopener noreferrer"&gt;Install PDF Exporter for Confluence&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://dev.to/docs/pdf-exporter-for-confluence"&gt;Read the Documentation&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions or feedback? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt; — we'd love to hear how your team is using it.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Migrate Your GitHub or GitLab Docs to Confluence (Step-by-Step)</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 23 Apr 2026 13:59:26 +0000</pubDate>
      <link>https://dev.to/yamuno-software/how-to-migrate-your-github-or-gitlab-docs-to-confluence-step-by-step-5117</link>
      <guid>https://dev.to/yamuno-software/how-to-migrate-your-github-or-gitlab-docs-to-confluence-step-by-step-5117</guid>
      <description>&lt;h1&gt;
  
  
  How to Migrate Your GitHub or GitLab Docs to Confluence
&lt;/h1&gt;

&lt;p&gt;Engineering teams often end up with documentation scattered across two places: a &lt;code&gt;docs/&lt;/code&gt; folder in the repo, and a Confluence space that slowly falls behind. This guide shows you how to close that gap — whether you want a one-time migration, a bulk import, or a fully automated sync that keeps Confluence updated on every push.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Teams Move Docs to Confluence
&lt;/h2&gt;

&lt;p&gt;Keeping docs in Git is great for developers, but it creates friction for everyone else. Product managers, support teams, and stakeholders usually live in Confluence — not in GitHub. When your README and architecture docs live in a repo, they become invisible to half the company.&lt;/p&gt;

&lt;p&gt;At the same time, manually copy-pasting markdown into Confluence is tedious and breaks formatting. The goal is to do this once, correctly, and then keep it in sync automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  What You Need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Confluence Cloud (any plan)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Exporter &amp;amp; Importer for Confluence&lt;/a&gt; installed&lt;/li&gt;
&lt;li&gt;Your markdown files from GitHub or GitLab (as a ZIP or local clone)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Option 1 — Import a Single File
&lt;/h2&gt;

&lt;p&gt;Best for: migrating a single README, architecture doc, or changelog.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the target Confluence page where you want the content to live&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;•••&lt;/strong&gt; (More actions) menu → &lt;strong&gt;Markdown Importer &amp;amp; Exporter&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Import&lt;/strong&gt; and choose your &lt;code&gt;.md&lt;/code&gt; or &lt;code&gt;.mdx&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Preview the output, then click &lt;strong&gt;Import&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your markdown — including headers, tables, code blocks, and images — is converted to native Confluence content.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 2 — Bulk Import from a ZIP Archive
&lt;/h2&gt;

&lt;p&gt;Best for: migrating an entire &lt;code&gt;docs/&lt;/code&gt; folder from a repo in one shot.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1 — Clone and zip your docs folder
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/your-org/your-repo.git
&lt;span class="nb"&gt;cd &lt;/span&gt;your-repo
zip &lt;span class="nt"&gt;-r&lt;/span&gt; docs-export.zip docs/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For GitLab, it's the same process — or use the GitLab UI: &lt;strong&gt;Repository → Files → docs/ → Download this directory&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2 — Import the ZIP into Confluence
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;In Confluence, navigate to the space or page where you want the docs imported&lt;/li&gt;
&lt;li&gt;Open the &lt;strong&gt;•••&lt;/strong&gt; menu → &lt;strong&gt;Markdown Importer &amp;amp; Exporter&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Import&lt;/strong&gt; and upload your &lt;code&gt;docs-export.zip&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Review the file tree — the importer shows all files and their resolved hierarchy before importing&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Step 3 — Confirm hierarchy
&lt;/h3&gt;

&lt;p&gt;The importer converts your folder structure into a Confluence page tree. A structure like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docs/
  getting-started/
    installation.md
    quick-start.md
  api/
    overview.md
    authentication.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;…becomes parent/child pages in Confluence exactly as you'd expect — no manual reorganisation needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4 — Handle images and attachments
&lt;/h3&gt;

&lt;p&gt;If your markdown references local images (e.g. &lt;code&gt;![diagram](./assets/arch.png)&lt;/code&gt;), include the assets folder in the ZIP. The importer uploads them as Confluence attachments and rewires the image references automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  Option 3 — Automate with CI/CD (GitHub Actions / GitLab CI)
&lt;/h2&gt;

&lt;p&gt;Best for: keeping Confluence permanently in sync with your repo. Every push updates the docs without anyone touching Confluence manually.&lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;p&gt;You'll need two things from the Markdown Importer app:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In Confluence, go to &lt;strong&gt;Settings → Apps → Markdown Importer for Confluence → API tab&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create New Token&lt;/strong&gt;, give it a label (e.g. &lt;code&gt;ci-cd-pipeline&lt;/code&gt;), set an expiration, and copy it immediately&lt;/li&gt;
&lt;li&gt;On the same page, copy your unique &lt;strong&gt;API endpoint URL&lt;/strong&gt; — it looks like:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;   https://your-site.atlassian.net/wiki/apps/&amp;lt;app-id&amp;gt;/&amp;lt;env-id&amp;gt;/webtrigger
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Store both as secrets in your repo:

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;code&gt;Settings → Secrets&lt;/code&gt; → &lt;code&gt;CONFLUENCE_API_ENDPOINT&lt;/code&gt; + &lt;code&gt;CONFLUENCE_API_TOKEN&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;GitLab: &lt;code&gt;Settings → CI/CD → Variables&lt;/code&gt; → same two variables&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You'll also need your Confluence &lt;strong&gt;space ID&lt;/strong&gt; and &lt;strong&gt;parent page ID&lt;/strong&gt; — both are visible in the app's space and page selectors.&lt;/p&gt;




&lt;h3&gt;
  
  
  GitHub Actions Workflow
&lt;/h3&gt;

&lt;p&gt;Create &lt;code&gt;.github/workflows/sync-docs.yml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Sync docs to Confluence&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;main&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;docs/**"&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;sync&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v4&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Import README to Confluence&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
          &lt;span class="s"&gt;CONTENT=$(cat docs/README.md | jq -Rs .)&lt;/span&gt;
          &lt;span class="s"&gt;curl -X POST "${{ secrets.CONFLUENCE_API_ENDPOINT }}" \&lt;/span&gt;
            &lt;span class="s"&gt;-H "Authorization: Bearer ${{ secrets.CONFLUENCE_API_TOKEN }}" \&lt;/span&gt;
            &lt;span class="s"&gt;-H "Content-Type: application/json" \&lt;/span&gt;
            &lt;span class="s"&gt;-d "{\"spaceId\":\"DOCS\",\"parentId\":\"123456789\",\"pageTitle\":\"README\",\"content\":$CONTENT,\"overwrite\":true}"&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Import API docs&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
          &lt;span class="s"&gt;CONTENT=$(cat docs/api.md | jq -Rs .)&lt;/span&gt;
          &lt;span class="s"&gt;curl -X POST "${{ secrets.CONFLUENCE_API_ENDPOINT }}" \&lt;/span&gt;
            &lt;span class="s"&gt;-H "Authorization: Bearer ${{ secrets.CONFLUENCE_API_TOKEN }}" \&lt;/span&gt;
            &lt;span class="s"&gt;-H "Content-Type: application/json" \&lt;/span&gt;
            &lt;span class="s"&gt;-d "{\"spaceId\":\"DOCS\",\"parentId\":\"123456789\",\"pageTitle\":\"API Reference\",\"content\":$CONTENT,\"overwrite\":true}"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The API sends one page per request as JSON — add a step per file you want to keep in sync. The workflow only triggers when files under &lt;code&gt;docs/&lt;/code&gt; change.&lt;/p&gt;




&lt;h3&gt;
  
  
  GitLab CI Pipeline
&lt;/h3&gt;

&lt;p&gt;Add to &lt;code&gt;.gitlab-ci.yml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;stages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;deploy-docs&lt;/span&gt;

&lt;span class="na"&gt;deploy-confluence&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;stage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;deploy-docs&lt;/span&gt;
  &lt;span class="na"&gt;only&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;main&lt;/span&gt;
  &lt;span class="na"&gt;script&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
      &lt;span class="s"&gt;curl -X POST "$CONFLUENCE_API_ENDPOINT" \&lt;/span&gt;
        &lt;span class="s"&gt;-H "Authorization: Bearer $CONFLUENCE_API_TOKEN" \&lt;/span&gt;
        &lt;span class="s"&gt;-H "Content-Type: application/json" \&lt;/span&gt;
        &lt;span class="s"&gt;-d "{&lt;/span&gt;
          &lt;span class="s"&gt;\"spaceId\": \"DOCS\",&lt;/span&gt;
          &lt;span class="s"&gt;\"parentId\": \"123456789\",&lt;/span&gt;
          &lt;span class="s"&gt;\"pageTitle\": \"API Documentation\",&lt;/span&gt;
          &lt;span class="s"&gt;\"content\": $(cat docs/api.md | jq -Rs .),&lt;/span&gt;
          &lt;span class="s"&gt;\"overwrite\": true&lt;/span&gt;
        &lt;span class="s"&gt;}"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Store &lt;code&gt;CONFLUENCE_API_ENDPOINT&lt;/code&gt;, &lt;code&gt;CONFLUENCE_API_TOKEN&lt;/code&gt; as masked CI/CD variables in GitLab.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tips for a Clean Migration
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Organise before you import.&lt;/strong&gt; Rename files with a numeric prefix if you care about order (&lt;code&gt;01-overview.md&lt;/code&gt;, &lt;code&gt;02-installation.md&lt;/code&gt;). The importer preserves file order when importing via the UI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handle frontmatter.&lt;/strong&gt; If your docs use YAML frontmatter (like many Docusaurus or MkDocs setups), the importer reads &lt;code&gt;title&lt;/code&gt; from frontmatter and uses it as the Confluence page title. No need to strip it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Check internal links.&lt;/strong&gt; Links between pages (e.g. &lt;code&gt;[see here](../api/overview.md)&lt;/code&gt;) are resolved relative to the page hierarchy during import. Cross-check a few after importing to confirm they resolve correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run a test import first.&lt;/strong&gt; Pick a small subfolder, import it into a sandbox space, and confirm the output looks right before running the full migration.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Install &lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Exporter &amp;amp; Importer for Confluence&lt;/a&gt; from the Atlassian Marketplace — it's free to try.&lt;/p&gt;

&lt;p&gt;For the CI/CD approach, check out the &lt;a href="https://dev.to/docs/markdown-importer-for-confluence/rest-api"&gt;REST API documentation&lt;/a&gt; for the full list of parameters, authentication details, and code examples in Node.js, Python, and Go.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Questions or edge cases? Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support portal&lt;/a&gt; — we're happy to help with migration planning.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Markdown Importer v6.0.0 is Here – Early Conflict Detection, Performance Updates &amp; UI Enhancements!</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 23 Apr 2026 13:59:12 +0000</pubDate>
      <link>https://dev.to/yamuno-software/markdown-importer-v600-is-here-early-conflict-detection-performance-updates-ui-enhancements-144c</link>
      <guid>https://dev.to/yamuno-software/markdown-importer-v600-is-here-early-conflict-detection-performance-updates-ui-enhancements-144c</guid>
      <description>&lt;h1&gt;
  
  
  Markdown Importer v6.0.0 is Here 🚀
&lt;/h1&gt;

&lt;p&gt;We're excited to announce the release of &lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;&lt;strong&gt;Markdown Importer for Confluence v6.0.0&lt;/strong&gt;&lt;/a&gt;! This update brings powerful new features, performance improvements, and a refreshed interface to make importing Markdown files into &lt;a href="https://www.atlassian.com/software/confluence" rel="noopener noreferrer"&gt;Confluence&lt;/a&gt; easier and more reliable than ever.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 What's New in v6.0.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔍 Early Conflict Detection
&lt;/h3&gt;

&lt;p&gt;One of the biggest challenges when importing files into Confluence is dealing with duplicate names for pages and folders. With v6.0.0, we've introduced &lt;strong&gt;early conflict detection&lt;/strong&gt; to identify these issues before they cause problems. You'll now be able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Detect conflicting files and folders before importing&lt;/li&gt;
&lt;li&gt;Choose whether to skip, or resolve conflicts directly&lt;/li&gt;
&lt;li&gt;Save time and avoid messy post-import cleanups&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmarketplace.atlassian.com%2Fproduct-listing%2Ffiles%2F06a1e19e-8602-4cd3-9c0b-5fc2bbc9538b%3Fwidth%3D1840%26height%3D900" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmarketplace.atlassian.com%2Fproduct-listing%2Ffiles%2F06a1e19e-8602-4cd3-9c0b-5fc2bbc9538b%3Fwidth%3D1840%26height%3D900" alt="Folder Hierarchy Import" width="1840" height="900"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ⚡ Performance Updates
&lt;/h3&gt;

&lt;p&gt;Large imports can now be processed faster and more efficiently. We've optimized our backend logic to handle heavy workloads, so whether you're importing a small set of documents or an entire knowledge base, you'll experience smoother and quicker performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  🎨 UI Enhancements
&lt;/h3&gt;

&lt;p&gt;We've refreshed the user interface to make the importing process more intuitive. Cleaner layouts, improved navigation, and a more modern look ensure that you can focus on your content without friction.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmarketplace.atlassian.com%2Fproduct-listing%2Ffiles%2F26d83e5c-2493-4603-bba6-52cf7bef5f79%3Fwidth%3D1840%26height%3D900" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmarketplace.atlassian.com%2Fproduct-listing%2Ffiles%2F26d83e5c-2493-4603-bba6-52cf7bef5f79%3Fwidth%3D1840%26height%3D900" alt="Preview Interface" width="1840" height="900"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Why This Matters
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Importer&lt;/a&gt; is designed to help teams seamlessly bring their existing documentation into Confluence. With these improvements, you'll spend less time fixing issues and more time collaborating on what matters most. Check out our &lt;a href="https://dev.to/docs/markdown-importer-for-confluence"&gt;documentation&lt;/a&gt; to learn more about all the features.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔗 Try It Now
&lt;/h2&gt;

&lt;p&gt;Upgrade to the latest version and experience the improvements yourself:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Importer for Confluence on Atlassian Marketplace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We'd love to hear your feedback! Reach out via our &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;support channel&lt;/a&gt;. Your input helps us continue improving the app to better fit your workflows.&lt;/p&gt;

&lt;p&gt;Want to see the full changelog? Visit our &lt;a href="https://dev.to/docs/markdown-importer-for-confluence/release-notes"&gt;release notes&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;✅ Ready to import smarter, faster, and more reliably?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Update to Markdown Importer v6.0.0 today!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>New Features in Markdown Importer for Confluence – Unlimited Bulk Import, Hierarchy Support, and More!</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 23 Apr 2026 13:53:46 +0000</pubDate>
      <link>https://dev.to/yamuno-software/new-features-in-markdown-importer-for-confluence-unlimited-bulk-import-hierarchy-support-and-5g1l</link>
      <guid>https://dev.to/yamuno-software/new-features-in-markdown-importer-for-confluence-unlimited-bulk-import-hierarchy-support-and-5g1l</guid>
      <description>&lt;h2&gt;
  
  
  🚀 Big Update for Markdown Importer for Confluence!
&lt;/h2&gt;

&lt;p&gt;We’ve just rolled out a major upgrade to make importing your Markdown content into Confluence faster, smarter, and more powerful than ever.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ What’s New
&lt;/h3&gt;

&lt;h4&gt;
  
  
  ✅ Unlimited Bulk Import
&lt;/h4&gt;

&lt;p&gt;Bring in as many files as you need — all at once.&lt;/p&gt;

&lt;h4&gt;
  
  
  ✅ Folder &amp;amp; File Hierarchy Support
&lt;/h4&gt;

&lt;p&gt;Upload ZIP files while preserving your original folder and file structure.&lt;/p&gt;

&lt;h4&gt;
  
  
  ✅ Attachment Upload Support
&lt;/h4&gt;

&lt;p&gt;Automatically include all attachments referenced in your files.&lt;/p&gt;

&lt;h4&gt;
  
  
  ✅ Multiple Access Modes
&lt;/h4&gt;

&lt;p&gt;Choose between &lt;strong&gt;global&lt;/strong&gt; or &lt;strong&gt;per-page&lt;/strong&gt; access controls for better security and collaboration.&lt;/p&gt;

&lt;p&gt;Whether you’re migrating projects, organizing documentation, or collaborating at scale, this update makes it seamless.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Check it out here:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Importer for Confluence – Atlassian Marketplace&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📚 Read the docs: &lt;a href="https://dev.to/docs/markdown-importer-for-confluence"&gt;Markdown Importer for Confluence Documentation&lt;/a&gt;&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Introducing REST API for Markdown Importer – Automate Your Documentation Workflow!</title>
      <dc:creator>Yamuno</dc:creator>
      <pubDate>Thu, 23 Apr 2026 13:53:32 +0000</pubDate>
      <link>https://dev.to/yamuno-software/introducing-rest-api-for-markdown-importer-automate-your-documentation-workflow-5587</link>
      <guid>https://dev.to/yamuno-software/introducing-rest-api-for-markdown-importer-automate-your-documentation-workflow-5587</guid>
      <description>&lt;h1&gt;
  
  
  Introducing REST API for Markdown Importer 🚀
&lt;/h1&gt;

&lt;p&gt;We're thrilled to announce a game-changing addition to &lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;&lt;strong&gt;Markdown Importer for Confluence&lt;/strong&gt;&lt;/a&gt; – a powerful &lt;strong&gt;REST API&lt;/strong&gt; that unlocks automation and integration possibilities for your documentation workflow!&lt;/p&gt;

&lt;p&gt;Say goodbye to manual imports and hello to seamless, programmatic documentation updates directly from your CI/CD pipeline, external applications, or custom automation scripts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmarketplace.atlassian.com%2Fproduct-listing%2Ffiles%2Fcbfd51ed-8e6a-468b-96ed-86aa4b949dee%3Fwidth%3D1840%26height%3D900" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fmarketplace.atlassian.com%2Fproduct-listing%2Ffiles%2Fcbfd51ed-8e6a-468b-96ed-86aa4b949dee%3Fwidth%3D1840%26height%3D900" alt="API Token Management" width="1840" height="900"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 What's New in v6.4.0
&lt;/h2&gt;

&lt;p&gt;The new REST API transforms how you manage Confluence documentation by enabling &lt;strong&gt;programmatic markdown imports&lt;/strong&gt; from anywhere. Whether you're syncing docs from GitHub, deploying from GitLab CI/CD, or building custom integrations, the API makes it effortless.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;🔐 Secure Token Management&lt;/strong&gt;&lt;br&gt;
Generate and manage API tokens with JWT-based authentication, fine-grained expiration control (1-30 days), and the ability to create up to 50 tokens for different environments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Simple HTTP Requests&lt;/strong&gt;&lt;br&gt;
Import markdown content with a straightforward POST request – no complex setup required.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔄 Smart Conflict Handling&lt;/strong&gt;&lt;br&gt;
Choose to create new pages or update existing ones with built-in overwrite support and clear error handling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📚 Comprehensive Documentation&lt;/strong&gt;&lt;br&gt;
From getting started guides to production best practices, we've got you covered with complete API documentation, code examples in multiple languages, and CI/CD workflow templates.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Perfect For
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CI/CD Pipelines&lt;/strong&gt;&lt;br&gt;
Automatically sync documentation with every code push. Keep your Confluence pages updated alongside your codebase without manual intervention.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation Migration&lt;/strong&gt;&lt;br&gt;
Moving from another platform? Script your migration and import hundreds of markdown files programmatically with consistent formatting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated Updates&lt;/strong&gt;&lt;br&gt;
Trigger documentation updates from external systems, webhooks, or scheduled jobs. Perfect for keeping release notes, changelogs, and API docs fresh.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Custom Workflows&lt;/strong&gt;&lt;br&gt;
Build exactly the integration you need – whether it's generating docs from code comments, syncing from multiple sources, or creating dynamic content.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Why It Matters
&lt;/h2&gt;

&lt;p&gt;Documentation should evolve with your product, not lag behind it. The REST API eliminates the manual bottleneck, letting you:&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Automate&lt;/strong&gt; repetitive import tasks&lt;br&gt;
✅ &lt;strong&gt;Synchronize&lt;/strong&gt; docs with code changes automatically&lt;br&gt;
✅ &lt;strong&gt;Scale&lt;/strong&gt; from single files to enterprise-wide migrations&lt;br&gt;
✅ &lt;strong&gt;Integrate&lt;/strong&gt; with your existing tools and workflows&lt;/p&gt;

&lt;h2&gt;
  
  
  📖 Ready to Get Started?
&lt;/h2&gt;

&lt;p&gt;We've prepared comprehensive documentation to help you integrate the API into your workflow:&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://dev.to/docs/markdown-importer-for-confluence/rest-api"&gt;View Complete API Documentation&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our documentation includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Quick start guide with step-by-step token setup&lt;/li&gt;
&lt;li&gt;Complete API reference with all endpoints and parameters&lt;/li&gt;
&lt;li&gt;Ready-to-use code examples in cURL, Node.js, Python, Go, and more&lt;/li&gt;
&lt;li&gt;CI/CD workflow templates for GitHub Actions and GitLab&lt;/li&gt;
&lt;li&gt;Production-ready best practices and troubleshooting tips&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🎉 Try It Now
&lt;/h2&gt;

&lt;p&gt;The REST API is available now for all &lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Markdown Importer for Confluence&lt;/a&gt; users!&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Included with your license&lt;/strong&gt; – No additional cost&lt;br&gt;
✅ &lt;strong&gt;Available during trial&lt;/strong&gt; – Test it before you buy&lt;br&gt;
✅ &lt;strong&gt;Production-ready&lt;/strong&gt; – Built for scale and reliability&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 We Want Your Feedback
&lt;/h2&gt;

&lt;p&gt;We'd love to hear how you're using the REST API! Share your use cases, integrations, or feedback:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📧 &lt;a href="https://yamuno.atlassian.net/servicedesk/customer/portals" rel="noopener noreferrer"&gt;Contact Support&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📝 &lt;a href="https://dev.to/docs/markdown-importer-for-confluence/release-notes"&gt;View Full Changelog&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://marketplace.atlassian.com/apps/1231894/markdown-importer-for-confluence?hosting=cloud&amp;amp;tab=overview" rel="noopener noreferrer"&gt;Get Markdown Importer for Confluence&lt;/a&gt;&lt;/strong&gt; and start automating your documentation workflow today!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Ready to automate your documentation? The REST API is waiting for you!&lt;/em&gt; 🚀&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
