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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

908ef4b · May 7, 2024

History

37 Commits
May 7, 2024
May 7, 2024
Jan 25, 2022
Jul 24, 2019
Feb 17, 2021
Jan 25, 2022
Feb 17, 2021
Feb 17, 2021
Jul 19, 2023
May 7, 2024
Feb 17, 2021
Jan 5, 2023
May 7, 2024
May 7, 2024
Jan 25, 2022
Jan 17, 2022

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.