Importation de contrats à l'aide de fichiers CSV
BigFix Inventory vous permet d'importer des données de contrat via l'API et l'interface utilisateur Web.
Fonctions d'importation de contrats
L'importation de contrats BigFix Inventory présente les fonctions suivantes :
- Vous permet de créer et de modifier les détails du contrat avec les données fournies dans un fichier CSV.
- Les contrats sont identifiés à l'aide de l'ID de contrat.
- Plusieurs produits logiciels peuvent être ajoutés à un contrat : un produit logiciel par ligne CSV. Vous ne pouvez pas supprimer un produit logiciel.
- Les produits logiciels, les métriques et leurs relations spécifiées dans le fichier CSV doivent exister avant l'importation.
- Les bons de commande sont identifiés par le numéro de bon de commande.
- Plusieurs bons de commande peuvent être ajoutés à un contrat ou modifiés, un bon de commande par ligne CSV. Vous ne pouvez pas supprimer un bon de commande.
- Les colonnes de zone personnalisées sont précédées de CUSTOM_, par exemple, "CUSTOM_My custom field". L'en-tête de colonne de zone personnalisé est sensible à la casse.
- Le séparateur CSV peut être modifié dans les paramètres avancés du serveur à l'aide de la propriété "Séparateur de rapport CSV" (csvReportSeparator). La virgule (",") est le séparateur par défaut.
- En cas d'échec d'une importation, le rapport d'importation s'affiche avec les détails des erreurs.
- Les fichiers CSV doivent être codés au format UTF-8 (sans BOM).
- Seuls les caractères ASCII des données des contrats sont entièrement pris en charge dans BigFix Inventory version10.0.6. Le problème n'est pas applicable depuis la version 10.0.7. A partir BigFix Inventory de la version10.0.7, les logiciels qui contiennent des caractères non ASCII sont acceptés dans les contrats API REST, ainsi que dans la zone de recherche de l'interface utilisateur, et les zones de contrat telles que le nom de contrat dans l'API REST peuvent contenir des caractères non ASCII.
Importer via WebUI
Pour importer à l'aide de WebUI, procédez comme suit :
- Cliquez sur . La page Tous les contrats s'affiche.
- Cliquez sur éditer, puis sélectionnez Importer des contrats dans la liste déroulante. La boîte de dialogue Importer des contrats à partir d'un fichier CSV s'affiche.
- Sélectionnez un fichier CSV et cliquez sur Importer.

Importer via l'API
Exemple de requête d'API :
curl -H "Content-Type: multipart/form-data" \
-X POST \
-F upload[contracts]=@c:\contracts.csv \
https://localhost:9081/api/sam/v2/contracts/import?token=1234567890abcdef1234567890abcdef123456 format du fichier CSV
Les contrats peuvent être importés à partir d'un fichier CSV. Les tableaux suivants répertorient les noms de colonne disponibles dans le fichier CSV :
| Nom de colonne | Description | Importance |
|---|---|---|
| ID contrat | L'ID de contrat vous permet d'identifier un contrat. L'objectif de cette zone est d'identifier les propriétés principales, telles que le type et la métrique d'un contrat. Si un contrat avec des ID spécifiés existe déjà dans BigFix Inventory, il est mis à jour avec les valeurs du fichier CSV. S'il n'existe pas, un autre contrat est créé. | Obligatoire |
| Nom | Intitulé du contrat | Obligatoire |
| ID indicateur | ID indicateur Pour les noms de ID de métrique, voir aussi ID et noms de code de métrique. |
Facultatif |
| Nom de code de la métrique | Si la colonne ID de métrique est présente, la valeur Nom du code de la métrique est ignorée. Pour les noms de ID de métrique, voir aussi ID et noms de code de métrique. | Facultatif |
| ID de type | Numéro représentant le type de contrat, tel que 1 - Licence, 2 - Support, 3 - Service, 4 - Matériel et 5 - Autre. | Obligatoire |
| ID de groupe d'ordinateurs | Identificateur du groupe d'ordinateurs. Lorsqu'elle est fournie, la valeur Nom du groupe d'ordinateurs est ignorée. | Facultatif |
| Computer Group Name | Lorsque l'ID du groupe d'ordinateurs et le nom du groupe d'ordinateurs ne sont pas fournis, le groupe "Tous les ordinateurs" est alors affecté. Si aucun groupe d'ordinateurs correspondant n'est trouvé, la ligne CSV est rejetée. Lorsqu'il existe plusieurs groupes d'ordinateurs avec le nom fourni, la ligne CSV est rejetée. Remarque : Distinction min/maj |
Facultatif |
| Seuil | Valeur de seuil Remarque : Nombre entier positif |
Facultatif |
| Nom de l'éditeur | Le nom de l'éditeur est requis uniquement lorsque le nom du produit logiciel est spécifié. L'éditeur doit exister dans BigFix Inventory avant l'importation. | Facultatif |
| Nom du produit | Nom du produit. Le produit doit exister dans BigFix Inventory avant l'importation. |
Facultatif |
| Numéro du bon de commande | Numéro du bon de commande | Facultatif |
| Lien du document du bon de commande | Lien de document du bon de commande. S'il est spécifié, le numéro de bon de commande doit être présent. |
Facultatif |
| Fournisseur de bon de commande | Fournisseur du bon de commande. S'il est spécifié, le numéro de bon de commande doit être présent. |
Facultatif |
| Valeur du bon de commande | Valeur du bon de commande. La valeur est toujours un entier positif (y compris 0). La valeur ELA peut être définie en spécifiant ELA ou -1. S'il est spécifié, le numéro de bon de commande doit être présent. | Facultatif. Obligatoire si la valeur Numéro de bon de commande est fournie |
| Début de l'autorisation de bon de commande | Date de début d'autorisation du bon de commande. Le format autorisé est "AAAA-MM-JJ", par exemple "2019-01-31". S'il est spécifié, le numéro de bon de commande doit être présent. | Facultatif. Obligatoire si la valeur Numéro de bon de commande est fournie. |
| Fin de l'autorisation de bon de commande | Date de fin d'autorisation du bon de commande. Cette valeur est facultative. Le format autorisé est "AAAA-MM-JJ", par exemple, "9999-12-31" ou "Jamais". S'il est spécifié, nécessite que le numéro de bon de commande soit présent. | Facultatif |
| Zones personnalisées | N'importe quel nombre de colonnes facultatives représentant des zones personnalisées de contrat. Les zones doivent déjà être présentes dans BigFix Inventory. Lorsque la zone personnalisée fournie est introuvable (n'existe pas), l'importation de CSV échoue. Les noms de colonne des zones personnalisées sont précédés de "CUSTOM_", par exemple, "CUSTOM_My custom field". Le type de valeur fourni doit correspondre au type de la zone personnalisée. Si la zone personnalisée est requise, la valeur doit être fournie. |
Hypothèses, limitations et restrictions des importations de CSV :
- La première ligne du fichier CSV (en-tête) contient des noms de zone.
- Les colonnes facultatives inutilisées peuvent être omises.
- L'importation du CSV ajoute de nouveaux produits logiciels à un contrat et ne supprime pas les entrées existantes.
- L'importation du CSV ajoute de nouvelles entrées ou met à jour des entrées de bon de commande existantes (correspondant à la valeur du numéro de bon de commande) et ne supprime pas les entrées existantes.
- Si plusieurs produits logiciels et/ou bons de commande doivent être ajoutés, ils doivent être spécifiés dans des lignes distinctes (en répétant les zones propres au contrat, comme le nom et le groupe d'ordinateurs).
- Les noms de colonne et les valeurs doivent être séparés par un caractère spécifié dans Paramètres avancés du serveur BigFix Inventory avec la propriété "Séparateur de rapport CSV" (csvReportSeparator). La virgule (",") est le séparateur par défaut.
- Si l'en-tête de colonne ou la valeur contient un caractère séparateur, il doit être placé entre guillemets.
- Les lignes CSV sont traitées dans l'ordre dans lequel elles sont définies dans le fichier. Si un contrat est défini sur plusieurs lignes, toutes les valeurs à l'exception des zones Nom de l'éditeur, Nom du produit et Bon de commande doivent être répétées dans chaque colonne. Sinon, les valeurs de contrat mises à jour par une ligne peuvent être modifiées ultérieurement par d'autres lignes. Les importations ultérieures du même fichier CSV produiront le même résultat.
- Les colonnes Lien du document de bon de commande, Fournisseur du bon de commande, Valeur du bon de commande, Début de l'autorisation du bon de commande et Fin de l'autorisation du bon de commande ne peuvent être présentes dans le fichier CSV que lorsque la colonne Numéro du bon de commande est présente.
- Un échec de l'importation d'une ligne de contrat unique fait échouer toute l'importation. Les lignes déjà importées sont restaurées.
Problèmes connus
- Les zones personnalisées des messages d'erreur sont identifiées à l'aide de l'ID. L'ID est extrait à l'aide de l'API de contrats. Pour obtenir la liste de toutes les zones personnalisées, affichez l'API Contrats.
Exemple de CSV avec plusieurs contrats
Contract ID, Name, Type ID, Threshold, Metric Code Name, Computer Group ID, Computer Group Name, Purchase Order Number, Purchase Order Value, Purchase Order Entitlement Start, Purchase Order Entitlement End, Product Name, Publisher Name, CUSTOM_contact person
CO1, Contract 1, 3, 100, INTERNAL_INSTALL, 0, All Computers, PO1, 5000, 2021-08-03, 2030-05-20, Software 1, Publisher 1, Name
CO2, Contract 2, 2, 350, CLIENT, 0, All Computers, PO2, 2, 2019-05-21, 2025-06-21, Software 2, Publisher 2, Tom
Exemple de CSV avec plusieurs bons de commande et produits logiciels affectés à deux contrats
Contract ID, Name, Metric Code Name, Type ID, Computer Group ID, Threshold, Publisher Name, Product Name, Purchase Order Number, Purchase Order Document Link, Purchase Order Vendor, Purchase Order Value, Purchase Order Entitlement Start, Purchase Order Entitlement End
Contract 1, My contract 1, TICKETS,3,2,12, Publisher A, Sample Product A, PU001, www.test.com, My Vendor A,125,2019-03-03,2044-07-11
Contract 1, My contract 1, TICKETS,3,2,12, Publisher A, Sample Product B, PU002,www.test2.com, My Vendor B,ELA,2020-03-03,
Contract 1, My contract 1, TICKETS,3,2,12, Publisher B, Sample Product C
Contract 2, My contract 2, CLIENT,1,0,70, Publisher A, Sample Product B, PU003,www.test3.com, My Vendor C,200,2018-01-01,2021-12-28
Contract 2, My contract 2, CLIENT,1,0,70,,, PU004, www.test4.com, My Vendor D, 100,2020-01-01, 2021-03-28