Enregistrez des événements personnalisés à l'aide de l'API Shotgun

Qu'est-ce que c'est?

À 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é.

Entité EventLogEntry

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é.

Fonctionnalité

… Parce que c'est un journal, bien sûr

Enregistrer le journal [arbitrairement]

supposition

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é».

Méthode utilisée = créer

Il n'y a pas de méthode pour enregistrer les événements, Normalement ** create ** sur l'entité EventLogEntry

champ

スクリーンショット 2016-03-25 2.04.57.png

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!

Comment écrire event_type

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.

Qui

Qu'est-il arrivé

Exemple de phrase

l'écriture

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)

Avoir

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é.

Résumé

--Utilisez create.

Remarques

Exemple d'événement

Voici quelques exemples de types d'événements qui s'écouleront si vous les utilisez normalement (= sans rien faire comme ci-dessus).

référence

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

Enregistrez des événements personnalisés à l'aide de l'API Shotgun
Essayez d'utiliser l'API PeeringDB 2.0
J'ai essayé d'utiliser l'API checkio
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
Tweet à l'aide de l'API Twitter en Python
Créer une application à l'aide de l'API Spotify
Collection d'images à l'aide de l'API Google Custom Search
J'ai essayé d'utiliser l'API BigQuery Storage
J'ai recherché dans la bibliothèque l'utilisation de l'API Gracenote
Accédez à l'API Web à l'aide de requêtes Exemple: Flickr
Essayez d'utiliser l'API BitFlyer Ligntning en Python
J'ai essayé d'utiliser l'API Google Cloud Vision
Essayez d'utiliser l'API DropBox Core avec Python
Paramètres initiaux lors de l'utilisation de l'API foursquare avec python
Envoyez et recevez Gmail via l'API Gmail en utilisant Python
Publiez sur votre compte en utilisant l'API sur Twitter
J'ai essayé d'utiliser l'API de Sakenowa Data Project
Utiliser l'API de recherche de la Bibliothèque du Parlement national en Python
Créez un robot de réponse automatique en temps réel à l'aide de l'API Twitter Streaming
Optimisation d'image côté serveur à l'aide de l'API Web de TinyPNG
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
Publions l'API de super résolution à l'aide de Google Cloud Platform
Pour le moment, essayez d'utiliser l'API de dialogue de discussion docomo
L'histoire de la création d'une base de données à l'aide de l'API Google Analytics
J'ai créé un guide de programme original en utilisant l'API de guide de programme NHK.
Obtenez la météo en utilisant l'API et laissez Raspberry Pi parler!
[Pour les débutants] J'ai essayé d'utiliser l'API Tensorflow Object Detection
Créez une application qui recherche uniquement à l'aide de l'API de recherche personnalisée Google avec Python 3.3.1 dans Bottle