trello-bridge

3.0.0 • Public • Published

trello-bridge

trello-bridge is a tiny Node module to interface with the Trello API (for Node 4+)

So small that maybe it shouldn't even be a module :)

Wherefore?

All of the other Trello <-> Node modules that I came across were overcomplicated - not only do I need to keep in mind the Trello API, but now also the module's own API.

Instead, this module, given your Trello key and token, returns a new function that accepts a resource and query parameters. The Trello API is, again, straightforward enough to not need anything more, and using this way, custom methods can be easily composed.

Install

npm install trello-bridge

And then you will need:

  • Trello key - https://trello.com/1/appKey/generate
  • Trello token - Vist https://trello.com/1/authorize?key=<YOUR_PUBLIC_API_KEY>&name=<YOUR_APPLICATION_NAME>&expiration=never&scope=read,write&response_type=token - and authorize your application and save down the returned token

Usage/API

Given your Trello key and token...

const trello = require('trello-bridge')(TRELLO_KEY, TRELLO_TOKEN);

...the module returns a new function that expects

  • a resource string e.g. '/boards'
  • an optional params object e.g. { card_fields: 'badges,due,subscribed' }
  • an optional method string, the default is 'get'
  • an optional body (for 'put' and 'post')

And returns a Promise:

trello(resource, params, method, body).then(res => ...)

More Examples

const boardId = '123abc';

trello(`/boards/${boardId}`, {
  lists: 'open',
  list_fields: 'name',
  fields: 'name,desc'
})
.then(response => {
  console.log(response)
})
.catch(error => {
  console.log(error)
})

This lends to composing functions which are after custom data very easily:

const id = '5241ca4541f5dafeca7402ce';
const specialBoard = (prop, queries) => trello(`/boards/${id}/${prop}`, queries);

specialBoard('lists')
.then(response => {
  // Do something with the lists from 'special board'
})

specialBoard('cards', { actions: 'createCard' })
.then(response => {
  // Filter for cards on 'special board' that were created sooner than 10 days ago
  return response.filter(card => {
    return parseInt(moment().diff(moment(card.actions[0].date), 'days'), 10) <= 10;
  });
})

Readme

Keywords

Package Sidebar

Install

npm i trello-bridge

Weekly Downloads

0

Version

3.0.0

License

ISC

Last publish

Collaborators

  • jasonmendes