Socket
Socket
Sign inDemoInstall

leankit-client

Package Overview
Dependencies
297
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.6.0 to 1.0.0-beta

client.js

24

package.json

@@ -17,3 +17,4 @@ {

],
"version": "0.6.0",
"license": "SEE LICENSE IN https://github.com/LeanKit/leankit-node-client/blob/master/LICENSE",
"version": "1.0.0-beta",
"homepage": "https://github.com/LeanKit/leankit-node-client/",

@@ -35,14 +36,23 @@ "bugs": {

},
"main": "./leankit-client.js",
"main": "./client.js",
"dependencies": {
"babel": "~5.0",
"change-case": "^2.3.0",
"lodash": "~2.4.0",
"request-json": "~0.5.2",
"lodash": "2.4.*"
"when": "~3.7.4"
},
"devDependencies": {
"mocha": "*",
"nock": "^0.48.2",
"should": "*"
"chai": "^3.4.1",
"chai-as-promised": "^5.1.0",
"fs-jetpack": "^0.7.0",
"mocha": "^2.3.3",
"nock": "^3.1.0",
"sinon": "^1.17.2"
},
"scripts": {
"test": "mocha --reporter spec"
"test": "./node_modules/mocha/bin/mocha --compilers js:babel/register --reporter spec",
"test-events": "./node_modules/mocha/bin/mocha ./test/event-tests.js --compilers js:babel/register --reporter spec",
"test-client": "./node_modules/mocha/bin/mocha ./test/client-tests.js --compilers js:babel/register --reporter spec",
"compile": "babel ./src --out-dir ./"
},

@@ -49,0 +59,0 @@ "repository": {

## LeanKit Node Client
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 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.

@@ -12,15 +12,118 @@ ### Requirements

npm install leankit-client
```
npm install leankit-client
```
### Client usage
### Client usage (callbacks)
var LeanKitClient = require('leankit-client');
var client = LeanKitClient.createClient('account-name', 'your@email.com', 'your-p@ssw0rd');
```
var LeanKitClient = require( "leankit-client" );
var client = new LeanKitClient( "account-name", "your@email.com", "your-p@ssw0rd" );
client.getBoards(function(err, res){
console.log(res);
});
client.getBoards( function( err, boards ) {
console.log( boards );
} );
```
Review the [tests](https://github.com/LeanKit/leankit-node-client/blob/master/test/client-tests.js) for a full list of client functions and how to use them.
### Client usage (promises)
```
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](https://github.com/LeanKit/leankit-node-client/tree/master/test) for a full list of client functions and how to use them.
### Subscribe to events
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.|
### Proxy support

@@ -30,13 +133,18 @@

var LeanKitClient = require('leankit-client');
var client = LeanKitClient.createClient('account-name', 'your@email.com', 'your-p@ssw0rd', { 'proxy': 'http://localproxy.com' } );
```
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](https://github.com/mikeal/request#requestoptions-callback).
This `options` object is the same object used by the [request module](https://github.com/mikeal/request#requestoptions-callback).
### Installing Manually
### Installing manually
* Install [babel](https://babeljs.io/docs/setup/#node)
* Clone or download the `leankit-node-client` Github repository.
* Open a Terminal window, change to the repository folder, and install dependent packages.
npm install
```
npm install
```

@@ -46,3 +154,3 @@ * Create a folder in your node application's `node_modules` folder named `leankit-client` (e.g. `[project-name]/node_modules/leankit-client).

### Running Tests
### Running tests

@@ -53,13 +161,17 @@ * Set environment variables for the LeanKit account you wish to test with.

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
```
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"
```
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"
```

@@ -70,3 +182,5 @@ Note: On Windows, you will need to reopen your command prompt after setting environment variables.

npm install -g mocha
```
npm install -g mocha
```

@@ -76,3 +190,5 @@ * Open Terminal and change to the LeanKit Node Client directory

npm test
```
npm test
```

@@ -79,0 +195,0 @@ ### Questions?

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc