2017-04-14 2 views
0

Ich versuche, Jira-Problemfelder über REST API zu aktualisieren, ich bin in der Lage, Zusammenfassung, Beschreibung, Priorität, Reporter Felder aber den Status zu aktualisieren. HierJira-Ausgabestatus wird nicht aktualisiert

ist der Code, den ich zu laufen versuche:

string jSonContent = (@" 
    { 
     ""fields"": { 
      ""summary"": ""data"", 
      ""description"": ""modified."", 
      ""priority"": {""name"": ""val""}, 
      ""reporter"": {""name"": ""[email protected]""}, 
      ""status"": {""name"": ""WORK IN PROGRESS""} 
     } 
    }").Replace("data", summ).Replace("modified.", desc).Replace("val", pri); 

request.AddParameter("application/json", jSonContent, ParameterType.RequestBody); 

var response = Execute(request); 

Antwort

1

Sie können nicht den Status eines Problems wie das die Art und Weise ändern.

Um zu bestimmen, welche Art von Feldern mit einer einfachen PUT-Anforderung tun, um ein GET für Metadaten geändert werden:

https://{your-jira-url}/rest/api/2/issue/{issueIdOrKey}/editmeta 

Diese Abfrage wiederum werden Sie alle Felder, die Sie ändern können. Sie werden das Statusfeld im zurückgegebenen JSON-Objekt nicht finden.

Zurück zu Ihrem Problem: Wie könnte sich der Status eines Problems ändern? In Jira haben Sie einen Workflow, der den möglichen Übergang zwischen den Staaten enthält. Um den Status zu ändern, müssen Sie einen Übergang durchführen. (. Genau die gleiche Art und Weise, wie Sie es auf UI tun würde)

So tun zuerst eine GET-Anfrage wie folgt aus:

https://{your-jira-url}/rest/api/2/issue/{issueIdOrKey}/transitions?expand=transitions.fields 

Diese Anfrage wird alle möglichen Übergänge Ihrer Ausgabe des aktuellen Status zurückzukehren. Überprüfen Sie, welchen Übergang Sie durchführen möchten und notieren Sie die ID (in meinem Fall ist die gewünschte ID 11). Mit diesem Übergang ID können Sie eine POST-Anforderung mit dem JSON Nutzlast tun:

https://{your-jira-url}/rest/api/2/issue/{issueIdOrKey}/transitions 

{ 
    "transition": { 
     "id": "11" 
    } 
} 

Eine weitere Sache zu beachten: Wenn der Übergang nicht einfach ist, dann müssen Sie mehr Daten zur Verfügung stellen. Ich meine hier einen einfachen Übergang, bei dem Sie einfach auf eine Schaltfläche auf der Benutzeroberfläche klicken und keinen zusätzlichen Bildschirm für den Übergang erhalten. (ZB können Sie einen Übergang einrichten wie: Sie könnten nur ein Problem lösen, wenn Sie einen Kommentar hinzufügen.) Glücklicherweise enthält die zuvor zurückgegebene Transitionsliste alle Felder, die zusammen mit der Transitions-ID bereitgestellt werden können oder müssen.

Weitere Informationen finden Sie im offiziellen Jira documentation.