Drücke „Enter”, um zum Inhalt zu springen.

JIRA Custom Service Broker (Teil 2)

Im zweiten Teil zum Thema JIRA Service Broker möchte ich kurz zeigen wie mit dem Smartobjekt der angelegten Serviceinstanz die die in Teil 1 angesprochenen Methoden aufgerufen werden können bzw. wie die Ergebnisse aus/in JIRA aussehen.

Issue anlegen

Um einen Issue anzulegen benötigt das Smartobjekt lediglich ein JSON-Objekt. Das JSON-Objekt muss zumindest alle Pflichtfelder, die auch auf der Eingabemaske für den jeweiligen Issue seitens JIRA erforderlich sind enthalten, sowie natürlich die Information wleche Art von Issue-Typ angelegt werden soll.

Wie das genau auszusehen hat, kann über den REST APi Browser der JIRA Systemadministraiton eingesehen werden:

<Ihre_Jira_URL>/plugins/servlet/restbrowser#/resource/api-2-issue

Für die Felder, die auch formatierten Text zulassen (z.B. die description) können zudem die JIRA bzw. Atlassian Notations verwendet werden. (–> Text Formatting Notation Help – Create and track feature requests for Atlassian products.)

Beispiel:

 

Ergebnis in JIRA:

Beispiel für das JSON-Objekt:

{
    "fields": {
       "project":
       {
          "key": "COR"
       },
       "summary": "My first Task with JIRA-API",
       "description": "Description\n* Option 1\n* Option 2\n# Number 1\n# Number 2\n[link title|https://www.google.com/]\n||Table Heading 1||Heading 2||\n|Col A1|Col A2|\n|Col A1 Row 2|Col A2 Row 2|\n",
       "issuetype": {
          "name": "Task"
       }
   }
}

Antwort der JIRA REST API:

Der REST Service für die Anlage eines neuen Issue gibt einJSON-Objekt  zurück, das folgendermaßen aussieht:

{
  "id": "10124",
  "key": "COR-63",
  "self": "http://localhost:8080/rest/api/2/issue/10124"
}

Der Servicebroker übernimmt die Deserialisierung des Objektes und gibt die Werte direkt zurück. Auf diese Weise kann z.B. mit dem Issuekey direkt eine weitere Operation durchgeführt werden (z.B. ein Attachment anfügen oder einen Link zum Issue generieren etc.)

 

Kommentar zu einem bestehenden Issue hinzufügen

Das erzeugte Smartobjekt bietet auch die Möglichkeit einen Kommentar zu einem bestehende Issue hinzuzufügen. Hierzu bedarf es lediglich den Key einers Issues und den Kommentar als JSON-Objekt. Der Kommentar muss mindestens über einen „body“ und den zugehörigen Kommentar-Text verfügen.

<Ihre_Jira_URL>/plugins/servlet/restbrowser#/resource/api-2-issue-issueidorkey-comment/POST

{
  "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."
}

Es ist außerdem auch möglich, den Kommentar nur für bestimmte Rollen sichtbar zu machen. Dazu muss lediglich das JSON-Objekt um die notwendige Informatoin der gewünschten Rollen erweitert werden.

{
  "body": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper.",
  "visibility": {
    "type": "role",
    "value": "Administrators"
  }
}

 

Beispiel:

 

Ergebnis in JIRA:

 

Im 3. Teil werde ich die Möglichkeit der Suche mit JQL sowie das Anhängen von Attachments an einen Issue beschreiben …


ArtikelbildBild von Markus Winkler auf Pixabay