Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Node.js freckle api bindings
JavaScript
branch: master

Merge pull request #2 from teamcolab/master

Entries Search + Pagination
latest commit 5cc398ab30
@tbranyen authored
Failed to load latest commit information.
example fixes
lib removed .orig file, fixed README
README.md removed .orig file, fixed README
package.json initial commit

README.md

Node.js freckle api bindings

Created by Tim Branyen @tbranyen

These bindings work specifically with the Freckle V1 API. If you are not currently using Freckle for time management, you totally should! It rocks! http://letsfreckle.com, it was created by @madrobby who has been excellent with his support.

Installing

Easy install (Recommended)

This will install and configure everything you need to use freckle.

$ sudo npm install freckle

API Example Usage

var freckle = require( 'freckle' );

// All freckle commands are sent over HTTPS

// Add your own subdomain and API token information
freckle( "mysubdomain", "askdfljsdjflkj3" );

// List all users
freckle.users.list(function( err, users ) {
  if( err ) {
    throw new Error( err );
  }

  console.log( users );
}

// Show a specific user
freckle.users.show( 5, function( err, user ) {
  if( err ) {
    throw new Error( err );
  }

  console.log( user );
});

// Fetch a users api token
freckle.users.token({ auth: [ "myemail@address.com", "mypassword" ] }, function( err, token ) {
  if( err ) {
    throw new Error( err );
  }

  console.log( token );
});

// Adding a new time entry
freckle.entries.add({
  'entry': {
    'minutes': "1hr"
  , 'user': "myemail@address.com"
  , 'project_id': 54
  , 'description': 'opensource'
  , 'date': freckle.date( new Date )
  }
}, function( err, data ) {
  if( err ) {
    throw new Error( err );
  }

  console.log( err, data );
});

Search Example Usage

see http://madrobby.github.io/freckle-apidocs/entries.html for search argument specification.

// List all PROGRAMMING entries
var args = {'search': {'tags': 'PROGRAMMING'}};
freckle.entries.search(args, function( err, entries ) {
  if( err ) {
    throw new Error( err );
  }

  console.log( entries );
});

Note: When dealing with the entries API, use the search command instead of the list command. All pages of entries will be returned at once so the result set can become quite large if you do not use search with proper filters.

Release information

v0.0.1:

* Initial potentially complete bindings

Getting involved

If you find this project of interest, please document all issues and fork if you feel you can provide a patch.

Something went wrong with that request. Please try again.