# nodejs-itoolkit **Repository Path**: mirrors_ibm/nodejs-itoolkit ## Basic Information - **Project Name**: nodejs-itoolkit - **Description**: A JavaScript (Node.js) library for communicating with IBM i - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-23 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Node.js itoolkit [![npm](https://img.shields.io/npm/v/itoolkit?logo=npm)](https://www.npmjs.com/package/itoolkit) ![Supported Node Versions](https://img.shields.io/node/v-lts/itoolkit) [![Zulip Chat](https://img.shields.io/badge/Zulip-Chat-blue)](https://chat.ibmioss.org) [![Documentation Status](https://readthedocs.org/projects/nodejs-itoolkit/badge/?version=latest)](https://nodejs-itoolkit.readthedocs.io/en/latest/?badge=latest) `itoolkit` is a Node.js interface to [XMLSERVICE](https://github.com/IBM/xmlservice) to access all things [IBM i](https://en.wikipedia.org/wiki/IBM_i). # Table of Contents - [Introduction](#introduction) - [Installation](#installation) - [Features](#features) - [Documentation](#documentation) - [Tests](#tests) - [Contributing](#contributing) - [License](#license) - [Release](#release) # Introduction [XMLSERVICE](https://github.com/IBM/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 RTVJOBA USRLIBL(?) SYSLIBL(?) ``` XMLSERVICE will run the command and respond with XML output. ```xml +++ success RTVJOBA USRLIBL(?) SYSLIBL(?) QGPL QTEMP QSYS QSYS2 QHLPSYS QUSRSYS ``` `itoolkit`, with the help of an XML parser, can run the same CL command with: ```js const { Connection, CommandCall } = require('itoolkit'); const { XMLParser } = require('fast-xml-parser'); const connection = new Connection({ transport: 'ssh', transportOptions: { host: 'myhost', username: 'myuser', password: 'mypassword' }, }); const command = new CommandCall({ type: 'cl', command: 'RTVJOBA USRLIBL(?) SYSLIBL(?)' }); connection.add(command); connection.run((error, xmlOutput) => { if (error) { throw error; } const Parser = new XMLParser(); const result = 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. # Installation ```sh $ npm install itoolkit ``` # Features - [Call ILE programs and service programs](https://nodejs-itoolkit.readthedocs.io/en/latest/ProgramCall.html) - [Call CL, QSH, and PASE shell commands](https://nodejs-itoolkit.readthedocs.io/en/latest/CommandCall.html) # Documentation Please read the [docs](https://nodejs-itoolkit.readthedocs.io/en/latest/). # Tests Refer to the [README](test/README.md). # Contributing Please read the [contribution guidelines](https://github.com/IBM/nodejs-itoolkit/blob/master/CONTRIBUTING.md). # License [MIT](https://github.com/IBM/nodejs-itoolkit/blob/master/LICENSE) # Release For information on making a release, read [RELEASE.md](docs/RELEASE.md).