À propos de l'enregistrement des journaux sur Shotgun via l'API Shotgun J'écrirai sur le cas de laisser intentionnellement un journal arbitraire au lieu du journal qui est automatiquement laissé.
Sur Shotgun, la table de données pour la journalisation est ** "EventLogEntry Entity" **. Si quelqu'un fait quelque chose sur Shotgun Web (ouvre une page, change de statut, parcourt une version, etc.), il sera enregistré.
… Parce que c'est un journal, bien sûr
Le journal est enregistré sans rien faire, En outre, vous souhaitez parfois enregistrer vos propres événements en tant que marqueur.
C'est un soi-disant «événement personnalisé».
Il n'y a pas de méthode pour enregistrer les événements, Normalement ** create ** sur l'entité EventLogEntry
Au fait, en parlant de "RTS" dans la colonne projet, Il est sérialisé ici> http://area.autodesk.jp/column/tutorial/road_to_stingray/ J'ai également donné une conférence l'autre jour> http://www.guncys.com/?p=378 J'attends avec impatience l'achèvement!
Puisque event_type lui-même n'est qu'un champ de texte, vous pouvez l'écrire librement, Fondamentalement, il est préférable de correspondre au format suivant
{Quel est le journal}_{À quelle entité se connecter}_{Quel genre d'opération avez-vous fait}
«Qui», «où» et «ce qui s'est passé» sont reliés par un trait de soulignement. En observant le journal écrit en standard, on a l'impression que le cas supérieur du chameau est connecté à un trait de soulignement pour 3 éléments.
Sur la base du contenu jusqu'à présent, le script qui laisse un journal arbitraire est le suivant, par exemple.
python
data = {}
data['project'] = PROJ
data['event_type'] = 'MyApp_Entity_SomeAction'
data['description'] = 'some action'
data['user'] = SCRIPT_USER
data['entity'] = SOME_TARGET
sg.create('EventLogEntry',data)
L'exemple de phrase pour obtenir le journal écrit ressemble à ce qui suit
python
eventType = 'MyApp_Entity_SomeAction'
log = sg.find_one(
'EventLogEntry',
[['event_type','is',eventType ],['project','is',PROJ]],
['created_at','entity'],
order=[{'field_name':'id','direction':'desc'}]
)
En utilisant la méthode find_one
et en spécifiant ʻorder` pour retourner dans l'ordre le plus récent (au point de'desc ')
J'ai un "dernier'Myscript_Shot_SomeAction '".
De plus, mettez `` created_at '' dans le champ renvoyé pour obtenir l'horodatage.
Si vous entrez le type d'événement, ce serait bien d'en faire une fonction afin qu'il soit renvoyé.
--Utilisez create.
Voici quelques exemples de types d'événements qui s'écouleront si vous les utilisez normalement (= sans rien faire comme ci-dessus).
How to write event driven triggers https://support.shotgunsoftware.com/entries/44575-How-to-write-event-driven-triggers
Event Types https://github.com/shotgunsoftware/python-api/wiki/Event-Types
Il y a aussi une si bonne chose
Shotgun Event Framework https://github.com/shotgunsoftware/shotgunEvents
Recommended Posts