0.0.20 • Published 2 years ago

@petarmihaylov/node-raas v0.0.20

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

node-raas

A tiny library and CLI for interacting with the Reports as a Service (RAAS) API from UKG (Ultimate Kronos Group) to pull reports without parameters. NOTE: Not published nor supported by UKG.

oclif Version CircleCI Downloads/week License

Usage

$ npm install -g @petarmihaylov/node-raas
$ node-raas COMMAND
running command...
$ node-raas (--version)
@petarmihaylov/node-raas/0.0.19 linux-x64 node-v16.13.0
$ node-raas --help [COMMAND]
USAGE
  $ node-raas COMMAND
...

Commands

node-raas autocomplete [SHELL]

display autocomplete installation instructions

USAGE
  $ node-raas autocomplete [SHELL] [-r]

ARGUMENTS
  SHELL  shell type

FLAGS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

DESCRIPTION
  display autocomplete installation instructions

EXAMPLES
  $ node-raas autocomplete

  $ node-raas autocomplete bash

  $ node-raas autocomplete zsh

  $ node-raas autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

node-raas console

Quickly test reports and access with this interactive console pulling data from a BI report through Reports as a Service (RAAS).

USAGE
  $ node-raas console [-h] [-u <value>] [-p <value>] [-c <value>] [-a <value>] [-e
    servicet.ultipro.com|service2.ultipro.com|service3.ultipro.ca|service4.ultipro.com|service5.ultipro.com|rental2.ulti
    pro.com|rental3.ultipro.ca|rental4.ultipro.com|rental5.ultipro.com] [-v] [--console]

FLAGS
  -a, --userApiKey=<value>        A 12-character alpha-numeric key for the provided username from UKG Pro > MENU >
                                  SYSTEM CONFIGURATION > Security > Service Account Administration.
  -c, --customerApiKey=<value>    A 5-character alpha-numeric key from UKG Pro > MENU > SYSTEM CONFIGURATION > Security
                                  > Service Account Administration.
  -e, --baseEndpointUrl=<option>  Base endpoint URL from UKG Pro > MENU > SYSTEM CONFIGURATION > Security > Web
                                  Services. Do not include the protocol (https://).
                                  <options: servicet.ultipro.com|service2.ultipro.com|service3.ultipro.ca|service4.ultip
                                  ro.com|service5.ultipro.com|rental2.ultipro.com|rental3.ultipro.ca|rental4.ultipro.com
                                  |rental5.ultipro.com>
  -h, --help                      Show CLI help.
  -p, --password=<value>          Password for the provided username.
  -u, --username=<value>          Username of user or service account. Employee user is required for pulling UKG Time
                                  Management data.
  -v, --verbose                   Output raw request/response combination for failing requests.
  --console

DESCRIPTION
  Quickly test reports and access with this interactive console pulling data from a BI report through Reports as a
  Service (RAAS).

EXAMPLES
  $ node-raas console

  $ node-raas console -e rental4.ultipro.com

See code: dist/commands/console.ts

node-raas help [COMMAND]

display help for node-raas

USAGE
  $ node-raas help [COMMAND] [--all]

ARGUMENTS
  COMMAND  command to show help for

FLAGS
  --all  see all commands in CLI

DESCRIPTION
  display help for node-raas

See code: @oclif/plugin-help

node-raas pull REPORTPATHORID

Pull data from a BI report through Reports as a Service (RAAS).

USAGE
  $ node-raas pull [REPORTPATHORID] -u <value> -p <value> -c <value> -a <value> -e
    servicet.ultipro.com|service2.ultipro.com|service3.ultipro.ca|service4.ultipro.com|service5.ultipro.com|rental2.ulti
    pro.com|rental3.ultipro.ca|rental4.ultipro.com|rental5.ultipro.com [-h] [-l] [-v]

ARGUMENTS
  REPORTPATHORID  Report path or ID from Cognos (BI). Obtained by inspecting Properties of a BI report. (Right-click >
                  Properties > General > Advanced > [Search path | ID].)

FLAGS
  -a, --userApiKey=<value>        (required) A 12-character alpha-numeric key for the provided username from UKG Pro >
                                  MENU > SYSTEM CONFIGURATION > Security > Service Account Administration. If using an
                                  Employee User use the User API Key from UKG Pro > MENU > SYSTEM CONFIGURATION >
                                  Security > Web Services.
  -c, --customerApiKey=<value>    (required) A 5-character alpha-numeric key from UKG Pro > MENU > SYSTEM CONFIGURATION
                                  > Security > Service Account Administration or Web Services.
  -e, --baseEndpointUrl=<option>  (required) Base endpoint URL from UKG Pro > MENU > SYSTEM CONFIGURATION > Security >
                                  Web Services. Do not include the protocol (https://).
                                  <options: servicet.ultipro.com|service2.ultipro.com|service3.ultipro.ca|service4.ultip
                                  ro.com|service5.ultipro.com|rental2.ultipro.com|rental3.ultipro.ca|rental4.ultipro.com
                                  |rental5.ultipro.com>
  -h, --help                      Show CLI help.
  -l, --printCreds                Print the credentials. Useful when ensuring flag input is processed correctly. As a
                                  best practice, credentials should be surrounded in double-quotes and any special
                                  characters for your conssole escaped. (Ex: ! should be \! in bash.)
  -p, --password=<value>          (required) Password for the provided username. Be sure to escape any special
                                  characters for your command line. (Ex: ! should be \! in bash shells.)
  -u, --username=<value>          (required) Username of user or service account. Employee User is required for pulling
                                  UKG Time Management data.
  -v, --verbose                   Output raw request/response combination for failing requests.

DESCRIPTION
  Pull data from a BI report through Reports as a Service (RAAS).

EXAMPLES
  $ node-raas pull "i22500177CDE54018AC31713BEBE2F644" -u ServiceAccount -p "u(3Unv0ERjlaksdjf*jfa89wfjklj23j!@3j423j#OI@^j2342" -c B5JLX -a BB7VDK0000K0 -e rental4.ultipro.com

  $ node-raas pull "/content/folder[@name='zzzCompany Folders']/folder[@name='Eastwood Industries - Master SC(72)']/folder[@name='UltiPro']/folder[@name='Customs']/report[@name='Audit Report 2']" -u ServiceAccount -p "u(3Unv0ERjlaksdjf*jfa89wfjklj23j!@3j423j#OI@^j2342" -c B5JLX -a BB7VDK0000K0 -e rental4.ultipro.com

See code: dist/commands/pull.ts

node-raas ubirr

Displays information about Ubirr - a production-ready, feature-rich set of tools built on top of node-raas.

USAGE
  $ node-raas ubirr

DESCRIPTION
  Displays information about Ubirr - a production-ready, feature-rich set of tools built on top of node-raas.

See code: dist/commands/ubirr.ts

node-raas update [CHANNEL]

update the node-raas CLI

USAGE
  $ node-raas update [CHANNEL] [-a] [-v <value> | -i] [--force]

FLAGS
  -a, --available        Install a specific version.
  -i, --interactive      Interactively select version to install. This is ignored if a channel is provided.
  -v, --version=<value>  Install a specific version.
  --force                Force a re-download of the requested version.

DESCRIPTION
  update the node-raas CLI

EXAMPLES
  Update to the stable channel:

    $ node-raas update stable

  Update to a specific version:

    $ node-raas update --version 1.0.0

  Interactively select version:

    $ node-raas update --interactive

  See available versions:

    $ node-raas update --available

See code: @oclif/plugin-update

Use as a Library

import {
  config as nodeRaasConfig,
  RaasCredential,
  logOnAction,
  getReportParametersAction,
  executeReportAction,
  retrieveReportAction,
  logOffAction,
  decodeStream,
  saveStream,
  FileExportExtensions,
} from '@petarmihaylov/node-raas';

(async () => {
  const nodeRaasClients = await nodeRaasConfig('servicet.ultipro.com');
  const creds: RaasCredential = {
    UserName: 'service01',
    Password: '6Fm.fW9F3KZBEvQ+vS;n*IXlW',
    ClientAccessKey: 'V5JLA',
    UserAccessKey: 'BB4VDK0000K0',
  };
  const reportId =
    "/content/folder[@name='UltiPro Sample Reports']/folder[@name='Sample Reports']/folder[@name='Human Resources Reports']/report[@name='Active Employee Listing']";
  const logonResult = await logOnAction(nodeRaasClients, creds);
  const getReportParameters = await getReportParametersAction(
    nodeRaasClients,
    logonResult,
    reportId,
  );
  console.log(getReportParameters);
  const executeReportResult = await executeReportAction(
    nodeRaasClients,
    logonResult,
    reportId,
  );
  const retrieveReportResult = await retrieveReportAction(
    nodeRaasClients,
    executeReportResult,
  );

  if (!retrieveReportResult.hasErrors) {
    const reportStream = retrieveReportResult.result[0].ReportStream;
    const decodedStream = decodeStream(reportStream);
    await saveStream(decodedStream, 'report', FileExportExtensions.XML);
  }
  await logOffAction(nodeRaasClients, logonResult);
})();

Support for ENV variables and .env File

node-raas supports environmental variables. These can be set in an .env file placed alongside the node-raas executable, defined inline before calling node-raas or through a nother method - as long as they are available in your environment before node-raas is called.

node-raas uses the dotenv package with the default options. This means that if any of the variables in your .env file already exist in your environment, they will not be overridden. In such instances, you can call node-rass with the appropriate flags as they take precedence over Environmental Variable values.

0.0.20

2 years ago

0.0.19

2 years ago

0.0.17

2 years ago

0.0.18

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago