glpi-project / node-module-glpi

Node client to interact with GLPI API REST
https://glpi-project.github.io/node-module-glpi/
GNU General Public License v3.0
8 stars 9 forks source link
api-client glpi npm-module npm-package

GLPI node module

GLPI banner

License Follow twitter Project Status: WIP Telegram Group Conventional Commits Greenkeeper badge

GLPI (Gestionnaire Libre de Parc Informatique) is a free IT Asset Management, issue tracking system and service desk solution. This open source software is written in PHP.

It helps companies to manage their information system, since it's able to build an inventory of all the organization's assets and to manage administrative and financial tasks.

Table of Contents

Synopsis

Node Client interacts with GLPI webservices plugin, it features several functionalities common to all GLPI APIs, for example:

You will be able to call to all the methods that belong to the GLPI REST API, for more information visit the project's website.

Build Status

Release channel Beta Channel
Travis CI build Travis CI build

Matrix

GLPI Version 9.1.1 9.1.2 9.1.3 9.1.5 9.1.6 9.2.0
GLPI API Client

Example with promises

    const client = new GlpiRestClient(config.apirest)

    client.initSessionByCredentials(config.user.name, config.user.password, config.appToken)
        .then((res) => {
            client.getActiveProfile()
                .then((res2) => {
                    console.log(res2)
                    client.killSession()
                        .catch((err3) => {
                            console.log(err3)
                        })
                })
                .catch((err2) => {
                    console.log(err2)
                })
        })
        .catch((err) => {
            console.log(err)
        })

Example with async/await

    (async () => {
        try {
            const client = new GlpiRestClient(config.apirest);
            await client.initSessionByCredentials(config.user.name, config.user.password, config.appToken);
            const ActiveProfile = await client.getActiveProfile();
            console.log(ActiveProfile);
            await client.killSession();
        }
        catch (err) {
            console.log(err);
        }
    })();

Documentation

We maintain a detailed documentation of the project on the website.

Versioning

In order to provide transparency on our release cycle and to maintain backward compatibility, GLPI is maintained under the Semantic Versioning guidelines. We are committed to following and complying with the rules, the best we can.

See the tags section of our GitHub project for changelogs for each release version of GLPI library for Node. Release announcement posts on the official Teclib' blog contain summaries of the most noteworthy changes made in each release.

Contact

For notices about major changes and general discussion of GLPI development, subscribe to the /r/glpi subreddit. You can also chat with us via IRC in #GLPI on freenode or @glpien on Telegram.

Contribute

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the Issues Dashboard.

Copying