Long findPageIdByTitle()

in src/main/groovy/com/epam/esp/confluence/ConfluenceHelper.groovy [214:238]


    Long findPageIdByTitle(String spaceKey, String title) {
        List requestParams = [new BasicNameValuePair("title", title),
                              new BasicNameValuePair("spaceKey", spaceKey),
        ]
        URI uri = new URIBuilder(createContentRestUrl())
                .addParameters(requestParams)
                .build()
        def findPageRequest = new HttpGet(uri)
        logger.info(findPageRequest.requestLine.uri)
        def response = client.execute(findPageRequest)
        def findResult = EntityUtils.toString(response.entity)
        if (response.statusLine.statusCode != 200) {
            logger.error("Find Page Request returned ${response.statusLine}")
            logger.error(findResult)
            throw new ConfluenceException("Unexpected API response code")
        } else {
            logger.info("Find Page Request returned " + response.statusLine.toString())
            JSONObject jsonPage = new JSONObject(findResult)
            def pageList = jsonPage.getJSONArray("results")
            if (pageList != null && !pageList.empty) {
                return ((JSONObject) pageList[0]).getLong("id")
            }
            return null
        }
    }