A node.js client for the Axosoft API
This library is built to support v6 of the Axosoft REST API and has been tested with both axosoft.com hosted accounts and Axosoft installed on premise. Any questions can be sent to [email protected].
Here's a link to our full documentation for the Axosoft REST API.
Install with the node package manager npm:
$ npm install --save node-axosoft
var nodeAxosoft = require('node-axosoft');
var credentials = {};
var axosoftUrl = 'https://example.axosoft.com;
//Populate Credentials (See Below)
var axo = nodeAxosoft(axosoftUrl, credentials);
####Via User Name and Password
credentials.client_id = 'your client id';
credentials.client_secret = 'your client secret';
credentials.grant_type = 'password';
credentials.username = 'your username';
credentials.password = 'secret';
credentials.client_id = 'your client id';
credentials.client_secret = 'your client secret';
credentials.grant_type = 'authorization_code';
credentials.redirect_uri = 'https://exampleredirect.com';
var axo = nodeAxosoft(axosoftUrl, credentials);
axo.Api.getLoginUrl(function(url) {
// open browser using authorizationUrl and get code parameter from redirected Url after login
var code = 'code received from redirect';
axo.Api.exchangeCodeForToken(code);
});
//Create Non Expiring Token by logging into Axosoft account, Clicking on Tools/System Options/Axosoft API Settings/Manage Tokens, and make non-expiring token.
credentials.access_token = 'your non-expiring token';
var axo = nodeAxosoft(axosoftUrl, credentials);
//optional parameters
var params = {columns: 'name'};
axo.Features.get(params, function(error, response){
console.log(response.data);
});
params = {};
item = {};
item.project = {id: 1}; //required
item.name = 'Test Item Name';
params.item = item;
//create new feature
axo.Features.add(params, function(error, response){
console.log(response);
});
node-axosoft also offers promise versions of its API functions. To use them, just require node-axosoft/promise
instead of node-axosoft
.
var nodeAxosoft = require('node-axosoft/promise');
var axo = nodeAxosoft(axosoftUrl, credentials);
// get items
axo.Features.get()
.then(function(response) {
console.log(response);
});
Test features on our RunKit. Just Clone the notebook and update the Axosoft Url and Access Token to test calls with your account.