@webda/confluence-api
v2.0.0-beta.0
Published
Confluence API wrapper for NodeJS Rewrite in typescript from https://github.com/johnpduane/confluence-api
Downloads
38
Readme
Confluence API
This project contains a Node.js module which wraps Atlassian's Confluence API.
Dependencies
node-fetch form-data @types/node
Getting Started
Install confluence-api via npm:
$ npm install confluence-api
Create an instance of Confluence by providing a username and password (or token) and a baseUrl used for all future requests. Confluence uses basic http authentication. For instance:
import Confluence from "confluence-api";
let config = {
username: "testuser",
password: "test-user-pw-or-rest-api-token",
baseUrl: "https://confluence-api-test.atlassian.net/wiki",
version: 4 // Confluence major version, optional
};
const confluence = new Confluence(config);
let data = await confluence.getContentByPageTitle("space-name", "page-title");
// do something interesting with data; for instance,
// data.results[0].body.storage.value contains the stored markup for the first
// page found in space 'space-name' matching page title 'page-title'
Confluence currently exposes the following API...
Confluence
Kind: global class this: {Confluence}
- Confluence
- new Confluence(config)
- .getSpaces(space, callback)
- .getSpace(space, callback)
- .getSpaceHomePage(space, callback)
- .getContentById(id, callback)
- .getCustomContentById(options, callback)
- .getContentByPageTitle(space, title, callback)
- .postContent(space, title, content, parentId, callback, representation)
- .putContent(space, id, version, title, content, callback, minorEdit, representation)
- .deleteContent(id, callback)
- .getAttachments(space, id, callback)
- .createAttachment(space, id, filepath, callback)
- .updateAttachmentData(space, id, attachmentId, filepath, callback)
- .getLabels(id, callback)
- .postLabels(id, labels, callback)
- .deleteLabel(id, label, callback)
- .search(query, callback)
- .getContentChildByContentId(id, child_type)
- .getContentDescendantByContentId(id, child_type)
- .getPageAsPdf(id)
new Confluence(config)
Construct Confluence.
| Param | Type | Description | | --- | --- | --- | | config | Object | | | config.username | string | | | config.password | string | The password or REST API Token for the user (docs) | | config.baseUrl | string | | | config.version | number | Optional |
confluence.getSpaces()
Get all spaces information, cycling through res.limit.
Kind: instance method of Confluence
confluence.getSpace(space)
Get space information.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | space | string |
confluence.getSpaceHomePage(space)
Get space home page.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | space | string |
confluence.getContentById(id)
Get stored content for a specific space and page title.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string |
confluence.getCustomContentById(options)
Get stored content for a specific page id with optional custom expanders.
Kind: instance method of Confluence
| Param | Type | Description | | --- | --- | --- | | options | object | for the custom content request |
confluence.getContentByPageTitle(space, title)
Get stored content for a specific space and page title.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | space | string | | title | string |
confluence.postContent(space, title, content, parentId, representation)
Post content to a new page.
Kind: instance method of Confluence
| Param | Type | Description | | --- | --- | --- | | space | string | | | title | string | | | content | string | | | parentId | number | A null value will cause the page to be added under the space's home page | | representation | string | Optional |
confluence.putContent(space, id, version, title, content, minorEdit, representation)
Put/update stored content for a page.
Kind: instance method of Confluence
| Param | Type | Description | | --- | --- | --- | | space | string | | | id | string | | | version | number | | | title | string | | | content | string | | | minorEdit | boolean | Optional | | representation | string | Optional |
confluence.deleteContent(id)
Delete a page.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string |
confluence.getAttachments(space, id)
Get attachments
Kind: instance method of Confluence
| Param | Type | | --- | --- | | space | string | | id | string |
confluence.createAttachment(space, id, filepath)
This allows you to post attachments to the pages you create.
Kind: instance method of Confluence
| Param | Type | Description | | --- | --- | --- | | space | string | | | id | string | | | filepath | string | absolute path of the file you are sending |
confluence.updateAttachmentData(space, id, attachmentId, filepath)
This allows you to update posted attachments data
Kind: instance method of Confluence
| Param | Type | | --- | --- | | space | string | | id | string | | attachmentId | string | | filepath | string |
confluence.getLabels(id)
Get labels from content
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string |
confluence.postLabels(id, labels)
Post content labels to a existing page.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string | | labels | Array.<{prefix:string, name:string}> |
confluence.deleteLabel(id, label)
Delete a label from a page.
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string | | label | string |
confluence.search(query)
Search by query
Kind: instance method of Confluence
| Param | Type | | --- | --- | | query | string |
confluence.getContentChildByContentId(id, child_type)
See doc Inspired from haalcala based on his PR
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string | | child_type | string |
confluence.getContentDescendantByContentId(id, child_type)
See doc Inspired from haalcala based on his PR
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string | | child_type | string |
confluence.getPageAsPdf(id)
Inspired from this
Returns pdf buffer that can be:
- written with fs.writeFile
- be handled with an another pdf library such as pdf-lib
Kind: instance method of Confluence
| Param | Type | | --- | --- | | id | string |
request
Node.js wrapper for Atlassian's Confluence API. See https://developer.atlassian.com/confdev/confluence-rest-api
Copyright (c) 2015, John Duane Newly features have been implemented by loopingz team freely inspired from haalcala work and atlassian-python-api contributors work
Released under the MIT License