Skip to content

JavaScript / TypeScript library for Node.JS and browsers to easily interact with Atlassian Trello API

License

Notifications You must be signed in to change notification settings

MrRefactoring/trello.js

Repository files navigation

Trello.js logo

NPM version NPM downloads per month build status license

JavaScript / TypeScript library for Node.JS and browsers to easily interact with Atlassian Trello API

About

trello.js is a powerful Node.JS / Browser module that allows you to interact with the Trello API very easily.

Usability, consistency, and performance are key focuses of trello.js, and it also has nearly 100% coverage of the Trello API. It receives new Trello features shortly after they arrive in the API.

Table of contents

Installation

Node.js 10.0.0 or newer is required.

Install with the npm:

npm install trello.js

Install with the yarn:

yarn add trello.js

Usage

Key and token pair issuing

To interact with the Trello API, you must first get API Key and API Token. The official documentation does a good job of describing how to issue a Key and Token pair to work.

Client creation, first request and using algorithm

Take the key and token obtained in the previous step and pass them to TrelloClient, then call to create a new board.

import { TrelloClient } from 'trello.js';

const trelloClient = new TrelloClient({
  key: 'YOUR_API_KEY',
  token: 'YOUR_API_TOKEN',
});

async function main() {
  const createdBoard = await trelloClient.boards.createBoard({
    name: 'My first board',
    desc: 'From trello.js with love'
  });

  console.log(createdBoard);
}

main();

// Expected output:
// {
//   id: '562c56ea71b89509da09b802',
//   name: 'My first board',
//   desc: 'From trello.js with love',
//   descData: null,
//   closed: false,
//   idOrganization: '134d3ee72b12a9636211247e',
//   idEnterprise: null,
//   pinned: false,
//   url: 'https://trello.com/b/hUdovbPJ/my-first-board',
//   shortUrl: 'https://trello.com/b/hUdovbPJ',
//   prefs: {
//     ...
//   },
//   labelNames: {
//     ...
//   },
//   limits: {}
// }

The algorithm for using the library:

client.<group>.<methodName>(parametersObject);

Available groups:

The name of the methods is the name of the endpoint in the group without spaces and in camelCase.

The parameters depend on the specific endpoint. For more information, see here.

Decrease Webpack bundle size

If you use Webpack and need to reduce the size of the assembly, you can create your client with only the groups you use.

import { BaseClient } from 'trello.js';
import { Boards, Members } from 'trello.js/out/api';

export class CustomTrelloClient extends BaseClient {
  boards = new Boards(this);
  members = new Members(this);
}

License

Distributed under the MIT License. See LICENSE for more information.