Zoom Nightshift automatisiert Aktionen in Zoom unter Verwendung von JSON-Skriptdateien in Kombination mit dem Windows Task Scheduler.
Mit Nightshift können Sie die folgenden Aktionen in BIMcollab Zoom automatisieren:
- Modelle öffnen / Dem Projekt hinzufügen
- Mit Projekt verbinden
- Issues filtern
- Issues aktualisieren
- Alle Listen ausführen und teilen
- Projekt synchronisieren
In diesem Artikel beschreiben wir, wie Sie ein Skript erstellen, das in Zoom Nightshift ausgeführt wird.
Ein JSON-Skript kann in jedem JSON-Skript-Editor erstellt werden.
Im Anhang zu diesem Artikel finden Sie ein Beispielskript, das Ihnen den Einstieg erleichtern soll.
Das Skript beginnt mit dem Titel des Skripts und optional der Version, gefolgt von den Aktionen, die in Zoom ausgeführt werden sollen, wenn das Skript ausgeführt wird.
{
"title": "Example_Script",
"version": "0.1",
"actions": [
Die verschiedenen Aktionen, die dem Skript hinzugefügt werden können, damit Zoom sie während der Nightshift durchführen kann, werden im weiteren Verlauf dieses Artikels erläutert.
Modelle öffnen / Dem Projekt hinzufügen Hinzufügen zu Projekten
Das erste, was Sie in Nightshift tun möchten, ist, eine Reihe von Modellen zu öffnen, an denen die restlichen Aktionen durchgeführt werden können. Hierfür gibt es zwei verschiedene mögliche Aufforderungen:
- OPEN_MODELS: fügt ein Modell zum Navigator hinzu, lädt es und schließt alle zuvor geladenen Modelle
- ADD_TO_PROJECT: fügt ein Modell zum Navigator hinzu und lädt es, ohne die Modelle zu schließen, die bereits im Navigator vorhanden sind
Hinweis: Wenn Sie eine Verbindung zu einem Projekt herstellen, in dem ein
Projektordner aktiv ist, werden alle Modelle im Projektordner automatisch geladen, unabhängig von ihrem Ladestatus in Ihrem Zoom-Projekt. Es sind keine zusätzlichen Eingaben im Skript erforderlich, um diese Modelle zu öffnen.
Wenn Sie dem Projekt weitere Modelle hinzufügen möchten, die sich nicht im Projektordner befinden, verwenden Sie die Eingabeaufforderung ADD_TO_PROJECT.
Skript
{
"type": "OPEN_MODELS",
"models": [
"C:/Users/userone/Desktop/1.ifc",
"C:/Users/userone/Desktop/2.ifc",
"C:/Users/userone/Desktop/3.bcp"
]
}
Erläuterung
Ersetzen Sie "C:/Users/userone/Desktop/1.ifc" usw. durch die Pfade zu den Modellen, die Sie öffnen möchten, getrennt durch Kommas.
Verwenden Sie in der Pfaddefinition immer Schrägstriche "/", keine Backslashes.
Mit Projekt verbinden
Um eine Aktualisierung von Smart Issues zu ermöglichen und Listen zu teilen, müssen Sie mit einem Projekt in der BIMcollab Nexus verbunden sein.
Die Aufforderung dazu lautet CONNECT_TO_PROJECT
Skript
{
"type": "CONNECT_TO_PROJECT",
"project_name": "My BIMcollab Project"
}
Erläuterung
- Ersetzen Sie "example.bimcollab.com" durch die URL des WebRaums, mit dem Sie sich verbinden möchten.
- Ersetzen Sie "My BIMcollab Project" durch den Namen des Projekts, mit dem Sie sich verbinden möchten. Achten Sie auf die korrekte Schreibweise des Namens und der URL.
Es ist wichtig, dass das Projekt, mit dem Sie sich verbinden möchten, in der Liste der letzten Projekte in BIMcollab Zoom enthalten ist und dass Ihre Anmeldedaten in BIMcollab Zoom gespeichert sind. Dies können Sie erreichen, indem Sie das Kontrollkästchen “Merken der Anmeldeinformationen" markieren, wenn Sie sich manuell mit dem Projekt verbinden.
Stellen Sie außerdem sicher, dass das Format des Parameters "space_name" genau dem Format entspricht, in dem der Raumname bei der Verbindung mit dem Projekt eingegeben wurde.
Issues filtern
Sobald Sie mit einem Projekt verbunden sind, werden alle Issues, die für Sie im Projekt sichtbar sind, in BIMcollab Zoom geladen.
Im nächsten Schritt können alle Smart Issues, die in dieser Liste enthalten sind, automatisch aktualisiert werden. Um nur eine Auswahl von Issues Ihrer Wahl zu aktualisieren, richten Sie zunächst den Issue-Filter ein.
Die Aufforderung lautet FILTER_ISSUES.
Wird diese Aufforderung im Skript ausgelassen, wird der zuletzt aktive Filter verwendet.
Skript
{
"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,
"deadline": "01-01-2021",
"custom1": "Value 1",
"custom2": "Value 2"
}
Erläuterung
Für diesen Teil des Skripts sind einige Dinge zu beachten:
- Wenn diese Aufforderung zum Skript hinzugefügt wird, wird der Issue-Filter in BIMcollab Zoom zunächst auf den Standardfilter zurückgesetzt und dann entsprechend den Werten im Skript angepasst.
- Nightshift übernimmt, wann immer möglich, die Standardeinstellungen der Parameter, so dass Sie nur die Änderungen angeben müssen, die von den Standardeinstellungen abweichen. Alle Parameterzeilen in diesem Teil des Skripts, mit Ausnahme von "type": "FILTER_ISSUES" (obligatorische Aktionsdefinition) und "Priorität", können im Skript weggelassen werden. Wird z. B. der Parameter "label" weggelassen, behält Nightshift diesen Parameter auf "All".
Achten Sie auf die Schreibweise der eingegebenen Werte. Sie müssen genau so geschrieben werden, wie sie im Projekt stehen.
Tipp: Öffnen Sie das Issue-Filterfenster in BIMcollab Zoom neben dem JSON-Editor, um Tippfehler im Skript zu vermeiden.
Alle Zeilen in diesem Teil des Skripts stellen eine der Eigenschaften im Issue-Filter dar:
- "filter_type"
Ersetzen Sie "Issue" durch den Typ, den Sie filtern möchten. Der Standardwert ist "Alle" (oder der entsprechende Wert in der Sprache Ihres Projekts). - "area"
Ersetzen Sie "Model" durch den Bereich, den Sie filtern möchten. Der Standardwert ist "Alle" (oder der entsprechende Wert in der Sprache Ihres Projekts). - "milestone"
Ersetzen Sie "Design phase" durch den Meilenstein, den Sie filtern möchten. Der Standardwert ist "Alle" (oder der entsprechende Wert in der Sprache Ihres Projekts). - "label"
Ersetzen Sie "Architecture" durch das Etikett, das Sie filtern möchten. Der Standardwert ist "Alle" (oder der entsprechende Wert in der Sprache Ihres Projekts). - "priority"
Ersetzen Sie "Normal" durch die Priorität, die Sie filtern möchten. Der Standardwert ist "Alle" (oder der entsprechende Wert in der Sprache Ihres Projekts). - "show_active"
Dies ist ein Ankreuzfeld, das bestimmt, ob die aktiven Issues des Projekts angezeigt werden sollen. Geben Sie "true" ein, wenn das Feld aktiviert sein soll, oder "false", wenn es deaktiviert sein soll. Der Standardwert ist "true". - "show_resolved"
Dies ist ein Ankreuzfeld, das bestimmt, ob die gelösten Issues des Projekts angezeigt werden sollen. Geben Sie "true" ein, wenn das Feld aktiviert sein soll, oder "false", wenn es deaktiviert sein soll. Der Standardwert ist "true". - "show_closed"
Dies ist ein Ankreuzfeld, das bestimmt, ob die geschlossenen Issues des Projekts angezeigt werden sollen. Geben Sie "true" ein, wenn das Feld aktiviert sein soll, oder "false", wenn es deaktiviert sein soll. Der Standardwert ist "false". - "hide_invisible"
Dies ist ein Ankreuzfeld, das festlegt, ob Issues, die nicht für alle Teammitglieder sichtbar sind, ausgeblendet werden sollen. Geben Sie "true" ein, wenn das Feld aktiviert sein soll, oder "false", wenn es deaktiviert sein soll. Der Standardwert ist "false". - "show_to_approve"
Dies ist ein Ankreuzfeld, das bestimmt, ob die von Ihnen zu genehmigenden Issues angezeigt werden sollen. Geben Sie "true" ein, wenn das Feld aktiviert sein soll, oder "false", wenn es deaktiviert sein soll. Der Standardwert ist "false". - "assigned_to_user_email"
Ersetzen Sie "example@bimcollab.com" durch die E-Mail-Adresse des zugewiesenen Nutzers, nicht nur durch dessen Namen. Der Standardwert ist "" (Issues, die allen Nutzern zugewiesen sind, werden angezeigt). - "deadline"
Ersetzen Sie "01-01-2021" durch die Frist, nach der Sie filtern möchten, im Format tt-mm-jjjj. Der Standardwert ist "" (es wird kein Termin berücksichtigt). - "created_by_user_email"
Ersetzen Sie "example@bimcollab.com" durch die E-Mail-Adresse des Erstellers, nicht nur durch dessen Namen. Der Standardwert ist "" (von allen Nutzern erstellte Issues werden angezeigt). - "custom1"
Ersetzen Sie "Value 1" durch den Wert des kundenspezifischen Listenfeldes 1, das Sie filtern möchten. Die Scriptzeile sollte immer mit "custom1" beginnen, nicht mit dem tatsächlichen Namen des kundenspezifischen Feldes. Der Standardwert ist "" (alle Werte für dieses kundenspezifische Feld werden angezeigt). - "custom2"
Ersetzen Sie "Value 2" durch den Wert des kundenspezifischen Listenfeldes 2, das Sie filtern möchten. Die Scriptzeile sollte immer mit "custom2" beginnen, nicht mit dem tatsächlichen Namen des kundenspezifischen Feldes. Der Standardwert ist "" (alle Werte für dieses kundenspezifische Feld werden angezeigt).
Wenn eine der Eingaben des Filters falsch ist, wird das Skript nicht weiter ausgeführt.
Issues aktualisieren
Alle Smart Issues, die in der Registerkarte Issues von BIMcollab Zoom sichtbar sind, können automatisch aktualisiert werden, entsprechend dem Status der Konflikte in den geladenen Modellen.
Die Aufforderung lautet UPDATE_ISSUES.
Skript
{
"type": "UPDATE_ISSUES",
"close_where_clashes_solved": true,
"reopen_previously_closed_issues": false,
"comment": "Updated with Nightshift"
}
Erläuterung
Jede Zeile in diesem Teil des Scripts steht für eine der Optionen im Fenster " Smart Issues aktualisieren". Beachten Sie, dass die Option "Nur ausgewählte Issues" nicht vorhanden ist, da beim Ausführen des Scripts keine Issues separat ausgewählt werden können. Die Aktion wird für alle sichtbaren Issues auf der Registerkarte "Issues" ausgeführt.
- "close_where_clashes_solved"
Dies ist ein Ankreuzfeld, das bestimmt, ob Issues, bei denen alle Konflikte gelöst sind, mit der Aktualisierung geschlossen werden können. Geben Sie "true" ein, wenn das Feld aktiviert werden soll, oder "false", wenn es deaktiviert werden soll. - "reopen_previously_closed_issues"
Dies ist ein Ankreuzfeld, das bestimmt, ob geschlossene Issues, die noch aktive Konflikte enthalten, mit der Aktualisierung wieder geöffnet werden können. Geben Sie "true" ein, wenn das Feld aktiviert sein soll, oder "false", wenn es deaktiviert sein soll. - "comment"
Ersetzen Sie "Updated with Nightshift" durch einen beliebigen Kommentar, den Sie zu den aktualisierten Issues hinzufügen möchten
Wenn eine der Optionen fehlt, wird ein Standardwert hinzugefügt, wie in der folgenden Abbildung gezeigt.
Listen ausführen und teilen
Alle Listen, die sich auf der Registerkarte "Listen" unter "Geteilt" befinden, können gleichzeitig ausgeführt und geteilt werden, sodass die neuesten Informationen für alle Teammitglieder in BIMcollab Nexus verfügbar sind.
Die Aufforderung für diese Aktion lautet RUN_AND_SHARE_LISTS
Skript
{
"type": "RUN_AND_SHARE_LISTS",
"list_set-name" : "List set 3"
}
Erläuterung
Der Parameter "list_set_name" ist optional. Wenn Sie einen bestimmten Listensatz ausführen möchten, ersetzen Sie "List set 3" durch den Namen des Listensatzes, den Sie ausführen möchten. Wenn der Parameter nicht vorhanden ist, werden alle Listen in "Geteilt" ausgeführt und geteilt.
Projekt synchronisieren
Sobald Issues aktualisiert und Listen ausgeführt und geteilt werden, ist es wichtig, das Projekt immer mit BIMcollab Nexus zu synchronisieren, damit die Änderungen gespeichert und für den Rest des Teams sichtbar werden.
Fügen Sie diese Aufforderung immer an das Ende des Skripts an.
Die Aufforderung lautet SYNCHRONIZE_PROJECT.
Skript
{
"type": "SYNCHRONIZE_PROJECT"
}
Nachverfolgung des Status der Aufgabe
Nachdem die Aufgabe ausgeführt wurde, können Sie in der Nightshift-Logdatei überprüfen, ob alle Aktionen erfolgreich durchgeführt wurden. Die Datei gibt Rückmeldung über den Ausführungsstatus aller Aktionen in den Skripten sowie über Fehlercodes, wenn etwas schief gelaufen ist.
Sie finden alle Logdateien unter C:\Benutzer\\AppData\Roaming\KUBUS\BIMcollab Zoom\Nightshift.
Ersetzen Sie durch den Namen Ihres eigenen Nutzerprofils in Windows.
Der Ordner "AppData" ist standardmäßig ein versteckter Ordner. Zeigen Sie die versteckten Ordner im Datei-Explorer an, um zum richtigen Speicherort zu navigieren.