Include from GitHub to Confluence (Markdown, AsciiDoc)

Include files, gists, pull requests, and other data from public or private GitHub repos — right inside Confluence. Supports Markdown, AsciiDoc, Mermaid, PlantUML and more.

Keep Your Documentation Connected to GitHub

Embed up-to-date GitHub files, gists, diagrams, code, and project data directly in Confluence pages, kept in sync automatically. No copy-pasting required.

Easily embed up-to-date GitHub file content

Include Git content securely from GitHub. Share up-to-date files, gists, diagrams, code, images, and more just by pasting the file link into a page. Markdown, AsciiDoc, Mermaid, and PlantUML (including C4) files are automatically rendered as HTML, with syntax highlighting for source code.

Create project dashboards with GitHub data

Use Confluence as a project dashboard by including GitHub data like pull requests and issues. Filtering and sorting options let you tailor the dashboard view to your team’s needs.

Supports GitHub.com & GitHub Enterprise

Connect Confluence to either GitHub Cloud or GitHub Enterprise (Server or Cloud), via personal OAuth 2.0 authentication for each user, or shared access token authentication for all Confluence users — including those without a GitHub account.

Why use Include from GitHub to Confluence?

Include from GitHub to Confluence keeps documentation, code, and project data connected — so your Confluence pages never go stale. Reduce duplication, speed up reviews, and give your team one place to see what’s happening in GitHub.

Simple inclusion, no duplication

Just copy and paste a GitHub link into a page, the macro does the rest. No manual copy-pasting of file content that goes out of date, and relative links inside files (like README.md) keep working so readers can navigate the repo from the file itself.

Rich file rendering

Markdown, AsciiDoc, Mermaid, and PlantUML (including C4) files render as proper HTML with syntax highlighting, PDF/Word export, and Scroll Viewport compatibility.

Built for GitHub, public or private, cloud or enterprise

Works with public and private repositories, on GitHub.com or GitHub Enterprise, with secure per-user OAuth or shared access token authentication for teams that don’t want to require individual GitHub accounts.

  • Fantastic for bringing in Readme.md files. preserves relative links in these types of files so you can navigate your repository from the file.

    Rob D.

Frequently asked questions

Couldn’t find what you need?

  • We provide detailed documentation on how we process personal data and how you can configure privacy settings to meet your organization’s requirements.

    Please refer to these sections for more information:

    • Privacy Policies: Our central Privacy Policy page explains our general approach to data protection and GDPR compliance.
    • Subprocessors: A current list of all third-party service providers we use is available on our Trust Center.

    For further inquiries regarding data protection or to request a Data Processing Addendum (DPA), please contact our Customer Support Team.

  • nformation regarding the security measures, infrastructure, and compliance standards for our apps is centralized in our Trust Center and specific documentation pages.

    To find the details you need, please refer to the following resources:

    • General Security Overview: Visit our Trust Center for information on encryption, infrastructure, and certifications.
    • Data Residency: For details on where your data is stored and how to pin it to specific regions, see Data Residency for Elevatic Cloud apps.
    • App-Specific Security: Every app listing on the Atlassian Marketplace contains a Privacy & Security tab with a standardized security questionnaire.

    If you have specific security requirements or need a security whitepaper, please contact Customer Support.

  • Yes, you can export Git assets (including files and other content) as part of a PDF or Word export of your Confluence page.

  • GitHub applies a limit rate to unauthenticated requests made to retrieve content. It is possible that such rate limit may be reached prompting you to authenticate even to access public repositories. Once authenticated the user should be able to see the requested data.

  • The app technically does not require “write“ permissions but unfortunately the GitHub API does not provide a read-only OAuth scope for public and/or private repos which is what our app needs and we are forced to use the “repo“ scope. Including GitHub documentation on Scopes for OAuth Apps as reference.

  • Advanced links such as {asciidoc-dir}/../../shared/versions/stack/{source_branch}.adoc are currently not supported and we display in the included file.

  • If images in your Markdown or AsciiDoc files aren’t rendering, it’s often due to the use of relative paths that can’t be resolved in the current context.

    To ensure images are rendered correctly:

    • Use absolute paths relative to the repository root when possible.
    • Make sure the image file exists and is accessible at the specified path.

    AsciiDoc

    === Picture 1 Block
    image::/images/Example.png[]
    === Picture 2 Inline
    image:/images/Example.png[]
    

    Markdown

    ![Alt text](/src/images/image.png)
  • You can add custom sizes to images in Markdown using HTML. While Markdown is great for formatted text, it doesn’t natively support resizing images. But with the img tag, you can easily control image dimensions.

    For example:

    <img src="image.jpg" width="400" height="400"/>        
  • Yes, you can customize the layout for PDF exports, including the image size, by modifying the Confluence PDF stylesheet. For example, adding the following CSS rule to the PDF stylesheet will ensure that the images in the exported file are displayed at the same size:

    .image-container img {
      width: 200px; 
      height: auto; 
    }
    

    For more details on customizing PDF exports, you can refer to the official Atlassian documentation: Customize Exports to PDF.

  • Branches with slashes in their name (eg bugfix/issue-123, feature/abc) are not supported at the moment.

    As a work around, replace the slash of the branch name in the URL with %2F, for example the bugfix/issue-123 branch URL https://github.com/your-org/yor-repo/blob/bugfix/issue-123/markdown/test-basic.md to https://github.com/your-org/yor-repo/blob/bugfix%2Fissue-123/markdown/test-basic.md

    Let us know your use case here if you require support for slashes in branch names.

  • You can use !include <C4/C4_Container> for including the C4-PlantUML library.

    Example:

    @startuml
    !include <C4/C4_Container>
    Person(personAlias, "Label", "Optional Description")
    Container(containerAlias, "Label", "Technology", "Optional Description")
    System(systemAlias, "Label", "Optional Description")
    System_Ext(extSystemAlias, "Label", "Optional Description")
    Rel(personAlias, containerAlias, "Label", "Optional Technology")
    Rel_U(systemAlias, extSystemAlias, "Label", "Optional Technology")
    @enduml
    

    Reference: https://plantuml.com/stdlib#062f75176513a666Pagination

Let’s make Atlassian
work better for your team

Our apps connect Confluence, Jira and Bitbucket with the tools you already use, like Git, Microsoft 365 and SharePoint.
Tell us what you need and we’ll help you find the right solution.