Stellen Sie in Jitterbit Design Studio eine Verbindung zu einer REST- API her
Einführung
Auf dieser Seite wird gezeigt, wie Sie die Informationen aus der Validierung einer REST- API verwenden, um eine Verbindung zur API in Harmony herzustellen. Diese Seite ist eine Fortsetzung des REST- API Tutorials mithilfe von Atlassian Jira Cloud REST API v2 als Beispiel anhand der Informationen, die im Anschluss an die Untersuchung einer REST- API gesammelt wurden und validiert in Validieren einer REST- API.
Die Verbindung zur API in Harmony wird über Design Studio konfiguriert. Im Gegensatz zu WSDL-basierten Webdiensten steht kein Assistent zur Verfügung, der Sie durch die Einrichtung führt. Stattdessen wird eine Verbindung zu einer REST API konfiguriert, indem eine HTTP-Quelle oder ein HTTP-Ziel eingerichtet wird. Sie verwenden die HTTP-Quelle oder das HTTP-Ziel später in einem Operation, wie unter Verwenden einer REST- API in Vorgängen beschrieben.
Obwohl sich dieses Tutorial nur auf allgemeine Konfigurationsoptionen konzentriert, wird erfahrenen und unerfahrenen Benutzern gleichermaßen empfohlen, die Seiten HTTP-Quelle durchzusehen und HTTP-Ziel, die detailliertere Informationen zu allen konfigurierbaren Optionen bieten.
Konfigurieren einer HTTP-Quelle oder eines HTTP-Ziels
Nachfolgend finden Sie eine Beispielkonfiguration anhand des Jira-Beispiels, gefolgt von Unterabschnitten, die bestimmte Teile der HTTP-Quell-/Zielkonfiguration beschreiben. Weitere Informationen finden Sie in der Dokumentation für HTTP-Quelle und HTTP-Ziel zum Erstellen einer Quelle oder eines Ziels sowie zu allen verfügbaren konfigurierbaren Optionen.
HTTP-Verb und URL
Wählen Sie während der Konfiguration das entsprechende HTTP-Verb für Ihre Anfrage aus und geben Sie dieselbe URL an, die Sie als Anfrage-URL in Postman verwendet haben.
Um die URL dynamisch zu gestalten, können Sie Projekt- oder globale Variablen verwenden anstelle einer Basis URL oder zum Hinzufügen von Abfrage.
Wenn Variablen verwendet werden, können Sie zu Test- oder Standardzwecken auch Standardwerte angeben (wie in geschweiften Klammern dargestellt). (Wenn keine Standardwerte angegeben werden, kann der Verbindungstest fehlschlagen, aber da die Variablenwerte zur Laufzeit aufgefüllt werden, sollte der Operation zur Laufzeit trotzdem erfolgreich sein.)
Beispielsweise ist unsere URL für unseren Jira-PUT „Problem bearbeiten“ wie folgt aufgebaut:
https://[jira.baseUrl{my-domain.atlassian.net}]/rest/api/2/issue/[jira.issueKey{TEST-11}]
Authentifizierung
Die Authentifizierungseinstellungen variieren je nach Authentifizierungsmethode.
Da wir im Beispiel eine Basisauthentifizierung verwenden, haben wir denselben Login und dasselbe Passwort eingegeben, das wir zum Testen verwendet haben (ebenfalls unter Verwendung von Projektvariablen) und haben dann die Optionen erweitert, um das Kontrollkästchen für Einfache HTTP-Authentifizierung verwenden auszuwählen.
Sie sollten den Authentifizierungstyp verwenden, den Sie für Ihren spezifischen Endpoint konfiguriert haben. Wenn Sie beispielsweise eine ausgehandelte Authentifizierung verwenden, etwa mit einem Windows-Server mit integrierter Authentifizierung, würden Sie Anmeldedaten und Passwort ausfüllen, aber das Kontrollkästchen für die Basisauthentifizierung nicht aktivieren.
Ein weiteres Beispiel: Wenn Sie eine tokenbasierte Authentifizierung verwenden, können Sie diese Anmeldeinformationen leer lassen und stattdessen eine Projekt- oder globale Variable angeben Authentifizierungstoken in den Anforderungsheadern unter Optionen > Erweiterte Eigenschaften. Ein typisches tokenbasiertes Setup wird in REST- Transformation - Sugar CRM - Sitzungstoken anfordern beschrieben.
Überschriften
Unter Erweiterte Eigenschaften können Sie außerdem alle zusätzlichen Anforderungsheader angeben, die nicht bereits in der HTTP-Quell-/Zielschnittstelle enthalten sind. Es wird empfohlen, bei jedem Aufruf die Anforderungsheader bei der Validierung der API zu überprüfen, um sicherzustellen, dass Sie über alle erforderlichen Anforderungsheader verfügen.
Wenn Sie Anforderungsheader mit dem Feld Erweiterte Eigenschaften „Anforderungsheader (eine Zeile pro Header)“ angeben, beachten Sie, dass die standardmäßige Autovervollständigungshilfe für Variablen in Design Studio in diesem Bereich nicht funktioniert. Das heißt, wenn Sie mit der Eingabe einer öffnenden eckigen Klammer ([
), werden Ihnen keine vorhandenen Variablen zur Auswahl angeboten. Es ist jedoch nützlich zu wissen, dass Sie weiterhin Projekt- oder globale Variablen verwenden können in diesem Bereich.
Antwortheader werden in Harmony dagegen nicht validiert. Wenn Sie jedoch etwas verwenden müssen, das im API Header bereitgestellt wird, können Sie die für eine HTTP-Quelle oder ein HTTP-Ziel geeignete Jitterbit-Variable verwenden:
-
HTTP-Quelle:
$jitterbit.source.http.response.header.*
-
HTTP-Ziel:
$jitterbit.target.http.response.header.*
Die Dokumentation zu diesen Variablen finden Sie unter Quell-Jitterbit-Variablen und Ziel-Jitterbit-Variablen.
Inhaltstyp
Überprüfen Sie bei HTTP-Zielen unter Optionen, ob der Inhaltstyp dem von der API erwarteten Format entspricht. Beachten Sie, dass diese Option nur auf das Format der Anforderungsstruktur (nicht auf das der Antwortstruktur) anwendbar ist.
Normalerweise akzeptieren REST- APIs Anfragen und geben Antworten in JSON aus, wie es auch bei unserem API der Fall ist. In diesem Beispiel haben wir das Kontrollkästchen für einen Jira deaktiviert: text/plain
und gab einen benutzerdefinierten Inhaltstyp ein von application/json
.
Wenn Sie eine REST API Anforderung in einem anderen Format bereitstellen, geben Sie den Inhaltstyp entsprechend an. Wenn die Methode keine strukturierten Daten akzeptiert, deaktivieren Sie das Kontrollkästchen und lassen Sie dieses Feld leer.
Antwort
Für ein HTTP-Ziel, das eine Anfrage verwendet, die eine Antwort liefert, die Sie an ein anderes Ziel schreiben möchten, konfigurieren Sie dies unter Optionen.
Hier kann jeder Zieltyp verwendet werden. In unserem Beispiel für Jiras „Create Issue“-POST haben wir uns entschieden, die Antwort an ein globales Variablenziel zu schreiben mithilfe einer globalen Variable namens „Response“. Für Datensätze, die größer als 4 MB sind, wird anstelle einer globalen Variable die Verwendung eines temporären Speichers empfohlen (siehe Globale Variable versus temporärer Speicher).
Verbindung testen
Nachdem Sie die Konfiguration abgeschlossen haben, klicken Sie auf Verbindung testen, um zu überprüfen, ob Harmony eine Verbindung zu Ihrer REST- API herstellen kann.
Notiz
Wenn Sie eine tokenbasierte Authentifizierung verwenden, indem Sie ein variables Token als Header angeben, ist der Verbindungstest möglicherweise zu diesem Zeitpunkt nicht erfolgreich, zur Laufzeit jedoch möglicherweise noch.
Bei einer HTTP-Quelle sollten Sie bei Erfolg die Datei mit dem URL -Namen zurückerhalten. Beachten Sie, dass Sie den Inhalt der Datei von hier aus nicht lesen können. Durch das Testen der Verbindung wird lediglich überprüft, ob Sie etwas von der API zurückerhalten. Später, nachdem Sie die Quelle in einem Operation verwendet haben, können Sie den Inhalt bei Bedarf verwenden.
Bei einem HTTP-Ziel zeigt die Meldung im Erfolgsfall lediglich an, dass die Verbindung erfolgreich war.
Wenn die Verbindung mit derselben Anforderungs URL und Authentifizierungsmethode fehlschlägt, die Sie erfolgreich in Postman getestet haben, liegt das Problem wahrscheinlich an der Konfiguration der HTTP-Quelle oder des HTTP-Ziels in Design Studio. Lesen Sie in der Dokumentation zu HTTP-Quelle nach und HTTP-Ziel und überprüfen Sie Ihre Konfiguration.
Nächste Schritte
Nachdem Sie eine HTTP-Quelle oder ein HTTP-Ziel konfiguriert haben, besteht der nächste Schritt darin, eine REST- API im Operation zu verwenden. Obwohl jede REST- API den gleichen architektonischen Einschränkungen unterliegt, sind sie nicht alle für jede HTTP-Methode gleich konzipiert. Da jede spezifische Anfrage und Antwort von der spezifischen API abhängt, stellen wir im nächsten Schritt vier Entwurfsmuster für den Entwurf von Operationen vor.