Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
leankit-client
Advanced tools
Readme
The LeanKit client module for Node.js provides an easy-to-use set of functions designed to simplify the integration of external systems and utilities with your LeanKit account. The client supports both callbacks and promises. There is also a LeanKitEvents
module for subscribing to board events.
npm install leankit-client
var LeanKitClient = require( "leankit-client" );
var client = new LeanKitClient( "account-name", "your@email.com", "your-p@ssw0rd" );
client.getBoards( function( err, boards ) {
console.log( boards );
} );
var LeanKitClient = require( "leankit-client" );
var client = new LeanKitClient( "account-name", "your@email.com", "your-p@ssw0rd" );
client.getBoards().then( function( boards ) {
console.log( boards );
}, function( err ) {
console.log( "ERR:", err );
} );
Review the tests for a full list of client functions and how to use them.
The LeanKit Client includes a module for monitoring a board for events, such as when cards are created, moved, assigned, and so forth.
Events usage
var LeanKitEvents = require( "leankit-client/events" );
var events = new LeanKitEvents( client, boardId [, version] [, pollInterval] );
events.on( "event-name", function( e ) {
// Do something with the event
} );
events.start();
Constructor options
Parameter | Description |
---|---|
client | An instance of the LeanKitClient . |
boardId | The ID of the LeanKit Board to subscribe to. |
version | Optional Board version number. If events have occurred since the given version , those will be returned immediately. |
pollInterval | Optional polling interval in seconds. The default is 30 seconds. |
Sample
var LeanKitClient = require( "leankit-client" );
var LeanKitEvents = require( "leankit-client/events" );
var client = new LeanKitClient( "account-name", "your@email.com", "your-p@ssw0rd" );
var boardId = 445566789; // The board ID to subscribe to
var events = new LeanKitEvents( client, boardId );
events.on( "card-creation", function( e ) {
console.log( e );
} );
events.start();
Sample output when a card is added to the subscribed board:
{ cardId: 123456789,
eventType: 'card-creation',
eventDateTime: '11/06/2015 03:38:05 PM',
message: 'David Neal created the Card [Sample Card 1] within Lane [ToDo].',
toLaneId: 456789123,
fromLaneId: null,
requiresBoardRefresh: false,
isBlocked: false,
blockedComment: null,
userId: 62984826,
assignedUserId: 0,
isUnassigning: false,
commentText: null,
wipOverrideComment: null,
wipOverrideLane: 0,
wipOverrideUser: 0,
taskboardParentCardId: 0,
taskboardId: 0,
boardVersion: 2 }
Card events
Event | Description |
---|---|
card-creation | Occurs when a new card is added to a board. |
card-move | Occurs when a card is moved on the board. |
card-fields-changed | Occurs when a card's fields are modified (e.g. Title, Description, and so forth) |
comment-post | Occurs when a user posts a comment on a card. |
user-assignment | Occurs when users are assigned or unassigned from a card. Check the isUnassigning property to know whether the user is being assigned or unassigned. |
attachment-change | Occurs when an attachment is added to a card. |
card-blocked | Occurs when a card is blocked or unblocked. Check the isBlocked property to know whether the card was blocked or unblocked. |
card-move-from-board | Occurs when a card is moved from the board being monitored to another board. |
card-move-to-board | Occurs when a card is moved from another board to the board being monitored. |
card-deleted | Occurs when a card is deleted. |
Board events
Event | Description |
---|---|
board-edit | Occurs when the board layout/structure is modified. |
activity-types-changed | Occurs when custom icons are modified. |
board-card-types-changed | Occurs when card types for the board are modified. |
To use the LeanKit client behind a proxy server, pass an options object to the module constructor that includes the proxy server. For example:
var LeanKitClient = require("leankit-client");
var client = LeanKitClient.createClient("account-name", "your@email.com", "your-p@ssw0rd", { "proxy": "http://localproxy.com" } );
This options
object is the same object used by the request module.
Install babel
Clone or download the leankit-node-client
Github repository.
Open a Terminal window, change to the repository folder, and install dependent packages.
npm install
Create a folder in your node application's node_modules
folder named leankit-client
(e.g. `[project-name]/node_modules/leankit-client).
Copy all the files and folders in the leankit-node-client
folder to the leankit-client
folder created in the previous step.
Set environment variables for the LeanKit account you wish to test with.
OSX/Linux
export LEANKIT_ACCOUNT=your-account-name
export LEANKIT_EMAIL=your@email.com
export LEANKIT_PASSWORD=your-p@ssw0rd
export LEANKIT_TEST_BOARD=name-of-your-test-board
Windows
setx LEANKIT_ACCOUNT "your-account-name"
setx LEANKIT_EMAIL "your@email.com"
setx LEANKIT_PASSWORD "your-p@ssw0rd"
setx LEANKIT_TEST_BOARD "name-of-your-test-board"
Note: On Windows, you will need to reopen your command prompt after setting environment variables.
Install Mocha
npm install -g mocha
Open Terminal and change to the LeanKit Node Client directory
Run tests
npm test
Visit support.leankit.com.
The LeanKit Node Client is licensed under MIT. Refer to license.txt for more information.
FAQs
Node.js API client for use with LeanKit
We found that leankit-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).