Skip to main content

GLPI API Abstraction Layer

Project description

GLPI API Abstraction Layer

This project provides an abstraction layer to simplify the use of the GLPI REST API, making it easier to interact with entities, tickets, and users. It offers a Python interface to streamline communication with the GLPI API in an organized and reusable way.

Repository

Github: https://github.com/Gnew-Solucoes-IP-Ltda/glpi-provider

Requirements

  • Python 3.10 +
  • Library for GLPI API communication

Structure

The project includes the GlpiProvider class in glpi_provider, which encapsulates various methods to interact with the GLPI API:

  • Authentication:

    • create_session(): Creates an authentication session with the API.
    • close_session(): Ends the authentication session.
  • Entities:

    • get_entity(entity_id: int): Retrieves a specific entity by its ID.
    • get_entities(): Retrieves all entities.
  • Tickets:

    • get_ticket(ticket_id: int): Retrieves a specific ticket by its ID.
    • get_tickets(): Retrieves all tickets.
    • get_open_tickets(): Retrieves only open tickets.
  • Users:

    • get_user(user_id: int): Retrieves a specific user by their ID.
    • get_users(): Retrieves all users.

Environment Variables

To configure the connection to the GLPI API, create a .env file in the project root directory with the following variables:

GLPI_BASE_URL='GLPI_BASE_URL'
GLPI_USER_TOKEN='GLPI_USER_TOKEN'
GLPI_TICKET_STATUS=[1, 2, 3, 4]
  • GLPI_BASE_URL: The base URL for the GLPI API.
  • GLPI_USER_TOKEN: The user token for authenticating API requests.
  • GLPI_TICKET_STATUS: A list of ticket statuses to filter tickets when calling methods like get_open_tickets().

Usage Example

Below is an example of how to use the abstraction layer to retrieve open tickets:

from glpi_provider import GlpiProvider

# Initialize the GLPI provider and create a session
provider = GlpiProvider()
provider.create_session()

# Retrieve and print the list of open tickets
tickets = provider.get_open_tickets()
print(tickets)

# Close the session with the API
provider.close_session()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glpi_provider-0.1.8-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file glpi_provider-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: glpi_provider-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for glpi_provider-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 70edc9879b7a26bd82efe43466966fd4658181f3f2df17981b538fe14a5b9fa7
MD5 4736c86c7820bd5bf0b4f6bb1b66e373
BLAKE2b-256 6f7e1d4bd1107d90bd8f071dca6f7b4d418fa6ca41c7d56332ad4412cb34b0b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page