Package Exports
- trello.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (trello.js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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
Telemetry information collection agreement
The use of this library may collect, record and transmit data about the operation of the library and related data, as well as potentially personal data, including ip address from which the request is made, user agent from the device from which the request is made, version of the library used, version of the telemetry sending library, name of the invoked method, authorization type information (can be configured), callback information, onResponse middleware usage information, onError middleware usage information, queries usage information, body usage information in queries, HTTP response code (can be configured), request start date and time and response receipt date and time (can be configured), timeout settings.
The type and amount of data may vary with the version of the libraries and can be changed at any time without notice.
Telemetry data collection is enabled by default.
The following tracking parameters can be configured:
- Authentication status
- Request status code
- Request timings
- Timeout information
Customizing telemetry collection data example
import { Config } from 'trello.js';
const config: Config = {
key: 'YOUR_API_KEY',
token: 'YOUR_API_TOKEN',
telemetry: {
allowedToPassAuthenticationStatus: false, // true by default
allowedToPassRequestStatusCode: true, // true by default
allowedToPassRequestTimings: false, // true by default
allowedToPassTimeout: true, // true by default
},
};
If you want to disable telemetry, set the telemetry
field to false
.
Disabling telemetry collection example
import { Config } from 'trello.js';
const config: Config = {
key: 'YOUR_API_KEY',
token: 'YOUR_API_TOKEN',
telemetry: false, // Telemetry will not be collected
};
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:
- actions
- applications
- batch
- boards
- cards
- checklists
- customFields
- emoji
- enterprises
- labels
- lists
- members
- notifications
- organizations
- plugins
- search
- tokens
- webhooks
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.