This cookbook provides snippets of code you can use in Confluence Cloud apps built with Connect.
Forge is our recommended platform for building Atlassian cloud apps. See the cloud development platform overview for a comparison between Forge and Connect.
This retrieves a list of spaces from Confluence. If there are many spaces in your instance, you might need to page through the results to see all of them.
1 2AP.request({ url: '/rest/api/space', success: function(response) { // convert the string response to JSON response = JSON.parse(response); // dump out the response to the console console.log(response); }, error: function() { console.log(arguments); } });
This code requests a specific Confluence space by space key. In this example, the space key is
ds
. The result also provides some high-level information about the space. If you're looking for
more information about a space, you can find out about the content in the space in the next example,
using /rest/api/space/{space.key}/content
.
1 2AP.request({ url: '/rest/api/space/ds', success: function(response) { // convert the string response to JSON response = JSON.parse(response); // dump out the response to the console console.log(response); }, error: function() { console.log(arguments); } });
This code returns a collection for a given space key (ds
in the example below)
containing objects representing content such as pages and blog posts.
1 2var space AP.request({ url: '/rest/api/space/ds/content', success: function(response) { // convert the string response to JSON response = JSON.parse(response); // dump out the response to the console console.log(response); }, error: function() { console.log(arguments); } });
To listen for more than one event type, add webhooks to the webhooks
module of your app descriptor, and add a route handler for each.
Here is an example modules
section showing two webhooks:
1 2"modules": { "webhooks": [ { "event": "page_viewed", "url": "/page_viewed" }, { "event": "comment_created", "url": "/comment_created" } ] }
Here are some minimal route handlers to match:
1 2app.post('/page_viewed', addon.authenticate(), function (req, res) { console.log("Account ID " + req.body.userAccountId + " viewed page '" + req.body.page.title + "' at URL '" + req.body.page.self + "'."); } ); app.post('/comment_created', addon.authenticate(), function (req, res) { console.log("Comment created."); } );
Rate this page: