Macro to include code snippets, files, issues, and more from Github into Confluence


Features

  • Include and render markdown files from Github into Confluence.
  • Include issue lists from Github into Confluence.
  • Include pull request lists from Github into Confluence.
  • Support for both private and public repositories.

Configuration


You'll need a personal access token from Github to configure the plugin for server. To create a personal access token, go to this link.

Once you've obtained a personal access token click the Add new token button on the plugin configuration page. 

You'll be presented with a configuration dialog. Enter your username and personal access token here. If you're using Github Enterprise, you can also add the optional URL for your own Github server. Once you're done click the Add button.

Use tokens to resolve images and links in Markdown files

Also, you can select whether to use tokens when resolving images and links in Markdown files. This allows to render images from private repositories properly when you view or export page, for any authenticated user.

Note, that separate Github API call is used to resolve image or link Github url in this case. Since Github has a hour limits for API calls, this may be undesired: if you rich limit, content from private repos won't be resolved until end of rate limit period. In this case just un-check this option (saved automatically in background), and tokens will be used to fetch the content of private Markdown files only.


You're now ready to use the macro!

Available Macros

  • Github Pull Request List
  • Github Issue List
  • Github Markdown File
  • Github File Content

Here is an example of the Github Pull Request List macro filled out. We used a public repository so you can copy the values if you want to try it out for yourselves.

Using the Macro

To use the macro, select your token from the dropdown, and add the username or organization name for the repository you want to pull information from. 

Pull requests and issues have a query field. You can use Github's Query language to select pull requests or issues you want to display.