2016-11-08 5 views
0

Ich bin auf eine neue App mit Asana API arbeiten,sendet Asana API zu viele Ereignisse?

, nachdem ich ein Webhook an einem Projekt erstellen, würde ich zu viele Ereignisse empfangen selbst für die einfachsten Aufgaben

einen Blick auf ein Beispiel lässt nehmen : Ich habe ein Projekt, mit einem Webhook, der alle Updates erhält, die auf ihm auftreten.

Ich habe eine neue Aufgabe für dieses Projekt erstellt und ich erhielt nicht eine, nicht zwei sondern 11 Ereignisse.

{ 
    "events": [ 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:15.327Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:15.547Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:19.814Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:19.928Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:20.080Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:20.178Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519208, 
      "user": 50164104471653, 
      "type": "story", 
      "action": "removed", 
      "created_at": "2016-11-08T07:32:15.153Z", 
      "parent": 208671118519207 
     }, 
     { 
      "resource": 208720288746880, 
      "user": 50164104471653, 
      "type": "story", 
      "action": "added", 
      "created_at": "2016-11-08T07:32:15.332Z", 
      "parent": 208671118519207 
     } 
    ] 
} 

und nach einem Moment erhielt ich diese:

{ 
    "events": [ 
     { 
      "resource": 116224991348154, 
      "user": 50164104471653, 
      "type": "project", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:20.556Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519211, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "added", 
      "created_at": "2016-11-08T07:32:20.520Z", 
      "parent": 116224991348154 
     }, 
     { 
      "resource": 208671118519212, 
      "user": 50164104471653, 
      "type": "story", 
      "action": "added", 
      "created_at": "2016-11-08T07:32:20.550Z", 
      "parent": 208671118519211 
     } 
    ] 
} 

Ich verstehe, dass das Ereignis sprudeln und ein Ereignis in einer Aufgabe wird ein Ereignis in dem übergeordneten Projekt auslösen auch, ich verstehe auch, dass Jedes Ereignis erzeugt auch eine "Story" -Ereignis, aber was ich nicht verstehe ist, warum wir zu viele "Aufgabe geändert" -Event haben?

Ist es ein Fehler oder eine Funktion? oder mache ich es falsch?

Und wenn ich nur ein einziges Ereignis für jede Aufgabenänderung bekommen möchte, was soll ich tun?

Ein anderes Problem. Irgendwann erhalte ich Ereignisse auf Aufgaben ohne Benutzer-ID wie diese:

{ 
    "events": [ 
     { 
      "resource": 207890837706528, 
      "user": null, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:16:19.270Z", 
      "parent": null 
     } 
    ] 
} 

was bedeutet es, ohne einen Benutzer-ID, ein Ereignis zu haben?

Danke

+0

welche Programmiersprache ist das? Bitte erwähnen Sie dieses Tag auch in Frage, damit Benutzer Ihre Frage überprüfen können. –

Antwort

3

Asana dev hier. Du hast recht, dass wir zu viele Ereignisse senden - wir sind da ein wenig übereifrig. Einige davon sind auf die Faktoren zurückzuführen, die Sie bereits erkannt haben - Event-Sprudeln, Geschichten, die zu der Aufgabe hinzugefügt werden, usw. Allerdings würde ich nicht erwarten, dass viele "Task-Changed" -Ereignisse ... zu sehen sind die Benutzeroberfläche? Wenn Sie den Namen/die Notizen eingeben, könnte es sicherlich Ereignisse senden, nicht für jeden Tastenanschlag, aber vielleicht alle paar Sekunden? Wir haben keine Lösung gefunden, mit der wir Change-Events zusammenführen können, da die Asana-App reaktiv ist - sie sendet während der Eingabe fortlaufend Updates, und jedes dieser Ereignisse wird als "Edit" -Ereignis angezeigt.

Wie für Ereignisse ohne Benutzer, tritt auf, wenn etwas auf dem System passiert - zum Beispiel, wenn eine Aufgabe durch automatisch wiederkehrende wiederholt wird.

Wir haben derzeit keine Pläne, Änderungen daran vorzunehmen - längerfristig können wir neue Arten von Ereignissen hinzufügen. Im Moment ist es im Grunde nur ein Firehose jedes Mal, wenn sich das Modell in irgendeiner Weise ändert, plus Ereignisse hinzufügen/entfernen.

+0

Nun, ich verwende Ihre Webapp direkt und ich erhalte die Ereignisse auf meiner Webapp, und irgendwann erhalte ich ein Ereignis für jeweils 3-4 Zeichen (Das ist wirklich ärgerlich gibt es eine Chance, Sie können eine neue Art Ereignis für Kommentare hinzufügen (es ist nützlicher als "Geschichte" eine IMHO), wenn wir diesen Typ hätten wir "Ereignis/geändert" -Ereignis ignorieren, und arbeite nur mit (task/added) und (comment/added) aktuell muss ich alles lesen (task/changed) und dann prüfen ob es ein kommentar oder etwas anderes ist. Also meine Frage ist: Gibt es eh ich kann mit den Kommentaren arbeiten, ohne das gesamte Ereignis "task/changed" zu lesen? – djug

Verwandte Themen