Skip to content

gsRatti1/orchestrator-nodejs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uipath-orchestrator

This is a Node.JS client for UiPath Orchestrator.

Table of content

  1. Installation
  2. Usage
  3. TODO
  4. License

Installation

npm install uipath-orchestrator

Usage

See the wiki page for a complete reference.

Orchestrator is a class and its constructor takes an options object.

var util = require('util');
var Orchestrator = require('uipath-orchestrator');
var orchestrator = new Orchestrator({
     tenancyName: 'test',           // The Orchestrator Tenancy
     usernameOrEmailAddress: 'xxx',// The Orchestrator login
     password: 'yyy',               // The Orchestrator password
     hostname: 'host.company.com', // The instance hostname
     isSecure: true,                // optional (defaults to true)
     port: 443, // optional (defaults to 80 or 443 based on isSecure)
     invalidCertificate: false, // optional (defaults to false)
     connectionPool: 5 // options, 0=unlimited (defaults to 1)
});
var apiPath = '/odata/Users';
var apiQuery = {};
orchestrator.get(apiPath, apiQuery, function (err, data) {
    if (err) {
        console.error('Error: ' + err);
    }
    console.log('Data: ' + util.inspect(data));
});

The 5 supported basic methods are as follows:

Orchestrator.get(path, query, callback);
Orchestrator.post(path, data, callback);
Orchestrator.put(path, data, callback);
Orchestrator.patch(path, data, callback);
Orchestrator.delete(path, callback);

where query is an querystring-ready object, and data a JSON.stringifyable object.

These are very generic methods, and the plan is to keep version-dedicated helpers up-to-date in the following form:

orchestrator.v2.api.postLogs(postLogsData, callback);
orchestrator.v2.odata.getUsers(getUsersQuery, callback);

It is possible to switch organization units with the following method:

orchestrator.switchOrganizationUnitId(1234);

Note that you can play around with these by creating a sandbox tenancy here (experimental support): https://platform.uipath.com/

In that case, you will need to use a different method of authentication (please see the tool in tools/platform) The minimum configuration for platform access is as follows:

new Orchestrator({
    refreshToken: 'qwertyuiopasdfghjkllzxcvbnmQWERTYUIOPASDFGHJK',
    serviceInstanceLogicalName: 'myInstanceLogicalName',
    path: 'myAccountLogicalName/myInstanceLogicalName'
})

TODO

This is just the beginning and there is a lot left to do. If you have suggestions and ideas, please do not hesitate to let me know.

  • Proper unit testing
  • Extend each API version
  • Write wiki
  • Write TS definitions
  • Add DELETE method
  • Add PATCH method
  • Add OrganizationUnitId handling
  • Add browser support (minified)

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%