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.
- Synopsis
- Build Status
- Compatibility Matrix
- Installation
- Code examples
- Documentation
- Versioning
- Contact
- Contribute
- Copying
This library specifically designed for PHP, features several functionalities common to all GLPI APIs, for example:
- HTTP transport to APIs.
- Error handling
- Authentication
- JSON parsing
- Custom Item Types
- Media download/upload
- Batching.
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.
Release channel | Beta Channel |
---|---|
GLPI Version | 9.1.1 | 9.1.2 | 9.1.3 | 9.1.5 | 9.1.6 | 9.2.0 |
---|---|---|---|---|---|---|
GLPI API Client | 1.x | 1.x | 1.x | 1.x | 1.x | 1.x |
You will need the following minimum dependencies to use the library (composer will automatic check for the first two):
- PHP >= 5.6.0
- Guzzle >= 6.3
- GLPI >= 9.1.1
composer require glpi-project/php-library-glpi
It's easy to implement, as you see in the following example:
// Instanciate the API client
$client = new Glpi\Api\Rest\Client('https://localhost/glpi/apirest.php/', new GuzzleHttp\Client());
// Authenticate
try {
$client->initSessionByCredentials('glpi', 'glpi');
} catch (Exception $e) {
echo $e->getMessage();
die();
}
// The client handles the session token for you (app token not yet supported)
// do something
$itemHandler = new \Glpi\Api\Rest\ItemHandler($client);
$response = $itemHandler->getItem('User', 2);
$user = json_decode($response['body']);
echo "User name: " . $user->name . "\n";
We maintain a detailed documentation of the project on the website.
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. Release announcement posts on the official Teclib' blog contain summaries of the most noteworthy changes made in each release.
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.
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.