confluence-restapi
v1.0.1
Published
This project contains a Node.js module which wraps Atlassian's Confluence API.
Downloads
5
Maintainers
Readme
Atlssian Confluence API
This project contains some Node.js modules which wraps Atlassian's Confluence APIs.
Features
This client wraps all Confluence Cloud REST APIs with nodejs, including:
- Audit
- Content
- Group
- Longtask
- Relation
- Search
- Settings
- Space
- Template
- User
Reference: https://developer.atlassian.com/cloud/confluence/rest/
Installation
$ npm install confluence-restapi
Usages
Define the client config, like:
var config = { user: "*****", password: "*****", baseUrl: "https://******.atlassian.net/wiki/rest/api" };
More config options parameters, refer to: https://www.npmjs.com/package/node-rest-client
Create a client instance, like:
var ConfluenceAPI = require("confluence-restapi"); var confluenceAPI = ConfluenceAPI.create(config);
Call API with the above instance, like:
//demo1: get contents var params = { start : 0, limit : 5 }; confluenceAPI.content.getContent(params, function(err, data) { if(err){ console.log(err); return; } console.log(JSON.stringify(data)); }); //demo2: create content var params = { status : 'current' }; var request = { ancestors: [{ id : "1802243" }], body: { "storage": { "value": "<p>This page was created by RESTAPI. Creator: Sam.Li</p>", "representation": "storage" } }, space: { key : "TES" }, status: "current", title: "This page was created at " + new Date(), type: "page" }; confluenceAPI.content.createContent(params, request, function(err, data) { if(err){ console.log(err); return; } console.log(JSON.stringify(data)); }); //demo3: get content by id var contentId = tempContentId; var params = { embeddedContentRender : "current", status: "current" }; confluenceAPI.content.getContentById(contentId, params, function(err, data) { if(err){ console.log(err); return; } console.log(JSON.stringify(data)); }); //demo4: update content var contentId = tempContentId; var params = { conflictPolicy: "abort", status : 'current' }; var request = { ancestors: [{ id : "1802243" }], body: { "storage": { "value": "<p>This page was updated by RESTAPI. Creator: Sam.Li</p><p>Updated at: " + new Date() + "</p>", "representation": "storage" } }, space: { key : "TES" }, status: "current", title: "This page was updated at " + new Date(), type: "page", version: { number: versionNum+1 } }; confluenceAPI.content.updateContent(contentId, params, request, function(err, data) { if(err){ console.log(err); return; } console.log(JSON.stringify(data)); }); //demo5: search with CQL var params = { cql: "creator=admin and title ~ \"test*\"", limit: 10, start: 0 }; confluenceAPI.search.search(params, function(err, data) { if(err){ console.log(err); return; } console.log(JSON.stringify(data)); }); //demo6: create attachment var contentId = "1802243"; var params = { status: "current" }; var attachFileName = "./attachment.txt"; var form = { file : { value: fs.createReadStream(attachFileName), options: { filename: attachFileName, contentType: 'text/plain' } }, comment: "Create attachment", minorEdit: 'false' }; confluenceAPI.content.createAttachment(contentId, params, form, function(err, data) { if(err){ console.log(err); return; } console.log(JSON.stringify(data)); });
Lisence
Lisenced under MIT Lisence
Contact
Email: [email protected]
QQ: 1427894034