Uploaded image for project: 'Confluence Server and Data Center'
  1. Confluence Server and Data Center
  2. CONFSERVER-40457

Add REST API endpoint for generating space exports

    XMLWordPrintable

Details

    • 398
    • 30
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.

      Suggestion

      The deprecated XML-RPC and SOAP APIs used to have an exportSpace functionality, however they are deprecated since Confluence 5.5. The REST API functionality does not include an option for creating space/site exports. Even if the exported XML is not transferred via the REST interface, the action could trigger the backup of any given space or the instance to the export directory, optionally providing a download link for it

      Workaround
      1. The Confluence CLI provides such functionality, but it is a paid third-party add-on. The above functionality would be important to automate migration/backup tasks for administrators.
      2. Although deprecated, you may still use the RPC-API to export the entire Space – see the examples below.

      Export a Space to XML.

      USRNAME=admin
      USRPWD=password
      CONFBASEURL=http://127.0.0.1:8090/confluence
      SPACE_KEY=SPACEKEY
      
      curl -s \
          --user $USRNAME:$USRPWD \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -X POST \
          -d '{ "jsonrpc" : "2.0", "method" : "exportSpace", "params" : ["'${SPACE_KEY}'", "TYPE_XML", "true"], "id": 7 }' \
          ${CONFBASEURL}'/rpc/json-rpc/confluenceservice-v2?os_authType=basic'
      

      Export a Space to HTML.

      USRNAME=admin
      USRPWD=password
      CONFBASEURL=http://127.0.0.1:8090/confluence
      SPACE_KEY=SPACEKEY
      
      curl -s \
          --user $USRNAME:$USRPWD \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -X POST \
          -d '{ "jsonrpc" : "2.0", "method" : "exportSpace", "params" : ["'${SPACE_KEY}'", "TYPE_HTML", "true"], "id": 7 }' \
          ${CONFBASEURL}'/rpc/json-rpc/confluenceservice-v2?os_authType=basic'
      

      Export a Space to PDF.

      USRNAME=admin
      USRPWD=password
      CONFBASEURL=http://127.0.0.1:8090/confluence
      SPACE_KEY=SPACEKEY
      
      curl -s \
          --user $USRNAME:$USRPWD \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -X POST \
          -d '{ "jsonrpc" : "2.0", "method" : "exportSpace", "params" : ["'${SPACE_KEY}'"], "id": 7 }' \
          ${CONFBASEURL}'/rpc/json-rpc/pdfexport?os_authType=basic'
      

      Space import

      For possible workarounds on importing spaces, please also check this KB article: Confluence Space Import Via Scripting Tools

      Attachments

        Issue Links

          Activity

            People

              03cb0c04aa4f Irina Tiapchenko
              pkoczan Peter Koczan (Inactive)
              Votes:
              348 Vote for this issue
              Watchers:
              195 Start watching this issue

              Dates

                Created:
                Updated: