fogbugz.js
Version:
FogBugz client for nodejs.
28 lines (22 loc) • 823 B
text/coffeescript
argv = require('optimist').argv
Q = require('q')
fb = require('fogbugz')
methods = [
'filters', 'projects', 'areas', 'milestones',
'categories', 'priorities', 'people', 'search', 'events'
]
reserved = ['email', 'pwd', 'password', '_', '$0'].concat(methods)
printJson = (x) -> console.log(JSON.stringify(x, null, 2))
printError = (err) -> console.log(err)
printAll = (_) -> [].slice.call(arguments, 0).forEach(printJson)
p = fb
url: 'https://code.datadynamics.com',
email: argv.email,
password: argv.pwd || argv.password
p.fail printError
p.done (client) ->
console.log('token:%s', client.token)
m = methods.filter((m) -> argv.hasOwnProperty(m))[0]
argFilter = (k) -> reserved.indexOf(k) < 0
args = Object.keys(argv).filter(argFilter).map((k) -> argv[k])
client[m].apply(client, args).done(printAll)