Chilkat Online Tools

Foxpro / Atlassian Confluence Cloud / Get blueprint templates

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loQueryParams
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcTemplateId
LOCAL lcPluginKey
LOCAL lcModuleKey
LOCAL lcReferencingBlueprint
LOCAL lcName
LOCAL lcDescription
LOCAL lcTemplateType
LOCAL lcBody
LOCAL lcValue
LOCAL lcRepresentation
LOCAL lcContent
LOCAL lcAllValue
LOCAL lcCssValue
LOCAL lcJsValue
LOCAL lcDataValue
LOCAL lcSuperbatchValue
LOCAL j
LOCAL lnCount_j
LOCAL lcPrefix
LOCAL lcId
LOCAL lcLabel
LOCAL lcEntityIdValue
LOCAL lcEntityValue
LOCAL lcValue
LOCAL lnStart
LOCAL lnLimit
LOCAL lnSize
LOCAL i
LOCAL lnCount_i

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat_9_5_0.Http')

loQueryParams = CreateObject('Chilkat_9_5_0.JsonObject')
loQueryParams.UpdateString("spaceKey","<string>")
loQueryParams.UpdateInt("start",0)
loQueryParams.UpdateInt("limit",25)
loQueryParams.UpdateString("expand","<string>")
loQueryParams.UpdateString("expand","<string>")

* Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"

loResp = loHttp.QuickRequestParams("GET","https://your-domain.atlassian.net/wiki/rest/api/template/blueprint",loQueryParams)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loQueryParams
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

loJResp = CreateObject('Chilkat_9_5_0.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loQueryParams
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loResp

* Sample JSON response:
* (Sample code for parsing the JSON response is shown below)

* {
*   "results": [
*     {
*       "templateId": "velit aute fug",
*       "originalTemplate": {
*         "pluginKey": "id adipisicing ex ea amet",
*         "moduleKey": "elit occaecat exercitation"
*       },
*       "referencingBlueprint": "fug",
*       "name": "do sit esse officia dolore",
*       "description": "commodo et eu",
*       "labels": [
*         {
*           "prefix": "nisi cupidatat in proident",
*           "name": "deserunt magna ut eu",
*           "id": "dolor in",
*           "label": "nostrud culpa enim"
*         },
*         {
*           "prefix": "sint qui labore",
*           "name": "Ut qui exercitation dolore",
*           "id": "non dolor aute",
*           "label": "dolor quis magna ex"
*         }
*       ],
*       "templateType": "officia",
*       "_expandable": {
*         "body": "pariatur Ut deserunt"
*       },
*       "_links": {},
*       "body": {
*         "value": "nulla aliqua culpa anim sunt",
*         "representation": "anonymous_export_view",
*         "_expandable": {
*           "content": "ut est pariatur"
*         },
*         "embeddedContent": [
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           }
*         ],
*         "webresource": {
*           "keys": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "contexts": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "uris": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "tags": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "data": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "superbatch": {
*             "value": "<Error: Too many levels of nesting to fake this schema>"
*           }
*         }
*       }
*     },
*     {
*       "templateId": "voluptate mollit in",
*       "originalTemplate": {
*         "pluginKey": "Excepteur laborum",
*         "moduleKey": "ea nulla"
*       },
*       "referencingBlueprint": "ipsum magna velit adipisicing est",
*       "name": "in velit pariatur",
*       "description": "ipsum qui et",
*       "labels": [
*         {
*           "prefix": "incididunt non laborum sit",
*           "name": "id tempor",
*           "id": "mollit",
*           "label": "deserunt exercitation tempor nulla"
*         },
*         {
*           "prefix": "nostrud dolor",
*           "name": "eiusmod in ad",
*           "id": "cupidatat labore in",
*           "label": "do deserunt amet"
*         }
*       ],
*       "templateType": "aute",
*       "_expandable": {
*         "body": "labore deserunt"
*       },
*       "_links": {},
*       "body": {
*         "value": "aute qui",
*         "representation": "editor2",
*         "_expandable": {
*           "content": "occaecat ea voluptate nostrud"
*         },
*         "embeddedContent": [
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           {
*             "entityId": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "entity": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           }
*         ],
*         "webresource": {
*           "keys": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "contexts": [
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           ],
*           "uris": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "tags": {
*             "all": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "css": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "data": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             },
*             "js": {
*               "value": "<Error: Too many levels of nesting to fake this schema>"
*             }
*           },
*           "superbatch": {
*             "value": "<Error: Too many levels of nesting to fake this schema>"
*           }
*         }
*       }
*     }
*   ],
*   "start": -43882824,
*   "limit": 59508609,
*   "size": -8662482,
*   "_links": {}
* }

* Sample code for parsing the JSON response...
* Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

lnStart = loJResp.IntOf("start")
lnLimit = loJResp.IntOf("limit")
lnSize = loJResp.IntOf("size")
i = 0
lnCount_i = loJResp.SizeOfArray("results")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcTemplateId = loJResp.StringOf("results[i].templateId")
    lcPluginKey = loJResp.StringOf("results[i].originalTemplate.pluginKey")
    lcModuleKey = loJResp.StringOf("results[i].originalTemplate.moduleKey")
    lcReferencingBlueprint = loJResp.StringOf("results[i].referencingBlueprint")
    lcName = loJResp.StringOf("results[i].name")
    lcDescription = loJResp.StringOf("results[i].description")
    lcTemplateType = loJResp.StringOf("results[i].templateType")
    lcBody = loJResp.StringOf("results[i]._expandable.body")
    lcValue = loJResp.StringOf("results[i].body.value")
    lcRepresentation = loJResp.StringOf("results[i].body.representation")
    lcContent = loJResp.StringOf("results[i].body._expandable.content")
    lcAllValue = loJResp.StringOf("results[i].body.webresource.uris.all.value")
    lcCssValue = loJResp.StringOf("results[i].body.webresource.uris.css.value")
    lcJsValue = loJResp.StringOf("results[i].body.webresource.uris.js.value")
    lcAllValue = loJResp.StringOf("results[i].body.webresource.tags.all.value")
    lcCssValue = loJResp.StringOf("results[i].body.webresource.tags.css.value")
    lcDataValue = loJResp.StringOf("results[i].body.webresource.tags.data.value")
    lcJsValue = loJResp.StringOf("results[i].body.webresource.tags.js.value")
    lcSuperbatchValue = loJResp.StringOf("results[i].body.webresource.superbatch.value")
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].labels")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcPrefix = loJResp.StringOf("results[i].labels[j].prefix")
        lcName = loJResp.StringOf("results[i].labels[j].name")
        lcId = loJResp.StringOf("results[i].labels[j].id")
        lcLabel = loJResp.StringOf("results[i].labels[j].label")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].body.embeddedContent")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcEntityIdValue = loJResp.StringOf("results[i].body.embeddedContent[j].entityId.value")
        lcEntityValue = loJResp.StringOf("results[i].body.embeddedContent[j].entity.value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].body.webresource.keys")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("results[i].body.webresource.keys[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("results[i].body.webresource.contexts")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("results[i].body.webresource.contexts[j].value")
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loQueryParams
RELEASE loSbResponseBody
RELEASE loJResp

Curl Command

curl -G -d "spaceKey=%3Cstring%3E"
	-d "start=0"
	-d "limit=25"
	-d "expand=%3Cstring%3E"
	-d "expand=%3Cstring%3E"
	-H "Authorization: Bearer <access_token>"
https://your-domain.atlassian.net/wiki/rest/api/template/blueprint

Postman Collection Item JSON

{
  "name": "Get blueprint templates",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/api/template/blueprint?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "api",
        "template",
        "blueprint"
      ],
      "query": [
        {
          "key": "spaceKey",
          "value": "<string>",
          "description": "The key of the space to be queried for templates. If the `spaceKey`\nis not specified, global blueprint templates will be returned."
        },
        {
          "key": "start",
          "value": "0",
          "description": "The starting index of the returned templates."
        },
        {
          "key": "limit",
          "value": "25",
          "description": "The maximum number of templates to return per page.\nNote, this may be restricted by fixed system limits."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` returns the content of the template in storage format."
        },
        {
          "key": "expand",
          "value": "<string>",
          "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` returns the content of the template in storage format."
        }
      ]
    },
    "description": "Returns all templates provided by blueprints. Use this method to retrieve\nall global blueprint templates or all blueprint templates in a space.\n\nNote, all global blueprints are inherited by each space. Space blueprints\ncan be customised without affecting the global blueprints.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission)."
  },
  "response": [
    {
      "name": "Returned if the requested templates are returned.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/template/blueprint?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "template",
            "blueprint"
          ],
          "query": [
            {
              "key": "spaceKey",
              "value": "<string>"
            },
            {
              "key": "start",
              "value": "0"
            },
            {
              "key": "limit",
              "value": "25"
            },
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"results\": [\n  {\n   \"templateId\": \"velit aute fug\",\n   \"originalTemplate\": {\n    \"pluginKey\": \"id adipisicing ex ea amet\",\n    \"moduleKey\": \"elit occaecat exercitation\"\n   },\n   \"referencingBlueprint\": \"fug\",\n   \"name\": \"do sit esse officia dolore\",\n   \"description\": \"commodo et eu\",\n   \"labels\": [\n    {\n     \"prefix\": \"nisi cupidatat in proident\",\n     \"name\": \"deserunt magna ut eu\",\n     \"id\": \"dolor in\",\n     \"label\": \"nostrud culpa enim\"\n    },\n    {\n     \"prefix\": \"sint qui labore\",\n     \"name\": \"Ut qui exercitation dolore\",\n     \"id\": \"non dolor aute\",\n     \"label\": \"dolor quis magna ex\"\n    }\n   ],\n   \"templateType\": \"officia\",\n   \"_expandable\": {\n    \"body\": \"pariatur Ut deserunt\"\n   },\n   \"_links\": {},\n   \"body\": {\n    \"value\": \"nulla aliqua culpa anim sunt\",\n    \"representation\": \"anonymous_export_view\",\n    \"_expandable\": {\n     \"content\": \"ut est pariatur\"\n    },\n    \"embeddedContent\": [\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     }\n    ],\n    \"webresource\": {\n     \"keys\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"contexts\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"uris\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"tags\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"data\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"superbatch\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    }\n   }\n  },\n  {\n   \"templateId\": \"voluptate mollit in\",\n   \"originalTemplate\": {\n    \"pluginKey\": \"Excepteur laborum\",\n    \"moduleKey\": \"ea nulla\"\n   },\n   \"referencingBlueprint\": \"ipsum magna velit adipisicing est\",\n   \"name\": \"in velit pariatur\",\n   \"description\": \"ipsum qui et\",\n   \"labels\": [\n    {\n     \"prefix\": \"incididunt non laborum sit\",\n     \"name\": \"id tempor\",\n     \"id\": \"mollit\",\n     \"label\": \"deserunt exercitation tempor nulla\"\n    },\n    {\n     \"prefix\": \"nostrud dolor\",\n     \"name\": \"eiusmod in ad\",\n     \"id\": \"cupidatat labore in\",\n     \"label\": \"do deserunt amet\"\n    }\n   ],\n   \"templateType\": \"aute\",\n   \"_expandable\": {\n    \"body\": \"labore deserunt\"\n   },\n   \"_links\": {},\n   \"body\": {\n    \"value\": \"aute qui\",\n    \"representation\": \"editor2\",\n    \"_expandable\": {\n     \"content\": \"occaecat ea voluptate nostrud\"\n    },\n    \"embeddedContent\": [\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     {\n      \"entityId\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"entity\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     }\n    ],\n    \"webresource\": {\n     \"keys\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"contexts\": [\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     ],\n     \"uris\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"tags\": {\n      \"all\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"css\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"data\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      },\n      \"js\": {\n       \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n      }\n     },\n     \"superbatch\": {\n      \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n     }\n    }\n   }\n  }\n ],\n \"start\": -43882824,\n \"limit\": 59508609,\n \"size\": -8662482,\n \"_links\": {}\n}"
    },
    {
      "name": "Returned if the calling user does not have permission to view\nblueprint templates.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": {
              "content": "Added as a part of security scheme: oauth2",
              "type": "text/plain"
            },
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/api/template/blueprint?spaceKey=<string>&start=0&limit=25&expand=<string>&expand=<string>",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "template",
            "blueprint"
          ],
          "query": [
            {
              "key": "spaceKey",
              "value": "<string>"
            },
            {
              "key": "start",
              "value": "0"
            },
            {
              "key": "limit",
              "value": "25"
            },
            {
              "key": "expand",
              "value": "<string>"
            },
            {
              "key": "expand",
              "value": "<string>"
            }
          ]
        }
      },
      "status": "Forbidden",
      "code": 403,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}