itoolkit is a Node.js interface to XMLSERVICE to access all things IBM i.
XMLSERVICE provides interfaces to interact with IBM i resources such as programs and commands. XMLSERVICE receives xml input and returns xml output.
For example run a CL command by sending the following XML input to XMLSERVICE.
<?xml version="1.0" encoding="UTF-8"?>
<myscript>
<cmdexec="rexx">RTVJOBA USRLIBL(?) SYSLIBL(?)</cmd>
</myscript>XMLSERVICE will run the command and respond with XML output.
<?xml version="1.0" encoding="UTF-8"?>
<myscript>
<cmdexec="rexx">
<success>+++ success RTVJOBA USRLIBL(?) SYSLIBL(?)</success>
<row>
<datadesc="USRLIBL">QGPL QTEMP</data>
</row>
<row>
<datadesc="SYSLIBL">QSYS QSYS2 QHLPSYS QUSRSYS</data>
</row>
</cmd>
</myscript>itoolkit, with the help of an XML parser, can run the same CL command with:
const{ Connection, CommandCall }=require('itoolkit');const{ XMLParser }=require('fast-xml-parser');constconnection=newConnection({transport: 'ssh',transportOptions: {host: 'myhost',username: 'myuser',password: 'mypassword'},});constcommand=newCommandCall({type: 'cl',command: 'RTVJOBA USRLIBL(?) SYSLIBL(?)'});connection.add(command);connection.run((error,xmlOutput)=>{if(error){throwerror;}constParser=newXMLParser();constresult=Parser.parse(xmlOutput);console.log(JSON.stringify(result));});The purpose of this package is to simplify the process of creating XMLSERVICE input, invoking XMLSERVICE, and returning XMLSERVICE output from Node.js.
$ npm install itoolkitPlease read the docs.
Refer to the README.
Please read the contribution guidelines.
For information on making a release, read RELEASE.md.