The Table from JSON macro allows you to output a table from JSON data source.

The macro supports outputting data from a URL or an attached file.


Using the Table from JSON macro

1. Insert the macro on a page:

  • Start entering /Table from JSON  (or {Table from JSON} in the legacy editor) and select the macro
  • Or on the editor pane, click Insert more content -> Other macros, find the macro and insert it on the page


2. Specify the JSON source option:

You can use {pageId} variable in the URL, which means ID of the current page.

You can use {currentUser.id} variable in the URL, which stands for the email address of the current user.

The case may be to pass this email to the server that generates a JSON file, so that only the specific data related to the current user will be produced.


3. Find the attachment by typing the file name or add a URL to JSON

4.Configure a URL:

  • Select the Authentication type 
  • Optionally set the login and password settings, the authentication header, additional headers.

The request headers format: 

Header name: header value
Another header: another value

The header name and its value should be separated by a colon, headers by line breaks.

5. Enter a JSONPath into the Path to array in the object box or leave it empty if JSON is an array.

Open nested objects with the help of the Expand all nested Object option

You may visit the "Real-life JSON file: a simple use case to try" page, download our example, and play with the settings live.

You can enter several JSON paths, separated by commas

6. Select an appropriate encoding and data format (Plain text/Wiki markup/Markdown) from the list or add it manually.

7. Save the macro and update the page.


Storing  authentication data

Login and password or a custom authentication header are encrypted by the AES-256 algorithm using a secret key and are saved in the macro parameters.In Confluence Cloud, a secret key is stored in the encrypted AWS RDS In Confluence Server/Data Center a secret key is generated individually for each Confluence instance.

The encrypted authentication data can be used only in your Confluence instance and only for the URL you specified when configured the macro, so it is impossible to steal it and use somewhere else.


Custom Authentication with a Jira/Bitbucket/GitLab access token

1. Create a personal access token in your Jira, Bitbucket or GitLab account
2. Insert the Table from JSON macro on the Confluence page
3.
Add a URL to JSON.
To specify a correct URL for GitLab, visit its API documentation
4. Select the Authentication type: Custom
5. Use Bearer Auth without the username
Change request header: Bearer Y
our_Token
6. Save Request header

In general, custom header consists of  Auth_Type Your_Secret