Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 91 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,94 @@
# JAMF Plugin for GLPI
# jamf Plugin For GLPI

Syncs data from JAMF Pro to GLPI.
[![License](https://img.shields.io/github/license/pluginsGLPI/jamf.svg?&label=License&style=for-the-badge)](https://github.com/pluginsGLPI/jamf/blob/main/LICENSE)
![Static Badge](https://img.shields.io/badge/Project_Status-Active-green?style=for-the-badge)
![GitHub Actions Status](https://img.shields.io/github/actions/workflow/status/pluginsGLPI/jamf/continuous-integration.yml?style=for-the-badge)
[![GitHub release](https://img.shields.io/github/release/pluginsGLPI/jamf.svg?&style=for-the-badge)](https://github.com/pluginsGLPI/jamf/releases)
![GitHub Downloads](https://img.shields.io/github/downloads/pluginsGLPI/jamf/total?style=for-the-badge)

## Requirements
- GLPI >= 10.0.0
- PHP >= 7.4.0
- The latest version of Jamf Pro
<p align="center">
<img width="126" height="126" src="https://raw.githubusercontent.com/pluginsGLPI/jamf/main/Logo.png">
</p>

## Usage
- Server/sync configuration is found in Setup > Config under the JAMF Plugin tab.
- JSS User account used must have read access to mobile devices at least. Additional access may be required depending on what items are synced (software, etc).
- The two automatic actions "importJamf' and 'syncJamf" can only be run in CLI/Cron mode due to how long they can take.
- There is a rule engine used to filter out imported devices. The default import action is to allow the import.
- iPads and AppleTVs are imported as Computers, while iPhones can be imported as Phones or Computers.

The **Jamf Plugin** provides a robust integration between **Jamf Pro** and **GLPI**. It synchronizes Apple devices (macOS, iOS, iPadOS, tvOS) and their detailed metadata directly into your GLPI asset management system.


## Inventory Capabilities (Jamf → GLPI)

The plugin automatically maps Jamf Pro objects to native GLPI assets:

| Jamf Item Type | GLPI Destination | GLPI Object Type |
| --- | --- | --- |
| **Computers** | Computer | `Computer` |
| **Mobile Devices** | Phone or Computer | `Phone` (iPhone/iPad) or `Computer` (AppleTV) |
| **Software** | Software | `Software` + `Version` + `Installation` |
| **Extension Attributes** | Plugin Tables | Searchable fields via GLPI engine |

### Synchronized Data Points

* **Hardware & Network:** Model identifiers, UDID, Serial, Wi-Fi/Bluetooth MAC, and storage partitions.
* **OS Details:** Operating system name and precise versioning.
* **Financials:** Purchase orders, warranty dates, and AppleCare IDs (mapped to `Infocom`).
* **Security & State:** Activation Lock status, Supervision mode, and Lost Mode details.
* **User Mapping:** Automatic link to GLPI users based on Jamf `location.username`.


### MDM Commands Integration

The plugin allows users to issue MDM commands directly from the asset form in GLPI if the user has a Jamf account linked. The UI for MDM commands will adapt based on the user's Jamf permissions.


### Accessing Settings

Go to: **Tools** → **Jamf** → **Configuration**.

### Server Settings

* **JSS Server:** Your Jamf Pro URL (e.g., `https://your-company.jamfcloud.com`).
* **Credentials:** Jamf account with at least **Read** permissions for `Computers` and / or `Mobile Devices`.

### Sync & Extension Attributes

You can toggle specific data imports (Financials, Software, Components) to match your needs.

> [!WARNING]
> If you wish to synchronize extension attributes, you must have read permissions for the `Computer Extension Attributes` and/or `Device Extension Attributes`.


## Documentation

Full plugin documentation is available [here](https://help.glpi-project.org/doc-plugins/plugins-glpi/jamf).


## Professional Services

GLPI professional services are offered through the [Partner Network](http://www.teclib-edition.com/en/partners/):

- Specialized training
- Bug fixes with an editor subscription
- Contributions for new features
- Personalized support and consulting

Experience a tailored service with exclusive advantages and opportunities.


## Contributing

We welcome contributions! Here's how you can help:

- Report bugs or request features via [Issues](https://github.com/pluginsGLPI/sccm/issues)
- Follow the [development guidelines](http://glpi-developer-documentation.readthedocs.io/en/latest/plugins/index.html)
- Use [GitFlow](http://git-flow.readthedocs.io/) for branching
- Work on a new branch in your fork
- Submit a Pull Request (PR) for review


## Social Media

[![Facebook GLPI](https://img.shields.io/badge/Facebook-GLPI-1877F2.svg?style=for-the-badge)](https://www.facebook.com/glpiproject/)
[![X (formerly Twitter)](https://img.shields.io/badge/Twitter-GLPI%20Project-26A2FA.svg?style=for-the-badge)](https://x.com/GLPI_PROJECT)
[![YouTube GLPI](https://img.shields.io/badge/YouTube-GLPI-FF0033.svg?style=for-the-badge)](https://www.youtube.com/channel/UCoIMi7aKeIvQRxi7ggd6VNA)
[![Instagram GLPI](https://img.shields.io/badge/Instagram-GLPI-E1306C.svg?style=for-the-badge)](https://www.instagram.com/glpi_project/)
[![LinkedIn GLPI](https://img.shields.io/badge/LinkedIn-GLPI-0A66C2.svg?style=for-the-badge)](https://www.linkedin.com/products/teclib-glpi/)
[![Telegram GLPI](https://img.shields.io/badge/Telegram-GLPI-blue.svg?style=for-the-badge)](https://t.me/glpien)
13 changes: 11 additions & 2 deletions jamf.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,15 @@ Usage
- The two automatic actions "importJamf' and 'syncJamf" can only be run in CLI/Cron mode due to how long they can take.
- There is a rule engine used to filter out imported devices. The default import action is to allow the import.
]]></en>
<fr><![CDATA[
Ce plugin vous permet de synchroniser les appareils mobiles et les ordinateurs depuis Jamf Pro vers GLPI ainsi que leurs données associées. Il permet également d'envoyer des commandes aux appareils mobiles depuis GLPI.

Utilisation
- La configuration du serveur et de la synchronisation se trouve dans Configuration > Générale sous l'onglet Plugin JAMF.
- Le compte utilisateur JSS utilisé doit posséder au moins un accès en lecture aux appareils mobiles et aux ordinateurs. Des accès supplémentaires peuvent être requis selon les éléments synchronisés (logiciels, etc.).
- Les deux actions automatiques "importJamf" et "syncJamf" ne peuvent être exécutées qu'en mode CLI/Cron en raison de leur durée d'exécution.
- Un moteur de règles est utilisé pour filtrer les appareils importés. Par défaut, l'action d'importation est autorisée.
]]></fr>
</long>
</description>
<homepage>https://github.com/pluginsGLPI/jamf</homepage>
Expand Down Expand Up @@ -146,7 +155,7 @@ Usage
</en>
</tags>
<screenshots>
<screenshot>https://raw.githubusercontent.com/pluginsGLPI/jamf/master/screenshots/imports.png</screenshot>
<screenshot>https://raw.githubusercontent.com/pluginsGLPI/jamf/master/screenshots/mobiledevice.png</screenshot>
<screenshot>https://raw.githubusercontent.com/pluginsGLPI/jamf/main/screenshots/imports.png</screenshot>
<screenshot>https://raw.githubusercontent.com/pluginsGLPI/jamf/main/screenshots/mobiledevice.png</screenshot>
</screenshots>
</root>