# servicenow-glpi-sync/README.md # ServiceNow and GLPI Sync This project is designed to facilitate the integration between ServiceNow and GLPI, allowing for the synchronization of tickets between the two platforms. It utilizes Node.js and follows the MVC architecture pattern. ## Table of Contents - [Prerequisites](#prerequisites) - [Installation](#installation) - [Configuration](#configuration) - [Running the Application](#running-the-application) - [Endpoints](#endpoints) - [Logging](#logging) - [Contributing](#contributing) - [License](#license) ## Prerequisites - Node.js (version 14 or higher) - npm (Node Package Manager) - PostgreSQL or MySQL database - Access to ServiceNow and GLPI APIs ## Installation 1. Clone the repository: ``` git clone https://github.com/yourusername/servicenow-glpi-sync.git cd servicenow-glpi-sync ``` 2. Install the dependencies: ``` npm install ``` 3. Copy the `.env.example` file to `.env` and fill in the required environment variables: ``` cp .env.example .env ``` ## Configuration - Update the `.env` file with your ServiceNow and GLPI API credentials, database connection details, and any other necessary configurations. ## Running the Application To start the application, run: ``` node server.js ``` The application will listen on the port specified in the `.env` file. ## Endpoints - `POST /tickets/sync` - Synchronize tickets from ServiceNow to GLPI. - `GET /tickets/:id` - Retrieve details of a specific ticket. - `POST /tickets` - Create a new ticket in GLPI based on ServiceNow data. - `PUT /tickets/:id` - Update an existing ticket in GLPI. ## Logging The application uses Winston for logging. Logs are stored in the `logs` directory: - `app.log` - Logs application events. - `error.log` - Logs errors that occur during execution. ## Contributing Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes. ## License This project is licensed under the MIT License. See the LICENSE file for details.