Skip to content

Publish the content of a folder to confluence Github Action

License

Notifications You must be signed in to change notification settings

reMarkable/docs-as-code-confluence

 
 

Repository files navigation

Docs as Code - Confluence

Publish a folder of documentation to Confluence.

Create a Confluence Page for each markdown file. Each folder will create a parent page to reflect the directory structure.

Parameters

Name Description Required
folder The folder to sync true
username Confluence username or email true
password Confluence password or API token true
confluence-base-url Your Confluence URL (with wiki). Example: https://mydomain.atlassian.net/wiki true
space-id Confluence space key to publish the documentation. Located after spaces in the URL. https://mydomain.atlassian.net/wiki/spaces/<<~1234>>.
Or in Space settings > Space details > Key.
true
parent-page-id Page id under which the documentation will be published. Located after pages in the URL. https://mydomain.atlassian.net/wiki/spaces/~1234/pages/<<1234>>/My+Parent+Page true

TODO

  • Renaming a file
  • Moving/Removing a file
  • Not updating Confluence pages when there is no change
  • Add commit link to the new page version

Example of workflow

name: Sync Docs as Code - Confluence
on:
  push:
    branches:
      - main
    paths:
      - 'docs/**'
jobs:
  docs-as-code:
    runs-on: ubuntu-latest
    name: Sync Docs as Code - Confluence
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Sync Docs as Code - Confluence
        uses: Bhacaz/docs-as-code-confluence@main
        with:
          folder: docs
          username: [email protected]
          password: ${{ secrets.API_TOKEN }}
          confluence-base-url: https://mydomain.atlassian.net/wiki
          space-id: ~1234
          parent-page-id: 123456789

Example of usage in a repository

Bhacaz/docs-as-code-confluence-demo

About

Publish the content of a folder to confluence Github Action

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%