2017-04-21 9 views
0

J'essaie d'exporter les temps signalés à l'aide de workflows. J'ai réussi à faire un flux de travail qui envoie une requête http à l'heure changementComment exporter un élément de travail dans le workflow de youtrack

rule Post work items 
when issue.Spent time.changed { 
    var url="https://myserver/jsp/testReceiveOfHours.jsp?issueid="+issue.getId(); 
    var payload="{\n\t\"payload\": {\n\t\t\"json\": true\n\t}\n}"; 
    doHttpPost(url,payload); 
} 

Ce travail, je reçois un déclencheur qui une heure de travail est changé, mais je ne sais pas qui. Mais à l'autre serveur j'ai fait un jsp qui est revenu à youtrack via l'API REST pour récupérer tous les éléments de travail de ce problème. Cela fonctionne, sauf qu'il ne semble pas que l'élément de travail modifié le plus récemment renvoyé est enregistré dans la base de données avant d'effectuer l'extraction, de sorte que l'élément de travail que je recherche n'est plus ancien. Donc, avant que j'entre dans faire une sorte de retard/file d'attente (ou quelque chose). Existe-t-il un moyen d'ajouter l'élément de travail modifié json (le même que celui renvoyé par // youtrackserver/rest/issue/issueid/timetracking/workitem/workitemid) à la charge utile du doHttpPost? Si pas json peut-être les données sous une autre forme?

Répondre

1

Dans l'API Workflow de YouTrack avant 2017.2, il était impossible d'obtenir des éléments de travail à partir d'un problème. Dans YouTrack 2017.2, une nouvelle propriété apparaît (issue.workItems), de sorte que vous pouvez obtenir des éléments de travail supplémentaires par issue.workItems.added.

Vous pouvez également essayer un experimental Workflow API (basé sur JS et pris en charge par un éditeur intégré au navigateur).

L'API pour les éléments de travail n'est pas décrite dans la documentation de l'ancienne API, mais vous pouvez la trouver dans la référence de l'API expérimentale: BaseWorkItem, IssueWorkItem, Issue.

+0

Je ne parviens pas à ce que l'éditeur de flux de travail accepte les numéros de fichier, il est uniquement rouge et ne sera pas enregistré/utilisé. Cette méthode nécessite-t-elle le nouveau workflow javascript? – Johan