Skip to content

glpi-project/swift-library-glpi

Repository files navigation

GLPI API Library for Swift

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.

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

This library created in Swift 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
  • Zero dependencies

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

Build Status

Release channel Beta Channel
Circle CI build Circle 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

Documentation

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

Code Example

It's easy to implement in your code

import Glpi

/// Init Session
GlpiRequest.initSessionByUserToken(userToken: "token") { data, response, error in
    print(data)
}

//
var queryString = QueryString.GetAnItem()
queryString.expandDropdowns = true
queryString.getHateoas = true

GlpiRequest.getItem(itemType: .Computer, itemID: 3, queryString: queryString) { data, response, error in
    if error == nil {
        print(data)
    }
}

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. 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

  • Code: you can redistribute it and/or modify it under the terms of the Apache License.
  • Documentation: released under Attribution 4.0 International (CC BY 4.0).