How to get URLs from Confluence pages using Confluence Command Line Interface

This article explains how to get URLs from the Confluence pages based on the regex pattern using the Confluence Command Line Interface (CLI) app.

Instructions

Use the runFromPageList and getSource actions to export all the URLs from Confluence pages to a CSV file based on the given parameters. 

  • Execute the below command to get all links from all pages in all spaces of a Confluence instance:

    --action runFromPageList --space "@all" --clearFileBeforeAppend --common "--action getSource --id @pageId@ --special: "" #"" --append --file spaceLinkList.txt"  --input "--findReplaceRegex ""(?s).*?href=.(http[s]{0,1}://[./a-z]+)#$1,"" --findReplaceRegex ""(?s)(((http[s]{0,1}://[./a-z]+),)*).*#$1"" --findReplaceRegex "",#' \n '"" "
  • Execute the below command to get all the links from a single page of a space:

    --action getSource --space "ZCLI" --title "PAGE2" --special " #" --findReplaceRegex "(?s).*?href=\"(http[s]{0,1}://[./a-z]+)#\$1 \n"

The output from the above commands is added to the CSV file is similar to:

The parameters used in the actions are:

  • --spaceName of the space. In this case, @all represents all spaces in an instance.
  • --clearFileBeforeAppend: This option automatically clears an existing file on the first append requested.
  • --id: IDs of pages. In this case, it searches for all the pages in the spaces using @pageId@.
  • --filePath/name to file of result output.
  • --findReplaceRegex: The regex pattern used to match the patterns of the links.
  • --special: Characters used for specialized processing of some specific parameters.
  • --append: The option appends output to the existing file.


  • The above action is available from CLI v9.3 and above. 
  • Make sure the regex pattern matches the pattern of the page links to get meaningful output.
  • The above commands work on a Windows machine. Make sure you update the syntax accordingly for Linux based machines.