Créer un script JSON pour Zoom Nightshift

Créer un script JSON pour Zoom Nightshift

Zoom Nightshift automatise les actions dans BIMcollab Zoom en utilisant des fichiers de script JSON, en combinaison avec le planificateur de tâches de Windows.
Avec Nightshift, vous pouvez automatiser les actions suivantes dans BIMcollab Zoom :
  1. Ouvrir des modèles / Ajouter au projet
  2. Se connecter au projet
  3. Filtrer des problèmes
  4. Mettre à jour les problèmes
  5. Exécuter et partager toutes les Listes
  6. Synchroniser le projet
Dans cet article, nous décrivons comment créer un script à exécuter dans Zoom Nightshift.
Pour plus d'informations sur la manière de configurer une tâche dans le planificateur de tâches de Windows, consultez l'article Configurez une tâche pour Zoom Nightshift dans le Windows Task Scheduler.

Un script JSON peut être configuré dans n'importe quel éditeur de script JSON.
Pour vous aider à démarrer, vous trouverez un exemple de script en pièce jointe de cet article.
Remarque : Tous les termes anglais du script doivent rester en anglais pour que le script fonctionne.

Le script commence par le titre du script et éventuellement la version, suivi des actions à effectuer dans Zoom lorsque le script est exécuté.
{
"title" : "Example_Script",
"version" : "0.1",
"actions" : [
Les différentes actions qui peuvent être ajoutées au script, pour que Zoom les exécute pendant Nightshift, sont expliquées dans la suite de cet article.

Ouvrir les modèles / Ajouter au projet

La première chose que vous voulez faire dans Nightshift, c'est d'ouvrir un ensemble de modèles. C'est à partir de ceux-là que le reste des actions pourra être effectué. Pour cela, il y a deux demandes différentes possibles :
  1. OPEN_MODELS : ajoute, charge un modèle dans le navigateur et ferme les modèles précédemment chargés.
  2. ADD_TO_PROJECT : ajoute et charge un modèle dans le navigateur sans fermer les modèles déjà présents dans le navigateur.
Remarque : lorsque vous vous connectez à un projet où un Dossier du projet est actif, tous les modèles du dossier de Projet seront automatiquement chargés, quel que soit leur statut de chargement dans votre projet Zoom. Aucune saisie supplémentaire dans le script n'est nécessaire pour ouvrir ces modèles.
Si vous souhaitez ajouter au projet des modèles supplémentaires qui ne sont pas situés dans le dossier du projet, utilisez la demande ADD_TO_PROJECT.

Script

{
"type" : "OPEN_MODELS",
"models" : [
"C:/Users/userone/Desktop/1.ifc",
"C:/Users/userone/Desktop/2.ifc",
"C:/Users/userone/Desktop/3.bcp"
]
}

Explication

Remplacez "C:/Users/userone/Desktop/1.ifc", etc. par les chemins d'accès aux modèles que vous souhaitez ouvrir, séparés par des virgules.
Utilisez toujours des barres obliques "/" dans la définition du chemin d'accès, et non des barres obliques inverses.

Connexion au projet

Afin d'effectuer une mise à jour des Smart Issues et des Listes partagées, vous devez être connecté(e) à un projet sur BIMcollab Nexus.
La demande pour cela est CONNECT_TO_PROJECT.

Script

{
"type" : "CONNECT_TO_PROJECT",
"space_name" : "exemple.bimcollab.com",
"project_name" : "Mon projet BIMcollab".
}

Explication

  1. Remplacez "exemple.bimcollab.com" par l'URL de l'espace auquel vous souhaitez vous connecter.
  2. Remplacez "Mon projet BIMcollab" par le nom du projet auquel vous souhaitez vous connecter. Veillez à l'orthographe correcte du nom du projet et de l'URL.
Il est important à noter que le projet auquel vous souhaitez vous connecter doit faire partie de la liste des projets récents dans BIMcollab Zoom. Aussi, vos informations d'identification doivent être déjà enregistrées dans BIMcollab Zoom. Pour ce faire, cochez la case "Se souvenir de moi" lors de la connexion manuelle au projet.


Assurez-vous également que le format du paramètre "space_name" correspond exactement au format
du nom de l'espace qui a été saisi lors de la connexion au projet.
Si, par exemple, vous avez saisi https://example.bimcollab.com/ ou example.bimcollab.com, cela doit y correspondre exactement dans le script.




Filtrer les problèmes

Une fois que vous êtes connecté(e) à un projet, tous les problèmes qui sont visibles pour vous dans le projet seront chargés dans BIMcollab Zoom.
L'étape suivante consiste à mettre à jour automatiquement toutes les Smart Issues qui font partie de cette liste. Afin de ne mettre à jour qu'une sélection de problèmes de votre choix, configurez d'abord le filtre de problèmes.
La demande est FILTER_ISSUES.
Si cette demande est omise dans le script, le dernier filtre actif sera utilisé.

Script

{
"type" : "FILTER_ISSUES",
"filter_type" : "Issue",
"area" : "Model",
"milestone" : "Design phase",
"label" : "Architecture",
"priority" : "Normal",
"show_active" : true,
"show_resolved" : true,
"show_closed" : false,
"hide_invisible" : false,
"show_to_approve" : false,
"assigned_to_user_email" : "example@bimcollab.com",
"deadline" : "01-01-2021",
"created_by_user_email" :"example@bimcollab.com",
"custom1" : "Valeur 1",
"custom2" : "Valeur 2"
}

Explication

Voici quelques éléments à prendre en compte pour cette partie du script :
  1. Lorsque cette demande est ajoutée au script, le filtre de problèmes dans BIMcollab Zoom est d'abord réinitialisé au filtre par défaut, puis ajusté en fonction des valeurs du script.
  2. Nightshift prend comme base les paramètres utilisés par défaut, à chaque fois que cela est possible. Ainsi, vous ne devez spécifier que les modifications apportées à partir des paramètres par défaut. Toutes les lignes de paramètres dans cette partie du script, à l'exception de "type" : "FILTER_ISSUES", (définition d'action obligatoire), et de la "priority", peuvent être omises du script. Si, par exemple, le paramètre "label" est omis, Nightshift gardera ce paramètre à "All".
  3. Faites attention à l'orthographe des valeurs saisies. Elles doivent être exactement les mêmes que dans le projet.
    Astuce : Ouvrez la fenêtre du filtre des problèmes dans BIMcollab Zoom à côté de l'éditeur JSON pour éviter les fautes de frappe dans le script.

Toutes les lignes de cette partie du script représentent une des propriétés du filtre des problèmes :
  1. "filter_type"
    Remplacez "Issue" par le type que vous souhaitez filtrer. La valeur par défaut est "All" (ou la valeur correspondante dans la langue de votre projet).
  2. "area"
    Remplacez "Model" par le zone que vous souhaitez filtrer. La valeur par défaut est "All" (ou la valeur correspondante dans la langue de votre projet).
  3. "milestone"
    Remplacez "Design phase" par la phase que vous souhaitez filtrer. La valeur par défaut est "All" (ou la valeur correspondante dans la langue de votre projet).
  4. "label"
    Remplacez "Architecture" par l'étiquette que vous souhaitez filtrer. La valeur par défaut est "All" (ou la valeur correspondante dans la langue de votre projet).
  5. "priority"
    Remplacez "Normal" par la priorité que vous souhaitez filtrer. La valeur par défaut est "All" (ou la valeur correspondante dans la langue de votre projet).
  6. "show_active"
    Il s'agit d'une case à cocher déterminant si les problèmes actifs du projet doivent être affichés. Entrez 'true' si la case à cocher doit être activée ou 'false' si elle doit être désactivée. La valeur par défaut est 'true'.
  7. "show_resolved"
    Il s'agit d'une case à cocher déterminant si les problèmes résolus du projet doivent être affichés. Entrez 'true' si la case à cocher doit être activée ou 'false' si elle doit être désactivée. La valeur par défaut est 'true'.
  8. "show_closed"
    Il s'agit d'une case à cocher déterminant si les problèmes fermés du projet doivent être affichés. Entrez 'true' si la case à cocher doit être activée ou 'false' si elle doit être désactivée. La valeur par défaut est 'false'.
  9. "hide_invisible"
    Il s'agit d'une case à cocher déterminant si les problèmes qui ne sont pas visibles pour tous les membres de l'équipe doivent être cachés. Entrez 'true' si la case à cocher doit être activée ou 'false' si elle doit être désactivée. La valeur par défaut est 'false'.
  10. "show_to_approve"
    Il s'agit d'une case à cocher déterminant si les problèmes que vous devez approuver doivent être affichés. Entrez 'true' si la case à cocher doit être activée ou 'false' si elle doit être désactivée. La valeur par défaut est 'false'.
  11. "assigned_to_user_email" (attribué à l'utilisateur.rice)
    Remplacez "example@bimcollab.com" par l'adresse électronique de l'utilisateur(rice) assigné(e), et pas seulement par son nom. La valeur par défaut est "" (les problèmes attribués à tous les utilisateurs sont affichés).
  12. "deadline"
    Remplacez "01-01-2021" par la date limite sur laquelle vous souhaitez filtrer, au format dd-mm-yyyy. La valeur par défaut est "" (aucune date limite n'est prise en compte).
  13. "created_by_user_email" (créé par l'utilisateur.rice)
    Remplacez "example@bimcollab.com" par l'adresse électronique du (de la) créateur(rice) du problème, et pas seulement par son nom. La valeur par défaut est "" (les problèmes créés par tous les utilisateurs sont affichés).
  14. "custom1"
    Remplacez "Valeur 1" par la valeur du champ 1 de la liste personnalisée que vous souhaitez filtrer. La ligne de script doit toujours commencer par "custom1", et non par le nom réel du champ personnalisé. La valeur par défaut est "" (toutes les valeurs de ce champ personnalisé sont affichées).
  15. "custom2"
    Remplacez "Valeur 2" par la valeur du champ de la liste personnalisée 2 que vous souhaitez filtrer. La ligne de script doit toujours commencer par "custom2", et non par le nom réel du champ personnalisé. La valeur par défaut est "" (toutes les valeurs de ce champ personnalisé sont affichées).
Si l'une des entrées du filtre est incorrecte, le script ne sera pas exécuté.

Mise à jour des problèmes

Toutes les Smart Issues qui sont visibles dans l'onglet "Problèmes" de BIMcollab Zoom peuvent être automatiquement mises à jour, en fonction de l'état des clashs dans les modèles chargés.
La demande est UPDATE_ISSUES.

Script

{
"type" : "UPDATE_ISSUES",
"close_where_clashes_solved" : true,
"reopen_previously_closed_issues" : false,
"comment" : "Updated with Nightshift"
}

Explication

Chaque ligne de cette partie du script représente une des options de la fenêtre 'Update Smart Issues'. Notez que l'option 'Selected issues only' n'est pas présente, car aucun problème ne peut être sélectionné séparément lors de l'exécution du script. L'action sera effectuée sur tous les problèmes visibles dans l'onglet des questions.
  1. "close_where_clashes_solved" (fermer où les conflits sont résolus)
    Il s'agit d'une case à cocher déterminant si les problèmes où tous les conflits sont résolus peuvent être fermés avec la mise à jour. Entrez 'true' si la case à cocher doit être activée ou 'false' si elle doit être désactivée.
  2. "reopen_previously_closed_issues" (rouvrir les problèmes précédemment fermés)
    Il s'agit d'une case à cocher qui détermine si les problèmes fermés qui contiennent des conflits encore actifs peuvent être rouverts avec la mise à jour. Saisissez "true" si la case à cocher doit être activée ou "false" si elle doit être désactivée.
  3. "commentaire"
    Remplacez "Updated with Nightshift" par tout commentaire que vous souhaitez ajouter aux problèmes mis à jour.
Si l'une des options est manquante, une valeur par défaut sera ajoutée, comme le montre l'image ci-dessous.



Exécuter et partager des Listes

Toutes les listes situées dans "Partagé" dans l'onglet "Listes" peuvent être exécutées et partagées en même temps, afin que les informations les plus récentes soient disponibles pour tous les membres de l'équipe dans BIMcollab Nexus.
La demande pour cette action est RUN_AND_SHARE_LISTS

Script

{
"type" : "RUN_AND_SHARE_LISTS",
"list_set-name" : "Ensemble de listes 3".
}

Explication

Le paramètre "list_set_name" est facultatif. Si vous voulez exécuter un ensemble de listes en particulier, remplacez "Ensemble de listes 3" par le nom de l'ensemble de listes que vous voulez exécuter. Si le paramètre n'est pas présent, toutes les listes dans 'Partagé' seront exécutées et partagées.

Synchroniser le projet

Une fois les problèmes mis à jour et les listes exécutées et partagées, il est important de toujours synchroniser le projet avec BIMcollab Nexus. Ainsi, les modifications sont enregistrées et visibles pour le reste de l'équipe.
Ajoutez toujours cette demande à la fin du script.
La demande est SYNCHRONIZE_PROJECT.

Script

{
"Type" : "SYNCHRONIZE_PROJECT".
}

Suivi de l'état de la tâche

Une fois la tâche exécutée, vous pouvez vérifier si toutes les actions ont été effectuées avec succès dans le fichier journal de Nightshift. Ce fichier donne des informations sur l'état d'exécution de toutes les actions dans les scripts, ainsi que les codes d'erreur si quelque chose s'est mal passé.
Vous trouverez tous les fichiers journaux dans C:\Users\\AppData\Roaming\KUBUS\BIMcollab Zoom\Nightshift.
Remplacez par le nom de votre propre profil utilisateur dans Windows.
Le dossier AppData est un dossier caché par défaut. Affichez les dossiers cachés dans l'explorateur de fichiers pour naviguer jusqu'au bon emplacement.