Neuen Change Request per Webservice erzeugen

Post Reply
kik
Posts: 53
Joined: 04. May 2020, 07:38
Contact:

Neuen Change Request per Webservice erzeugen

Post by kik » 24. Sep 2020, 13:44

Hallo,

ich möchte einen neuen Change Request im Status Neu oder Angenommen über einen Webservice POST in Matrix erstellen lassen. Die beiden ootb Endpoints .../create und .../createchangeapprovals kann ich dafür glaube ich nicht nutzen.
Daraufhin wollte ich für den Endpoint api/change eine neue POST Methode (Transaktion) registrieren, und die dann den Clients anbieten.
In den Dokus habe ich die notwendigen Schritte leider nicht gefunden.
Meine Frage: Kann ich nachträglich neue Methoden für einen Endpoint erzeugen und hat es jemand schon gemacht?


Besten Dank in Voraus.

cboss
Posts: 128
Joined: 23. Dec 2011, 14:23
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by cboss » 24. Sep 2020, 15:45

Hallo,

die Anlage des Objektes kannst du eigentlich über die Object Data Services machen. Dort musst du lediglich im Body die jeweiligen Attribute befüllen:
https://help.matrix42.com/030_DWP/030_I ... ate_Object

Danach müsste jedoch der jeweilige Change-Workflow noch manuell gestartet werden. Das sollte über den Workflow-Webservice möglich sein:
https://help.matrix42.com/030_DWP/030_I ... t_Workflow

Man kann natürlich auch eigene Webservices entwickeln, das ist jedoch nur mit .Net-Techniken möglich:
https://help.matrix42.com/030_DWP/030_I ... eb_Service

Warum soll das ganze denn eigentlich über die API gemacht werden? Soll von einem Drittsystem dieser Change eröffnet werden?
neo42 GmbH
Ihr Partner für Unified Endpoint Management, IT Service Management, Software Asset Management und Enterprise Mobility Management
http://www.neo42.de
--------------------------------------------------------------------------
Morpheus42
Entdecke mit uns die Welt des Enterprise Service Management & Matrix42
https://www.morpheus42.com

kik
Posts: 53
Joined: 04. May 2020, 07:38
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by kik » 25. Sep 2020, 08:04

Hallo,

danke für die Links. Den letzten hatte ich schon gefunden, fand aber die Vorgehensweise ein weing aufwendig. Deshalb war ich der Meinung, daß es vielleicht einfacher wäre für den vorhandenen Endpoint einen neue Methode einzubinden.
Ja, genau das soll passieren.
Hintergrund: Es gibt ein Portal, das auch einen Self Service Bereich anbietet. Verschiedene Services sollen in Matrix Incidents bzw. Change erzeugen dürfen. Die Methode für neue Incidents existiert ja bereits, allerdings nicht für neue Changes.
Daher meine Frage. Ich werde mir das mal anschauen.
Da du das manuelle Starten von WFs angesprochen hast, gilt das wahrscheinlich auch bei Incidents, richitg ?
Oder macht die ootb POST create Methode automatisch ?

cboss
Posts: 128
Joined: 23. Dec 2011, 14:23
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by cboss » 25. Sep 2020, 08:33

Guten Morgen,

ich verstehe. Eine Alternative wäre vielleicht die Darstellung eines Create-Change-Dialogs per DeepLinking in einem IFrame auf dem anderen Portal? Informationen zum DeepLinking gibt es hier:
https://help.matrix42.com/030_DWP/030_INT/Deep_Linking

Im DeepLink kann dann der Parameter embedded auf true gesetzt werden, sodass nur der Dialog alleine erscheint:
https://m42demo.imagoverum.com/wm/app-S ... 22:true%7D

Das sieht dann so aus:
Image

Hat auch den Vorteil, dass du die Stammdaten für Picker etc. nicht synchronisieren musst.
Kleiner Hinweis: In der 10.0.0 funktioniert der Link nicht. Ab 10.0.1 ist der Fehler behoben.

Was die Webservices betrifft:
Beim erstellen eines Tickets benötigst du eigentlich keinen Workflow. Im ChangeManagement wird ja nach dem Wizard
"Annehmen" der Change-Prozess gestartet. Darum geht es eigentlich nur. Möchtest du wirklich nur den Change im Status "Neu" erstellen genügt dir der einfache CreateObject-Webservice.
Im ServiceDesk hast du ja so gesehen keinen Workflow, welchen du starten musst. Somit passt das.
Attachments
CreateChangeEmbedded.png
(50.03 KiB) Downloaded 524 times
neo42 GmbH
Ihr Partner für Unified Endpoint Management, IT Service Management, Software Asset Management und Enterprise Mobility Management
http://www.neo42.de
--------------------------------------------------------------------------
Morpheus42
Entdecke mit uns die Welt des Enterprise Service Management & Matrix42
https://www.morpheus42.com

kik
Posts: 53
Joined: 04. May 2020, 07:38
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by kik » 25. Sep 2020, 08:54

Hallo,

der Deep-Link ist eine sehr charmante Lösung. Wegen der Corporate Identity fällt das wahrscheinlich raus. Aber danke für das Aufzeigen von Alternativen.
Tatsächlich will ich den Status Neu nicht benutzen, da ich den manuellen Eingriff umgehen will. Ich überspringe Neu und starte direkt im Status Angegommen. So sieht zumindest mein CHG Template dazu aus. Wenn ich das so per WS ansteuern kann ist alles super.
Alles andere mache ich dann per Flow.

cboss
Posts: 128
Joined: 23. Dec 2011, 14:23
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by cboss » 25. Sep 2020, 08:57

Gerne ;)
neo42 GmbH
Ihr Partner für Unified Endpoint Management, IT Service Management, Software Asset Management und Enterprise Mobility Management
http://www.neo42.de
--------------------------------------------------------------------------
Morpheus42
Entdecke mit uns die Welt des Enterprise Service Management & Matrix42
https://www.morpheus42.com

Steinbit
Posts: 128
Joined: 30. Nov 2017, 16:32
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by Steinbit » 25. Sep 2020, 12:01

cboss wrote: 24. Sep 2020, 15:45 Hallo,

die Anlage des Objektes kannst du eigentlich über die Object Data Services machen. Dort musst du lediglich im Body die jeweiligen Attribute befüllen:
https://help.matrix42.com/030_DWP/030_I ... ate_Object

Danach müsste jedoch der jeweilige Change-Workflow noch manuell gestartet werden. Das sollte über den Workflow-Webservice möglich sein:
https://help.matrix42.com/030_DWP/030_I ... t_Workflow


Man kann natürlich auch eigene Webservices entwickeln, das ist jedoch nur mit .Net-Techniken möglich:
https://help.matrix42.com/030_DWP/030_I ... eb_Service

Warum soll das ganze denn eigentlich über die API gemacht werden? Soll von einem Drittsystem dieser Change eröffnet werden?
Bist du dir sicher dass derr Change Workflow noch manuell gestartet werden muss? Kann das nicht per Change Template automatisiert nach Anlage des Change Objektes passieren?

Ich wurde entweder diesen weg gehen oder über die Custom-API einen Workflow aufrufen, der dann den Change + dessen Subworkflow triggert. Das erspart dir eine Custom-API erstellen zu müssen.

cboss
Posts: 128
Joined: 23. Dec 2011, 14:23
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by cboss » 25. Sep 2020, 12:53

Hallo,

der Object Data Service legt wirklich nur den Eintrag an. Die Aktion "Annehmen" startet erst den Change-Workflow. Somit funktioniert das leider nicht. Aber die Idee mit dem Custom-WF ist auch eine klasse Idee!
Ich würde hier aber direkt im Custom-WF die Activity "Create Change" verwenden. Dort kann man eine Checkbox aktivieren, damit der Change-WF direkt startet:
Image

Alle Infos für das Erstellen des Changes könnte man dann als Argument in den WF übergeben.
Attachments
CreateChange.png
(32.63 KiB) Downloaded 536 times
neo42 GmbH
Ihr Partner für Unified Endpoint Management, IT Service Management, Software Asset Management und Enterprise Mobility Management
http://www.neo42.de
--------------------------------------------------------------------------
Morpheus42
Entdecke mit uns die Welt des Enterprise Service Management & Matrix42
https://www.morpheus42.com

Steinbit
Posts: 128
Joined: 30. Nov 2017, 16:32
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by Steinbit » 25. Sep 2020, 13:21

cboss wrote: 25. Sep 2020, 12:53 Hallo,

der Object Data Service legt wirklich nur den Eintrag an. Die Aktion "Annehmen" startet erst den Change-Workflow. Somit funktioniert das leider nicht. Aber die Idee mit dem Custom-WF ist auch eine klasse Idee!
Ich würde hier aber direkt im Custom-WF die Activity "Create Change" verwenden. Dort kann man eine Checkbox aktivieren, damit der Change-WF direkt startet:
Image

Alle Infos für das Erstellen des Changes könnte man dann als Argument in den WF übergeben.
Aber im Change Template gibt es auch den Flag "Initialize Workflows directly". Daher würde ich vermuten, dass wenn dieses Flag gesetzt ist, der im Change Template hinterlegte Workflow bei Anlage des Change-Objektes sofort OHNE manuelle Interaktion startet. Jedoch sicher bin ich nicht, da noch nicht getestet.

cboss
Posts: 128
Joined: 23. Dec 2011, 14:23
Contact:

Re: Neuen Change Request per Webservice erzeugen

Post by cboss » 25. Sep 2020, 14:01

Hallo,

hast recht. Klappt:
Image

Im Template den Init-Parameter auf true setzen:
Image

Und schon wird der Change sauber erstellt und der WF gestartet:
Image
Attachments
Template.png
(38.95 KiB) Downloaded 550 times
Postman.png
(38.67 KiB) Downloaded 521 times
Change.png
(19.98 KiB) Downloaded 483 times
neo42 GmbH
Ihr Partner für Unified Endpoint Management, IT Service Management, Software Asset Management und Enterprise Mobility Management
http://www.neo42.de
--------------------------------------------------------------------------
Morpheus42
Entdecke mit uns die Welt des Enterprise Service Management & Matrix42
https://www.morpheus42.com


Post Reply

Return to “Administration”

Who is online

Users browsing this forum: No registered users and 3 guests