Neue Rezeptur erstellen¶
Einführung¶
Ein Citizen Integrator-Rezept ist eine wiederverwendbare Integrationsvorlage, die eine Schritt-für-Schritt-Anleitung durch Citizen Integrator bietet, verfügbar über das Harmony-Portal. Citizen Integrator Rezepte können von Mitgliedern einer Harmony-Organisation verwendet werden, sodass sie ganz einfach ein Design Studio konfigurieren können Integration für einen bestimmten Anwendungsfall.
Dieses Dokument behandelt die manuelle Erstellung von Citizen Integrator-Rezepten. Rezepte können auch über die Citizen Integrator-Schnittstelle erstellt werden. Siehe Citizen Integrator - Rezept generieren oder bearbeiten für weitere Einzelheiten.
Ein Citizen Integrator-Rezept besteht aus zwei Teilen:
- Ein Design Studio Jitterpak (Dateiendung
.jpk
oder.JPK
). - Eine Citizen Integrator Rezept-Metadaten-JSON-Datei (Dateierweiterung
.json
oder.JSON
), das die Schritte bereitstellt, die ein Benutzer durchläuft, um die Integration zu konfigurieren.
Hier ist eine Zusammenfassung der Schritte, die zum Erstellen eines Rezepts erforderlich sind, das dann über die Citizen Integrator Weboberfläche verfügbar gemacht werden kann:
Schritt 1: Erstellen Sie ein Jitterpak
Erstellen Sie ein Jitterpak (JPK) mit Jitterbit Design Studio. Das Jitterpak wird als Grundlage für das Rezept verwendet. Siehe Erstellen von Jitterpaks für Rezepte.
Schritt 2: Erstellen Sie die Rezeptmetadaten
Erstellen Sie eine Rezeptmetadatendatei (eine JSON-Datei). Die Rezeptmetadaten enthalten die Schritte, die Benutzer über die Weboberfläche ausführen, und verknüpfen vom Benutzer bereitgestellte Informationen mit dem Jitterpak. Siehe Erstellen von Rezeptmetadaten für bewährte Vorgehensweisen, eine Beispielanleitung, eine Beschreibung der Rezeptschritttypen und eine Dokumentation der Komponenten einer Rezeptmetadatendatei.
Schritt 3: Überprüfen Sie die Rezeptmetadaten
Überprüfen Sie Ihre Rezeptmetadatendatei mithilfe der jbcli
. Siehe Rezept validieren der Jitterbit-Befehlszeilenschnittstelle.
Schritt 4: Laden Sie das Jitterpak und die Rezeptmetadaten hoch
Laden Sie Ihr Jitterpak und die Rezeptmetadatendatei in Ihr Rezept-Repository hoch. Siehe Neues Rezept und Jitterpak hochladen der Jitterbit-Befehlszeilenschnittstelle. Sie können Rezepte auch über die Citizen Integrator Weboberfläche hochladen, wie unter Citizen Integrator - Dashboard beschrieben oder Citizen Integrator - Meine Rezepte Seiten.
Schritt 5: Konfigurieren und einsetzen des Rezepts
Ihr neues Rezept steht nun den Mitgliedern Ihrer Organisation zur Nutzung über die Citizen Integrator Weboberfläche zur Verfügung. Siehe Citizen Integrator - Rezept konfigurieren für Benutzeranweisungen zum Konfigurieren und Bereitstellen von Rezepten.
Erstellen Sie Jitterpaks für Rezepte¶
Wenn Sie ein neues Citizen Integrator-Rezept erstellen, empfehlen wir, zunächst ein Design Studio Jitterpak zu erstellen, das die Projektstruktur für Ihre Rezeptvorlage enthält.
Jitterpaks sind nicht spezifisch für die Rezeptfunktionalität; sie sind eine Kernfunktion der vollständigen Design Studio Anwendung. Benutzer, die neue Rezepte erstellen möchten, sollten bereits mit Design Studio vertraut sein. Weitere Informationen finden Sie in den Materialien unter Design Studio und Jitterpaks.
Notiz
Citizen Integrator-Rezepte werden von Design Studio erstellt Projekte. Für Integration Studio, verwenden Sie stattdessen Integrationsrezepte oder Prozessvorlagen, erhältlich bei Jitterbit Marketplace.
Bewährte Methoden für Jitterpak¶
Beim Erstellen eines Jitterpak zur Verwendung mit Citizen Integrator-Rezepten empfehlen wir die folgenden Best Practices für die Rezepterstellung:
-
Definieren Sie Ihre typischen Anwendungsfälle
Bevor Sie mit einem Jitterpak oder Rezept beginnen, sollten Sie eine gute Vorstellung davon haben, was Ihre Benutzer mit dem Rezept erreichen können sollen. Bedenken Sie, dass Sie bei Bedarf mehrere Rezepte erstellen können. Der Anwendungsfall hilft Ihnen bei der Entscheidung, was Sie in Ihr Jitterpak einbauen und welche Schritte ein Benutzer über die Citizen Integrator-Schnittstelle ausführen soll.
-
Referenzbeispiele als Hilfestellung für den Einstieg
Schauen Sie sich unsere öffentlichen Jitterpaks als Referenz an, oder wenn Sie eines finden, das Ihrem Anwendungsfall ähnelt, möchten Sie vielleicht sogar damit beginnen. Um eines der für unsere öffentlichen Rezepte erstellten Jitterpaks herunterzuladen, folgen Sie Holen Sie sich ein bestimmtes Rezept und speichern Sie das Jitterpak lokal unter Jitterbit-Befehlszeilenschnittstelle. Oder konsultieren Sie unsere Jitterpak-Bibliothek.
-
Erstellen Sie, wo immer möglich, Projektvariablen
Projektvariablen sind der Schlüssel zum Erstellen von Rezepten, die von einem Benutzer einfach über die Citizen Integrator Weboberfläche ausgefüllt werden können. Stellen Sie sich Projektvariablen als Felder mit bestimmten Informationen vor, die Benutzer bei der Verwendung Ihres Rezepts angeben sollen. Erstellen Sie diese Elemente dann als Projektvariablen in Ihrem Jitterpak. Zum Beispiel Verbindungsinformationen für neue Endpoints.
-
Namespace-Projektvariablen zur späteren Referenz
Wenn Sie Projektvariablen erstellen, empfiehlt es sich, ihnen Namespaces zuzuweisen. Eine Projektvariable für Host könnte beispielsweise „Host“ heißen, um anzuzeigen, dass sie sich auf einen Host bezieht. Dadurch können die Projektvariablen beim Erstellen Ihrer Rezeptmetadaten leichter gelesen werden.
-
Platzieren Sie Operationen auf der Stammebene, wenn Sie sie über einen Rezeptschritt ausführen möchten
Alle Operation, die Sie über einen RunOperation-Schritt in Ihrem Rezept ausführen möchten, müssen in der Stammebene des Operationsordners in Design Studio abgelegt werden. Das heißt, wenn Sie Operationen in Unterordnern unter Ihrem Operationsbaum haben, werden diese nicht ausgeführt, wenn sie über einen RunOperation-Schritt verfügbar gemacht werden. Dieser Vorbehalt gilt nur für Operationen, die in einem bestimmten Schritt des Rezepts ausgeführt werden. Wenn sich Ihre Operationen in Unterordnern befinden, werden sie beim Speichern und Bereitstellen des Rezepts trotzdem ausgeführt.
-
Fügen Sie WriteToOperationLog in Vorgänge ein, die Sie über einen Rezeptschritt ausführen möchten
Fügen Sie WriteToOperationLog in Vorgänge ein, die Sie über einen RunOperation-Schritt in Ihrem Rezept ausführen möchten (siehe Protokollierungs- und Fehlerfunktionen). Die WriteToOperationLog-Meldungen werden im Panel unter der Schaltfläche „RunOperation“ in der Citizen Integrator-Oberfläche angezeigt und geben dem Rezeptbenutzer Feedback zum ausgeführten Operation.
-
Verwenden Sie zum Testen Projektvariablenwerte, entfernen Sie dann jedoch die Werte beim Exportieren als Jitterpak
Wenn Sie in Ihrem Jitterpak Projektvariablen verwenden, achten Sie darauf, beim Exportieren des Jitterpak keine spezifischen Werte einzuschließen. Denken Sie daran, dass die Werte normalerweise leer sind, sodass sie vom Benutzer beim Konfigurieren des Rezepts ausgefüllt werden können. Es ist immer eine gute Idee, Ihr Design Studio Projekt mit spezifischen Werten zu testen, aber achten Sie darauf, diese vor dem Exportieren zu entfernen. Hier sind einige Optionen zum Entfernen von Werten:
-
Alle Werte: Um alle Projektvariablenwerte zu entfernen, deaktivieren Sie beim Exportieren als Jitterpak das Kontrollkästchen „Projektvariablenwerte einschließen“. Dies ist die standardmäßige und empfohlene Methode zum Entfernen von Projektvariablenwerten.
-
Einige Werte: Um nur bestimmte Projektvariablen zu entfernen, entfernen Sie einfach den Standardwert der Projektvariable. Diese Option ist möglicherweise geeigneter als die Verwendung des oben beschriebenen Kontrollkästchens, wenn Sie absichtlich einige Projektvariablenwerte beibehalten möchten. Wenn Ihr Rezept beispielsweise innerhalb Ihrer Organisation privat ist, können Sie Informationen wie eine URL einfügen, die sich nicht von Benutzer zu Benutzer ändert, der das Rezept ausfüllt.
-
-
Beachten Sie die integrierten Zeitpläne
Wenn Sie einen Zeitplan in das Jitterpak aufnehmen, notieren Sie sich, wann die Operation ausgeführt werden soll, und dokumentieren Sie dies unbedingt in den Rezeptmetadaten. Andernfalls werden die Benutzer den in das Jitterpak integrierten Zeitplan nicht bemerken. Zeitpläne können derzeit nicht in einem Rezept konfiguriert werden.
Erstellen von Rezept-Metadaten¶
Sie können mit der Erstellung von Citizen Integrator Rezeptmetadaten beginnen, während Sie Ihr Jitterpak erstellen, oder die Metadaten erstellen, wenn Sie fertig sind. Die Rezeptmetadaten bieten zwei Hauptfunktionen:
- Definiert die Schritte, die Benutzer ausführen müssen, um das Rezept über die Citizen Integrator-Schnittstelle zu konfigurieren.
- Verbindet alle vom Benutzer bereitgestellten Werte wieder mit dem zugehörigen Jitterpak des Rezepts, sodass die neu konfigurierten Operation wie erwartet über Jitterbit ausgeführt werden.
Dieser Abschnitt ist so organisiert, dass er eine Liste mit Best Practices zum Erstellen von Rezepten, eine Beispiel-Anleitung zum Erstellen eines Rezepts, die Arten von Schritten, die im Rezept verwendet werden können, und schließlich eine umfassende Liste aller möglichen Teile der Rezept-Metadatendatei enthält.
Bewährte Methoden für Metadaten¶
Diese bewährten Vorgehensweisen sind beim Erstellen Ihrer Citizen Integrator Rezeptmetadatendatei für diejenigen hilfreich, die zum ersten Mal Rezepte erstellen.
-
Referenzbeispiele zum Vergleich der Citizen Integrator Schnittstelle mit den Rezept-Metadaten
Sehen Sie sich an, wie unsere öffentlichen Rezepte strukturiert sind, und vergleichen Sie, was Sie in der Citizen Integrator-Oberfläche sehen, mit der tatsächlichen Rezept-Metadatendatei für dieses Rezept. Wenn Sie eines finden, das Ihrem Anwendungsfall ähnelt, möchten Sie vielleicht sogar damit beginnen.
-
Citizen Integrator-Schnittstelle: Greifen Sie über das Harmony-Portal auf die Citizen Integrator-Schnittstelle zu. Siehe Citizen Integrator - Dashboard für weitere Einzelheiten.
-
Rezeptmetadaten: Laden Sie die Rezeptmetadaten für jedes unserer öffentlichen Rezepte herunter, indem Sie Ein bestimmtes Rezept abrufen und das Jitterpak lokal speichern befolgen der Jitterbit-Befehlszeilenschnittstelle.
-
-
Erstellen Sie Ihr Rezept in Iterationen
Rechnen Sie damit, dass Sie Anpassungen an Ihrem Jitterpak vornehmen müssen, während Sie an Ihren Rezeptmetadaten arbeiten, und umgekehrt. Sie können jederzeit eine erste Version hochladen, prüfen, wie sie in der Citizen Integrator-Oberfläche angezeigt wird und funktioniert, und dann Ihre Rezeptdateien über Citizen Integrator - Meine Rezepte weiter aktualisieren Seite oder indem Sie Neues Rezept und Jitterpak hochladen und Ein vorhandenes Rezept und Jitterpak aktualisieren der Jitterbit-Befehlszeilenschnittstelle.
-
Fügen Sie Einführungs- und Überprüfungsschritte in die Rezeptmetadaten ein
Es wird empfohlen, mit einem Einführungsschritt zu beginnen und mit einem Überprüfungsschritt zu enden, um die Konsistenz der Rezepte zu wahren. Diese Abschnitte verwenden beide die
org.jitterbit.integration.data.entity.Description
Typ (beschrieben unter Schritttypen).-
In der Einleitung sollte erklärt werden, wofür das Rezept verwendet wird, etwaige Einschränkungen beschrieben, Standardfelder aufgelistet und/oder erforderliche Informationen bereitgestellt werden, die jemand, der das Rezept verwendet, kennen sollte.
-
Der Überprüfungsschritt sollte dem Benutzer das erwartete Verhalten bei der Bereitstellung des konfigurierten Rezepts zusammenfassen und bestätigen. Wenn Sie einen Zeitplan in das Jitterpak aufnehmen, ist der Überprüfungsschritt ein guter Ort, um die Zeit zu dokumentieren, zu der der Operation ausgeführt werden soll. Denken Sie daran, die Zeitzone anzugeben (UTC ist die Standardeinstellung in Design Studio, Sie können die Zeit in Design Studio jedoch auch in die gewünschte Zeitzone konvertieren und diese angeben).
-
-
Standardisieren Sie Namen in Ihren Rezeptmetadaten
Standardisieren Sie Ihren Rezeptnamen, Projektnamen, Dateinamen und Ihre Verzeichnisstruktur. Dies hilft, unbeabsichtigte Fehler bei der Bezugnahme auf Teile innerhalb des Rezepts zu vermeiden und erleichtert die Verwaltung aller Teile Ihres Rezepts.
-
Für die Migration von Endpunkt zu Endpunkt die Endpoints richtungsweisend anordnen
Ordnen Sie bei der Migration von einem Endpoint zu einem anderen (z. B. Migration von Salesforce-Konten zu NetSuite-Unternehmen) die Endpoints der Reihe nach:
- In JSON-Datei:
"name": "Migrate Salesforce Accounts to NetSuite Companies"
- In JSON-Datei:
"projectName": "salesforce_accounts-to-netsuite_companies"
- Verzeichnis:
salesforce-to-netsuite/accounts-to-companies/
- Dateinamen:
salesforce_accounts-to-netsuite_companies.jpk
Undsalesforce_accounts-to-netsuite_companies.json
- In JSON-Datei:
-
Für die Endpoint Endpoints alphabetisch sortieren
Für die Synchronisierung zweier Endpoints (z. B. Synchronisierung von Salesforce-Konten und NetSuite Unternehmen) sortieren Sie die Endpoints alphabetisch:
- In JSON-Datei:
"name": "Synchronize NetSuite Companies and Salesforce Accounts"
- In JSON-Datei:
"projectName": "netsuite_companies-salesforce_accounts"
- Verzeichnis:
netsuite-salesforce/companies-accounts/
- Dateinamen:
netsuite_companies-salesforce_accounts.jpk
Undnetsuite_companies-salesforce_accounts.json
- In JSON-Datei:
-
Definieren Sie Projektvariablen am Ende der Rezeptmetadaten
Alle Projektvariablen, die in Ihrem Jitterpak verwendet und in Ihren Rezeptmetadatenschritten referenziert werden, sollten am Ende Ihrer Rezeptmetadatendatei definiert werden.
-
Schritte ausblenden, die Sie in andere Schritte einbetten möchten
Sie können ein verstecktes Attribut für einen Schritt angeben, um ihn vor dem Rendern in der Citizen Integrator-Schnittstelle zu verbergen, aber dann diesen Schritt mit einem Pfad referenzieren, der auf eine Aktion mit „useStepAsRequest“ zeigt. Dies ist eine gute Idee, wenn Sie beispielsweise einen Schritt zum Testen von Verbindungsinformationen einrichten, ihn aber als Schaltfläche „Verbindung testen“ in einen anderen Schritt einbinden möchten.
-
Lassen Sie Felder weg, die beim Hochladen der Rezeptmetadaten generiert werden
Einige Felder in der Rezeptmetadatendatei werden beim Hochladen der Datei nicht angegeben und stattdessen beim Hochladen der Datei vom System generiert. Diese Felder stehen am Anfang und am Ende der Rezeptmetadatendatei.
- id: Dieses Feld wird ausgefüllt, wenn die Rezeptmetadaten in das Rezept-Repository hochgeladen werden. Nach dem Hochladen können Sie die generierte Rezept-ID mithilfe von Alle Rezepte auflisten herausfinden der Jitterbit-Befehlszeilenschnittstelle.
- guid: Erforderlich Dieses Feld wird ausgefüllt, wenn ein zugehöriges Jitterpak in das Rezept-Repository hochgeladen wird. Die GUID (Globally Unique Identifier) wird mit der des zugehörigen Jitterpak ausgefüllt. Dieses Feld ist jedoch erforderlich, Sie müssen es also trotzdem in die Datei aufnehmen. Der tatsächliche Identifikator wird beim Hochladen aktualisiert.
- createdAt: Der Unix-Epochenzeitstempel in Millisekunden, wann das Rezept zum ersten Mal hochgeladen wurde.
- updatedAt: Der Unix-Epochenzeitstempel in Millisekunden, wann das Rezept zuletzt aktualisiert wurde.
-
aktualisiert von
- userId: Der Harmony-Benutzername der Person, die das Rezept zuletzt aktualisiert hat.
- Name: Der Name der Person, die das Rezept zuletzt aktualisiert hat.
- orgName: Der Name der Organisation, zu der die Person gehört, die das Rezept zuletzt aktualisiert hat.
-
orgid: Die ID der Organisation, zu der die Person gehört, die das Rezept hochgeladen hat. Das Rezept ist Eigentum dieser Organisation und nur der Rezeptautor oder ein Org-Admin kann das Rezept aktualisieren oder löschen (siehe Citizen Integrator - Meine Rezepte oder die Jitterbit-Befehlszeilenschnittstelle).
-
Autor
- userId: Der Harmony-Benutzername der Person, die das Rezept hochgeladen hat.
- Name: Der Name der Person, die das Rezept hochgeladen hat.
- orgName: Der Name der Organisation, zu der die Person gehört, die das Rezept hochgeladen hat.
Nach dem Hochladen eines Rezepts können Sie die für diese Felder generierten Werte sehen, wenn Sie Ein bestimmtes Rezept abrufen verwenden, um die Metadaten des Rezepts zurückzugeben (siehe Jitterbit Command Line Interface).
-
Verwenden Sie HTML für Rich Text
Wenn Sie Links, Listen, Fettschrift usw. in Ihren Rezeptschritten verwenden möchten, versuchen Sie es mit HTML. Die meisten Felder, in denen Sie diese verwenden möchten, erlauben die Verwendung von HTML, wodurch Sie mehr Kontrolle über das Aussehen und die Funktionalität der Rezeptschritte haben.
-
Vor dem Hochladen validieren
Es ist immer eine gute Idee, sicherzustellen, dass Ihre Rezeptmetadaten validiert werden, bevor Sie sie hochladen. Verwenden Sie dazu Rezept validieren (siehe Jitterbit-Befehlszeilenschnittstelle). Sie sollten keine Rezepte hochladen, die nicht validiert werden, da sie für Benutzer, die versuchen, das Rezept zu konfigurieren, Fehlermeldungen enthalten.
-
Überprüfen Sie die Protokolle zur Fehlerbehebung
Nachdem Sie Ihr Rezept hochgeladen haben, können Sie es auch testen, indem Sie es über die Citizen Integrator-Schnittstelle konfigurieren und bereitstellen. Vergessen Sie nicht, dass dieselben Tools zum Debuggen verfügbar sind wie für jedes andere Jitterbit-Projekt. Siehe Citizen Integrator - Meine Rezepte oder überprüfen Sie Operation, Projekte, Aktivitäten usw. innerhalb der Management Console.
Beispielexemplarische Vorgehensweise¶
Dieser Abschnitt bietet eine Schritt-für-Schritt-Anleitung zum Erstellen eines Rezepts für die Verwendung mit der Citizen Integrator-Weboberfläche. In diesem Beispiel werden einige der gebräuchlichsten Rezeptelemente verwendet, die Sie normalerweise verwenden. Eine vollständige Liste der Optionen, die Sie in Rezepte aufnehmen können, finden Sie unter Rezept-Metadatendefinitionen.
Für dieses Beispiel erstellen wir ein Rezept, das Konten von Salesforce synchronisiert und sie zu Zendesk hochlädt. Sie können diese Demonstration nachvollziehen, indem Sie das neueste Rezept für Salesforce zu Zendesk herunterladen, indem Sie Ein bestimmtes Rezept abrufen und Jitterpak lokal speichern der Jitterbit-Befehlszeilenschnittstelle.
Schritt 1: Projekt im Design Studio erstellen
Der erste Schritt besteht darin, Ihr Projekt in Design Studio einzurichten. Beachten Sie beim Erstellen Ihres Projekts die Jitterpak Best Practices oben, die speziell für die Erstellung von Jitterpaks zur Verwendung mit Rezepten dienen.
Diese Komponenten des Jitterpak werden für das Rezept „Salesforce zu Zendesk“ verwendet:
-
Operationen: Dieses Jitterpak ist so eingerichtet, dass Jitterbit beim Ausführen der Operation RunNow Salesforce Abfrage, um Informationen zu den Fällen abzurufen (Fälle abfragen) und diese Salesforce-Fälle dann verwendet, um Tickets in Zendesk zu aktualisieren und einzufügen ( Zendesk-Tickets erstellen). Wenn Sie das Jitterpak heruntergeladen haben, um mitzumachen, können Sie auf jedes Element des Diagramms klicken, um mehr über die Komponenten der Operationen zu erfahren.
-
Transformations: Jede Transformation wurde so zugeordnet, dass die entsprechenden Standardfelder im Rezept enthalten sind. Viele Rezepte beinhalten die Zuordnung von Standardfeldern von einem Endpoint zu einem anderen. In diesem Beispiel verwendet die Salesforce Abfrage nur die entsprechenden Felder für dieses spezielle Rezept (d. h. Fallnummer, Ursprung, Betreff, angegebene Email, angegebener Name). Wenn Sie Ihr eigenes Rezept für die Verwendung in einer Organisation erstellen, die benutzerdefinierte Salesforce Felder verwendet, können Sie diese auch in Ihr Rezept integrieren, solange die Zuordnung hier definiert ist.
-
Quellen und Ziele: Definieren Sie alle Quellen und Ziele wie Sie es normalerweise für jedes Design Studio Projekt tun würden. Dieses spezielle Rezept verwendet temporären Speicher für Salesforce-Konten und Salesforce Fälle und HTTP-Ziele als Verbindungsparameter für Zendesk.
-
Webdienstmethoden und gehostete HTTP- Endpoints: Dieses Jitterpak verwendet keine dieser Komponenten, aber Sie können sie genauso konfigurieren wie für jedes andere Design Studio Projekt.
-
Zeitpläne: Dieses Jitterpak enthält keinen Zeitplan, aber Sie können hier einen einfügen, wenn Sie beispielsweise möchten, dass der Operation täglich ausgeführt wird. Da der Zeitplan vom Benutzer des Rezepts nicht konfiguriert werden kann, sollten Sie in einem Textfeld des Rezepts angeben, wann Ihr Operation ausgeführt werden soll. Ein typischer Ort, um dies hinzuzufügen, ist der Schritt „Überprüfen“.
-
Email Nachrichten: Dieses Jitterpak enthält keine Email-Nachrichten, aber Sie können diese mithilfe von Projektvariablen einrichten, wenn Ihr Rezept Email Benachrichtigungen generieren soll.
-
Scripts: In diesem Jitterpak werden Scripts verwendet, um Nachrichten in das Protokoll zu schreiben, einschließlich spezifischer Erfolgs- und Fehlermeldungen.
-
Projektvariablen: Projektvariablen sind der Schlüssel zum Erstellen konfigurierbarer Rezepte. Normalerweise werden Projektvariablen überall dort verwendet, wo Benutzer während der Rezeptkonfiguration Werte angeben sollen. In diesem Jitterpak haben wir Projektvariablen für Salesforce und Zendesk-Anmeldeinformationen. Denken Sie daran, Ihr Design Studio Projekt mit echten Werten zu testen und diese dann zu entfernen, bevor Sie das Jitterpak exportieren.
-
Jitterbit Connect: Da dieses Jitterpak Salesforce verwendet, sind die Verbindungsinformationen für die Organisation in diesem Abschnitt enthalten.
-
Konnektoren: Dieses Jitterpak verwendet keine Konnektoren, viele andere öffentliche Rezepte jedoch schon. Wenn Sie ein neues Rezept mit einem Konnektor erstellen möchten, empfiehlt es sich möglicherweise, ein anderes Beispiel mit einem der Konnektoren wie Autodesk herunterzuladen.
Schritt 2: Testen Sie das Design Studio Projekt
Nachdem Ihre Komponenten definiert sind, speichern, einsetzen und führen Sie Ihr Design Studio Projekt aus, um sicherzustellen, dass es erfolgreich ausgeführt wird.
Sie können das Operation auf etwaige Fehlermeldungen überprüfen.
Schritt 3: Exportieren Sie das Design Studio Projekt
Entfernen Sie alle Projektvariablenwerte oder andere Anmeldeinformationen, die Sie in Ihr Rezept einbauen möchten, und exportieren Sie Ihr Design Studio Projekt als Jitterpak.
In diesem Beispiel entfernen wir Projektvariablen und Anmeldeinformationen beim Export. Sie können vorerst an jedem beliebigen Ort speichern, da Sie das Jitterpak später hochladen werden (siehe Citizen Integrator - Meine Rezepte oder die Jitterbit-Befehlszeilenschnittstelle).
Schritt 4: Rezept-Metadaten erstellen
Nachdem Sie nun ein Jitterpak erstellt haben, können Sie Ihre Rezept-Metadaten so anpassen, dass sie mit den Komponenten in Ihrem Jitterpak übereinstimmen.
Lesen Sie die Best Practices für Metadaten oben zum Erstellen Ihrer Rezept-Metadatendatei sowie der Schritttypen, wenn Sie ein neues Rezept beginnen. Eine vollständige Liste der Rezeptdefinitionen finden Sie unter Rezeptmetadatendefinitionen unten als Referenz.
Unten finden Sie die vollständige JSON-Datei zum Definieren der Rezeptmetadaten von Salesforce zu Zendesk, gefolgt von einer Aufschlüsselung der einzelnen Abschnitte der Rezeptmetadatendatei.
JSON-Metadaten - Salesforce zu Zendesk
{
"description": "Sync accounts from Salesforce and upsert to Zendesk",
"name": "Salesforce to Zendesk",
"guid": "8yg7df8a-b526-4d14-a49d-39090d63a426",
"projectName": "Salesforce to Zendesk",
"steps": [
{
"name": "Introduction",
"description": "Sync accounts from Salesforce and upsert them to Zendesk",
"label": "Introduction",
"type": "org.jitterbit.integration.data.entity.Description",
"hidden": false,
"properties": [
{
"name": "template",
"defaultValue": "<div><p>This <b>Recipe</b> Syncs accounts from Salesforce and upserts them to Zendesk.</p></div>"
}
]
},
{
"name": "Salesforce Endpoint Project Variables",
"description": "Set-up the source Salesforce endpoint project variables",
"type": "org.jitterbit.integration.data.entity.ProjectVariable",
"hidden": false,
"properties": [],
"projectVariables": {
"names": [
"com.salesforce.username",
"com.salesforce.password",
"com.salesforce.token"
],
"action": {
"name": "test-endpoint-connection",
"displayName": "Test Connection",
"useStepAsRequest": "/Source/SalesforceEndpoint"
}
}
},
{
"name": "Test Salesforce Connection Information",
"description": "Test Salesforce endpoint connection information",
"label": "Source Endpoint (Salesforce)",
"type": "org.jitterbit.integration.data.entity.SalesforceConnector",
"hidden": true,
"path": "/Source/SalesforceEndpoint",
"properties": [
{
"name": "version",
"defaultValue": "37.0"
},
{
"name": "host",
"defaultValue": "https://login.salesforce.com"
},
{
"name": "username",
"defaultValue": "[com.salesforce.username]"
},
{
"name": "password",
"hidden": false,
"defaultValue": "[com.salesforce.password]"
},
{
"name": "token",
"hidden": false,
"defaultValue": "[com.salesforce.token]"
},
{
"name": "sandbox",
"defaultValue": "0"
}
]
},
{
"name": "Zendesk Endpoint Project Variables",
"description": "Set-up the target Zendesk endpoint project variables",
"type": "org.jitterbit.integration.data.entity.ProjectVariable",
"hidden": false,
"properties": [],
"projectVariables": {
"names": [
"com.zendesk.username",
"com.zendesk.password"
]
}
},
{
"name": "RunNow",
"description": "The Run Now operation runs the integration right now.",
"label": "RunNow",
"type": "org.jitterbit.integration.data.entity.RunOperation",
"hidden": false,
"path": "/Operations/RunNow",
"properties": [
{
"name": "operationName",
"defaultValue": "RunNow",
"description": "Run the recipe to get Salesforce accounts and upsert them to NetSuite right now."
}
]
},
{
"name": "Review",
"description": "Push this recipe to the cloud",
"label": "Review",
"type": "org.jitterbit.integration.data.entity.Description",
"hidden": false,
"properties": [
{
"name": "template",
"defaultValue": "<div><p>When you click <b>Save</b> this recipe will be ran daily at 3am indefinitely</p></div>"
}
]
}
],
"projectVariables": [
{
"name": "com.salesforce.username",
"displayName": "Salesforce Login",
"description": "Please provide your Salesforce username or email."
},
{
"name": "com.salesforce.password",
"displayName": "Salesforce Password",
"description": "Please provide your Salesforce password.",
"type": "password"
},
{
"name": "com.salesforce.token",
"displayName": "Salesforce Security Token",
"description": "Please provide your Salesforce security token.",
"type": "password"
},
{
"name": "com.zendesk.username",
"displayName": "Zendesk Login",
"description": "Please provide your Zendesk email."
},
{
"name": "com.zendesk.password",
"displayName": "Zendesk Password",
"description": "Please provide your Zendesk password.",
"type": "password"
}
],
}
-
Beschreibung: Erforderlich
Dieses Feld sollte eine Beschreibung des Rezepts enthalten.
"description": "Sync accounts from Salesforce and upsert to Zendesk"
-
guid: Erforderlich
Dieses Feld kann beim ersten Hochladen des Rezepts jeden beliebigen Wert enthalten; beim Hochladen mit einem zugehörigen Jitterpak wird der -Wert durch die GUID (Globally Unique Identifier) des zugehörigen Jitterpaks ersetzt.
"guid": "8yg7df8a-b526-4d14-a49d-39090d63a426"
-
Name: Erforderlich
Dieses Feld sollte den Namen des Rezepts enthalten.
Wird als Titel des Rezepts in der Rezeptliste angezeigt:"name": "Salesforce to Zendesk"
Wird als Titel des Rezepts unter Konfigurationsschritte angezeigt:
-
Projektname: Erforderlich
Dieses Feld sollte mit dem Namen der Jitterpak-Datei (JPK) übereinstimmen.
"projectName": "Salesforce to Zendesk"
-
Schritte: Erforderlich
Die Schritte definieren die Konfigurationsschritte in der Citizen Integrator Schnittstelle. Die verwendeten Schrittattribute im Salesforce zu-Zendesk-Rezept finden Sie weiter unten, gefolgt von einem Vergleich des Citizen Integrator -Schnittstelle und die JSON-Metadaten für den Schritt.
- Name: Erforderlich Dieses Feld ist der Name des Schritts.
- Beschreibung: Erforderlich Dieses Feld ist eine Beschreibung des Schritts.
- label: Dieses Feld ist ein Label, das zur Darstellung eines Schrittnamens verwendet werden kann, der sich vom definierten unterscheidet. Name des Schritts.
- Typ: Erforderlich Dieses Feld ist der Typ, der diesem Schritt zugeordnet ist. Siehe Schritttypen für eine Erklärung der verschiedenen Schritttypen.
- erforderlich: Dieser Wert kann auf true oder false gesetzt werden. Wenn true, muss der Rezeptschritt abgeschlossen werden wenn das Rezept konfiguriert wird, bevor die Aktionen Verbindung testen oder Vorgang ausführen verwendet werden.
- hidden: Dieser Wert kann auf true oder false gesetzt werden. Wenn true, wird der Schritt im Citizen Integrator ausgeblendet. Schnittstelle. Dies kann nützlich sein, wenn Sie Schritte haben, die Sie nicht anzeigen möchten, z. B. zum Testen der Verbindung Informationen. Wenn „false“, wird der Schritt angezeigt. Der Standardwert ist „false“, d. h. Schritte werden standardmäßig angezeigt.
- Pfad: Verwenden Sie diesen Wert, wenn Sie Schritte ausblenden und in anderen Schritten darauf verweisen möchten. Dieser Wert sollte definiert, wenn Sie planen, einen versteckten Schritt in einen anderen Schritt einzubetten. Wenn Sie beispielsweise einen Test einbinden möchten Mit der Schaltfläche „Verbindung“ innerhalb eines Schritts können Sie den Schritt zum Testen der Verbindungsinformationen ausblenden und dann in ein weiterer Schritt. Wir bezeichnen es als die Definition eines Pfads.
- Eigenschaften: Kann nur verwendet werden, wenn keine Projektvariablen verwendet werden. Dazu gehören Eigenschaften, die mit dem Schritt. In einem Schritt können Sie entweder Eigenschaften oder Projektvariablen zuweisen, aber nicht beides gleichzeitig.
- Name: Erforderlich Dieses Feld ist der Name der Eigenschaft, die für diesen Schritt definiert wird.
- defaultValue: Dieses Feld kann einen Standardwert enthalten, der der Eigenschaft zugeordnet ist. Normalerweise ist dies wird verwendet, um Anweisungs- oder Informationstext in einen Schritt einzufügen.
- Beschreibung: Dieses Feld kann Standardtext enthalten, der im Textfeld angezeigt wird.
- Projektvariablen: Kann nur verwendet werden, wenn Eigenschaften nicht verwendet werden. Dazu gehört eine Liste von Projektvariablen gruppiert, die konfigurierbare Entitäten darstellen. In einem Schritt können Sie entweder projectVariables oder Eigenschaften zugewiesen, aber nicht beide gleichzeitig.
- Namen: Erforderlich Dieses Feld enthält eine Liste aller Projektvariablen, die in diesem Schritt verwendet werden.
- Aktion: Dieses Feld definiert alle Aktionen. Normalerweise werden diese als Schaltflächen innerhalb eines Schritts verwendet, um Aktionen, die als versteckte Schritte definiert werden können.
- Name: Erforderlich Dieses Feld ist der Name der Aktion.
- displayName: Dieses Feld kann verwendet werden, wenn Sie einen anderen Namen in der Bürgeranzeige anzeigen möchten. Integrator-Schnittstelle.
- useStepAsRequest: Required Dieses Feld wird verwendet, um den Pfad zu Eigenschaften anzugeben, die definiert sind in ein weiterer Schritt, der nicht gerendert wird. Verwenden Sie denselben Wert, den Sie im ausgeblendeten Schritt für „Pfad“ definiert haben.
Hinweis “Schritt 1: Einführung
JSON-Metadaten für Schritt 1
{ "name": "Introduction", "description": "Sync accounts from Salesforce and upsert them to Zendesk", "label": "Introduction", "type": "org.jitterbit.integration.data.entity.Description", "hidden": false, "properties": [ { "name": "template", "defaultValue": "<div><p>This <b>Recipe</b> Syncs accounts from Salesforce and upserts them to Zendesk.</p></div>" } ] },
Schritt 2: Salesforce Endpoint-Projektvariablen
JSON-Metadaten für Schritt 2
{ "name": "Salesforce Endpoint Project Variables", "description": "Set-up the source Salesforce endpoint project variables", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "hidden": false, "properties": [], "projectVariables": { "names": [ "com.salesforce.username", "com.salesforce.password", "com.salesforce.token" ], "action": { "name": "test-endpoint-connection", "displayName": "Test Connection", "useStepAsRequest": "/Source/SalesforceEndpoint" } } },
Versteckter Schritt: Salesforce Verbindungsinformationen testen
JSON-Metadaten für versteckten Schritt
{ "name": "Test Salesforce Connection Information", "description": "Test Salesforce endpoint connection information", "label": "Source Endpoint (Salesforce)", "type": "org.jitterbit.integration.data.entity.SalesforceConnector", "hidden": true, "path": "/Source/SalesforceEndpoint", "properties": [ { "name": "version", "defaultValue": "37.0" }, { "name": "host", "defaultValue": "https://login.salesforce.com" }, { "name": "username", "defaultValue": "[com.salesforce.username]" }, { "name": "password", "hidden": false, "defaultValue": "[com.salesforce.password]" }, { "name": "token", "hidden": false, "defaultValue": "[com.salesforce.token]" }, { "name": "sandbox", "defaultValue": "0" } ] },
Schritt 3: Zendesk Endpoint-Projektvariablen
JSON-Metadaten für Schritt 3
{ "name": "Zendesk Endpoint Project Variables", "description": "Set-up the target Zendesk endpoint project variables", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "hidden": false, "properties": [], "projectVariables": { "names": [ "com.zendesk.username", "com.zendesk.password" ] } },
Schritt 4: Runnow
JSON-Metadaten für Schritt 4
{ "name": "RunNow", "description": "The Run Now operation runs the integration right now.", "label": "RunNow", "type": "org.jitterbit.integration.data.entity.RunOperation", "hidden": false, "path": "/Operations/RunNow", "properties": [ { "name": "operationName", "defaultValue": "RunNow", "description": "Run the recipe to get Salesforce accounts and upsert them to NetSuite right now." } ] },
Schritt 5: Überprüfen
JSON-Metadaten für Schritt 5
{ "name": "Review", "description": "Push this recipe to the cloud", "label": "Review", "type": "org.jitterbit.integration.data.entity.Description", "hidden": false, "properties": [ { "name": "template", "defaultValue": "<div><p>When you click <b>Save</b> this recipe will be ran daily at 3am indefinitely</p></div>" } ] }
-
Projektvariablen: Dieser Abschnitt definiert alle Projektvariablen, die in den Rezeptschritten verwendet werden. Beachten Sie, dass dies eine neue Abschnitt der Rezept-Metadatendatei, der am Ende nach den Schritten kommt und nicht zu verwechseln ist mit dem Projektvariablen, die innerhalb der Schritte selbst verwendet werden.
- Name: Erforderlich Dieses Feld enthält den Namen der Projektvariable, wie sie in Ihrem Jitterpak verwendet wird.
- displayName: Dieses Feld kann verwendet werden, wenn Sie einen anderen Namen für die Anzeige im Citizen Integrator wünschen. -Schnittstelle.
- Beschreibung: Dieses Feld kann verwendet werden, um Text unterhalb des Feldes einzufügen, beispielsweise um Anweisungen zu geben für was Benutzer eingeben sollen.
- Typ: Dieses Feld kann verwendet werden, um den Typ des Wertes zu definieren, den der Benutzer angeben kann. Der Standardwert ist Zeichenfolge. Sie können auch Integer, Float, Double, Datum, Uhrzeit, Boolean, Passwort, Enumeration, Dropdown, Kontrollkästchen oder Textbereich.
- erforderlich: Dieser Wert kann auf true oder false gesetzt werden. Wenn true, wird das Projektvariablenfeld muss ausgefüllt werden, wenn das Rezept vor dem Testen der Verbindung oder dem Ausführen des Vorgangs konfiguriert wird. Aktionen können verwendet werden.
- regex: Dieses Feld kann verwendet werden, um einen regulären Ausdruck (String) anzugeben, der Der Wert der Projektvariable muss übereinstimmen, wenn das Rezept vor dem Testen der Verbindung oder dem Ausführen des Vorgangs konfiguriert wird. Aktionen können verwendet werden. Zum Beispiel:
.+@.+[.].+
. - Wert: Dieses Feld kann verwendet werden, wenn Sie Ihrer Projektvariable einen Standardwert zuweisen möchten. Dies kann verwendet werden, um einen Standardwert mit anderen optionalen Werten für die Projektvariable bereitzustellen. Ein weiteres Beispiel für JSON-Metadaten mit Werten und Optionen finden Sie unten in Beispiel 2.
- Optionen: Dieses Feld kann verwendet werden, um mögliche Werte in einem Dropdown-Menü, einem Text- Bereich oder Kontrollkästchen anzuzeigen. Ein weiteres Beispiel für JSON-Metadaten mit Werten und Optionen finden Sie unten in Beispiel 2 .
JSON-Metadatenbeispiel 1
"projectVariables": [ { "name": "com.salesforce.username", "displayName": "Salesforce Login", "description": "Please provide your Salesforce username or email." }, { "name": "com.salesforce.password", "displayName": "Salesforce Password", "description": "Please provide your Salesforce password.", "type": "password" }, { "name": "com.salesforce.token", "displayName": "Salesforce Security Token", "description": "Please provide your Salesforce security token.", "type": "password" }, { "name": "com.zendesk.username", "displayName": "Zendesk Login", "description": "Please provide your Zendesk email." }, { "name": "com.zendesk.password", "displayName": "Zendesk Password", "description": "Please provide your Zendesk password.", "type": "password" } ]
JSON-Metadatenbeispiel 2
"projectVariables": [ { "name": "myDropdown", "displayName": "Dropdown Test", "value": "ProdOperation", "type": "dropdown", "description": "A field to test the dropdown feature", "options": [ { "name": "Development", "value": "DevOperation" }, { "name": "Production", "value": "ProdOperation" } ] }, { "name": "myCheckboxes", "displayName": "Checkbox Test", "value": "ProdOperation", "type": "checkboxes", "description": "A field to test the checkbox feature", "options": [ { "name": "Development", "value": "DevOperation" }, { "name": "Production", "value": "ProdOperation" } ] }, { "name": "myTextarea", "displayName": "Comments", "type": "textarea", "value": "This is a comment for the textarea", "description": "SAP Language" } ]
Schritttypen¶
Jeder Schritt in den Metadaten des Citizen Integrator-Rezepts hat ein „Typ“-Attribut, das den Typ des Schritts angibt. Diese Schritte entsprechen direkt mit den Benutzern, die sie über die Citizen Integrator-Schnittstelle sehen werden, und die Arten dieser Schritte entsprechen direkt mit Design Studio.
Dies sind die möglichen verfügbaren Schritttypen. Weitere Informationen zu den einzelnen Schritttypen finden Sie im Folgenden Abschnitte.
org.jitterbit.integration.data.entity.Description
org.jitterbit.integration.data.entity.ProjectVariable
org.jitterbit.integration.data.entity.RunOperation
org.jitterbit.integration.data.entity.SalesforceConnector
-org.jitterbit.integration.data.entity.GenericProperties
-org.jitterbit.integration.data.entity.Schedule
org.jitterbit.integration.data.entity.ApiBinding
org.jitterbit.integration.data.entity.HttpForm
org.jitterbit.integration.data.entity.TemporaryStorage
-org.jitterbit.integration.data.entity.FileShare
org.jitterbit.integration.data.connector.FTPEndpoint
org.jitterbit.integration.data.connector.DBEndpoint
org.jitterbit.integration.data.connector.AutoDeskEndpoint
org.jitterbit.integration.data.connector.NetSuiteEndpoint
org.jitterbit.integration.data.connector.SapEndpoint
org.jitterbit.integration.data.connector.JMSEndpoint
org.jitterbit.integration.data.connector.MSAXEndpoint
org.jitterbit.integration.data.connector.Four51Endpoint
org.jitterbit.integration.data.connector.ClarizenEndpoint
org.jitterbit.integration.data.connector.QuickBooksEndpoint
Beschreibung¶
org.jitterbit.integration.data.entity.Description
Dieser Schritttyp sollte verwendet werden, wenn detaillierte Informationen zu einem Rezept oder einem Schritt bereitgestellt werden müssen, oder kann als Überprüfung am Ende des Rezepts verwendet werden.
-
Beispiel:
{ "name": "Introduction", "description": "Insert accounts into a postgres database", "label": "Introduction", "type": "org.jitterbit.integration.data.entity.Description", "properties": [ { "name": "template", "defaultValue": "<div>...</div>" }
-
Wenn dieser Schritt der letzte Schritt innerhalb eines Rezepts ist (definiert als Überprüfungsschritt) und die Eigenschaft „submitOperationsToRun“ enthält, wendet die Schaltfläche Speichern und beenden diese Logik in Bezug auf die Vorgänge an, die zur Ausführung übermittelt werden müssen. Beachten Sie, dass die Schaltfläche Speichern und beenden keine Vorgänge zur Ausführung übermittelt, wenn diese Optionen nicht festgelegt sind.
-
Es werden keine Vorgänge zur Ausführung übermittelt, wenn:
{ "name": "submitOperationsToRun", "value": "" }
-
Nur die angegebenen Vorgänge werden zur Ausführung übermittelt, wenn:
{ "name": "submitOperationsToRun", "value": "Operation1;Operation2" }
-
Alle Vorgänge werden zur Ausführung übermittelt, wenn die Eigenschaft nicht vorhanden ist:
{ "name": "submitOperationsToRun", "value": "*" }
-
Projektvariable¶
org.jitterbit.integration.data.entity.ProjectVariable
Dieser Schritttyp wird verwendet, um eine Reihe von Projektvariablen zusammenzufassen. Er kann auch verwendet werden, um einen Endpoint neu zu definieren Definition. Eine optionale „Aktion“ kann daran angehängt werden.
-
Zum Beispiel:
{ "name": "Ftp Endpoint", "description": "Set-up the Source FTP Endpoint project variables", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "projectVariables": { "names": [ "acme.org.ftp.host", "acme.org.ftp.username", "acme.org.ftp.password", "acme.org.ftp.path", "acme.org.ftp.filename" ], "action": { "name": "test-endpoint-connection", "displayName": "Test Connection", "useStepAsRequest": "/Source/FtpSite" } } }
-
Diese „Aktionen“ werden unterstützt:
- “test-endpoint-connection”: Dies wird zum Testen einer Endpoint verwendet. Es muss zusammen mit einem Endpoint.
- „submit-http-form“: Dies muss zusammen mit einem HTTP-Formular verwendet werden (siehe unten).
Ausführen einer Operation¶
org.jitterbit.integration.data.entity.RunOperation
Dieser Schritttyp wird verwendet, um eine Operation Durchführen, um dem Benutzer Tests zu ermöglichen.
-
Zum Beispiel:
{ "name": "Run Now", "description": "Run Now operation - fetch the csv file, parse and insert into database", "label": "Run Now", "type": "org.jitterbit.integration.data.entity.RunOperation", "path": "/Operation/SyncAccounts", "properties": [ { "name": "operationName", "defaultValue": "SyncAccounts", "description": "Synchronize Accounts" } ] }
API-Bindung¶
org.jitterbit.integration.data.entity.ApiBinding
Dieser Schritttyp wird verwendet, wenn Vorgänge als APIs externalisiert werden müssen.
-
“assignTo”: Damit können Sie die URI in einer Projektvariable speichern, die im Jitterpak verwendet werden kann. Für Beispiel:
{ "name": "Review the WebHooks associated to this recipe", "description": "The following Web API will be registered as webhooks to your system", "type": "org.jitterbit.integration.data.entity.ApiBinding", "bindings": { "apis": [ { "apiName": "FetchAccounts", "publicName": "citizen-fetchaccounts", "version": "v1", "sslOnly": "True", "timeout": "30", "enableCORS": "False", "assignTo": "acme.com.myservice.fetchaccounts.uri", "methods": [ { "method": "GET", "operationName": "RunNow", "responseType": "FINAL_TARGET" // possible - values "NO_RESPONSE", "FINAL_TARGET", "VARIABLE" } ] } ], "action": { "name": "import-api-packs", "displayName": "Bind API(s)", "useStepAsRequest": "" } } }
HttpForm¶
org.jitterbit.integration.data.entity.HttpForm
Dieser Schritttyp wird verwendet, wenn eine Interaktion mit einem HTTP- Endpoint erforderlich ist. Projektvariablen können als Eingaben verwendet werden für Anfragen/Header.
-
Zum Beispiel:
{ "name": "ConstantContact Endpoint Project Variables", "description": "Set up the target Constant Contact endpoint project variable. Enter one of com.constantcontact.listid or com.constantcontact.listname.", "type": "org.jitterbit.integration.data.entity.ProjectVariable", "projectVariables": { "names": [ "com.constantcontact.apikey", "com.constantcontact.accesstoken", "com.constantcontact.listid", "com.constantcontact.listname" ], "action": { "name": "submit-http-form", "displayName": "Test Connection", "useStepAsRequest": "/Target/ConstantContactEndpoint" } } }, ... { "name": "Test ConstantContact Connection Information", "description": "Test ConstantContact endpoint connection information", "label": "Target Endpoint (ConstantContact)", "type": "org.jitterbit.integration.data.entity.HttpForm", "hidden": true, "path": "/Target/ConstantContactEndpoint", "properties": [ { "name": "verb", "defaultValue": "GET" }, { "name": "url", "defaultValue": "https://api.constantcontact.com/v2/lists?api_key=[com.constantcontact.apikey]" }, { "name": "headers", "defaultValue": "Authorization: Bearer [com.constantcontact.accesstoken]" }, { "name": "httpRequest", "defaultValue": "" }, { "name": "httpResponse", "defaultValue": "" } ] }
Konnektor¶
org.jitterbit.integration.data.connector.*
Diese werden für die jeweils aufgeführten Endpoints verwendet:
org.jitterbit.integration.data.connector.FTPEndpoint
-org.jitterbit.integration.data.connector.DBEndpoint
-org.jitterbit.integration.data.connector.AutoDeskEndpoint
-org.jitterbit.integration.data.connector.NetSuiteEndpoint
-org.jitterbit.integration.data.connector.SapEndpoint
-org.jitterbit.integration.data.connector.JMSEndpoint
-org.jitterbit.integration.data.connector.MSAXEndpoint
-org.jitterbit.integration.data.connector.Four51Endpoint
-org.jitterbit.integration.data.connector.ClarizenEndpoint
-org.jitterbit.integration.data.connector.QuickBooksEndpoint
Rezept-Metadatendefinitionen¶
Diese Unterabschnitte decken die vollständigen Metadatendefinitionen für Rezepte ab, wie sie in Jitterbit definiert sind. Diese Abschnitte beschreiben alle möglichen Teile der JSON-Metadatendatei. Alle erforderlichen Felder sind am Ende jedes Abschnitts aufgeführt.
- Rezept
- Schritt
- Aktion
- API
- API Methode
- Eigentum
- Jitterpak-Details bereitstellen
- Operation
- Antwort bereitstellen
- Rezeptintegration
- Etikett
- Autor
- Umfeld
- Agent
- Agentengruppe
- Anmeldeantwort
- Organisation
- Organisationsdetails
- Informationen zur Endpoint
- HTTP-Verbindungsparameter
- Schlüsselwert
- Fehler
- Operationsprotokoll
- Operationsprotokolleintrag
- Details zum Operationsprotokoll
- Nachricht und Feldname
- Ergebnisdateikategorie und GUID
- Antwort auf den Ausführungsvorgang
- Aufzeichnen
- Benutzerinformationen
- Bereitstellungsstatus
- Endpoint
- AWS-Fehler
Rezept¶
Recipe:
type: object
properties:
id:
type: string
description: "The numerical ID of the recipe"
guid:
type: string
description: "Unique identifier representing a recipe"
author:
See separate definition for Author
orgId:
type: string
description: "The Organization ID"
description:
type: string
description: "Description of Recipe"
name:
type: string
description: "Name of Recipe"
projectName:
type: string
description: "Name of the Jitterbit Project (or Jitterpak)"
displayName:
type: string
description: "Display name of Recipe"
summary:
type: string
description: "Short description of Recipe"
tags:
type: array
items:
See separate definition for Tag
description: List of tags
steps:
type: array
items:
See separate definition for Step
projectVariables:
type: array
items:
See separate definition for property
createdAt:
type: number
description: "Number of milliseconds since the UNIX epoch (Jan 1 1970 12am UTC)"
updatedAt:
type: number
description: "Number of milliseconds since the UNIX epoch (Jan 1 1970 12am UTC)"
updatedBy:
See separate definition for Author
version:
type: string
description: "Version of the recipe. Incremented when updated."
required:
- guid
- description
- name
- projectName
- steps
Schritt¶
Step:
properties:
name:
type: string
description: "Name of step"
description:
type: string
description: "Description of the step"
guid:
type: string
description: "A unique id associated to the step"
label:
type: string
description: "A label that can be used for rendering instead of the name property"
type:
type: string
enum:
- org.jitterbit.integration.data.entity.Description
- org.jitterbit.integration.data.entity.ProjectVariable
- org.jitterbit.integration.data.entity.RunOperation
- org.jitterbit.integration.data.connector.FTPEndpoint
- org.jitterbit.integration.data.connector.DBEndpoint
- org.jitterbit.integration.data.connector.AutoDeskEndpoint
- org.jitterbit.integration.data.connector.NetSuiteEndpoint
- org.jitterbit.integration.data.connector.SapEndpoint
- org.jitterbit.integration.data.connector.JMSEndpoint
- org.jitterbit.integration.data.entity.SalesforceConnector
- org.jitterbit.integration.data.entity.GenericProperties
- org.jitterbit.integration.data.entity.Schedule
- org.jitterbit.integration.data.entity.ApiBinding
- org.jitterbit.integration.data.entity.HttpForm
- org.jitterbit.integration.data.entity.TemporaryStorage
- org.jitterbit.integration.data.entity.FileShare
- org.jitterbit.integration.data.connector.MSAXEndpoint
- org.jitterbit.integration.data.connector.QuickBooksEndpoint
- org.jitterbit.integration.data.connector.ClarizenEndpoint
- org.jitterbit.integration.data.connector.Four51Endpoint
description: |`TISCHROWEND`
"Type associated with this step; these are possible values:
org.jitterbit.integration.data.entity.Description
org.jitterbit.integration.data.entity.ProjectVariable,
org.jitterbit.integration.data.entity.RunOperation,
org.jitterbit.integration.data.connector.FTPEndpoint,
org.jitterbit.integration.data.connector.DBEndpoint,
org.jitterbit.integration.data.connector.AutoDeskEndpoint,
org.jitterbit.integration.data.connector.NetSuiteEndpoint,
org.jitterbit.integration.data.connector.SapEndpoint,
org.jitterbit.integration.data.connector.JMSEndpoint,
org.jitterbit.integration.data.entity.SalesforceConnector,
org.jitterbit.integration.data.entity.GenericProperties,
org.jitterbit.integration.data.entity.ApiBinding,
org.jitterbit.integration.data.entity.Schedule,
org.jitterbit.integration.data.entity.HttpForm,
org.jitterbit.integration.data.entity.FileShare,
org.jitterbit.integration.data.entity.TemporaryStorage,
org.jitterbit.integration.data.connector.MSAXEndpoint,
org.jitterbit.integration.data.connector.QuickBooksEndpoint,
org.jitterbit.integration.data.connector.ClarizenEndpoint,
org.jitterbit.integration.data.connector.Four51Endpoint"
hidden:
type: boolean
description: "Indicate if this step should be renderable or not"
required:
type: boolean
description: "Whether the step requires validation or not"
properties:
type: array
description: "Properties associated with this step; in a step you can have either properties or projectVariables but not both at the same time"
items:
See separate definition for property
path:
type: string
description: "If this step maps to an entry in Jitterpak provide the path to; in general, this is valid for endpoints"
projectVariables:
type: object
description: "A list of project variables grouped together to represent a configurable entities; this cannot be used if properties are defined"
properties:
names:
type: array
items:
type: string
action:
See separate definition for Action
description: "Describe an action that can be invoked using properties from specified step; example: test connection endpoint"
required:
- names
bindings:
type: object
properties:
apis:
type: array
items:
See separate definition for API
action:
See separate definition for Action
required:
- name
- description
- type
Aktion¶
Action:
properties:
name:
type: string
displayName:
type: string
useStepAsRequest:
type: string
description: "Use properties from a specified steps within the recipe; usually such a step is defined as a hidden step that is not rendered"
required:
- name
- useStepAsRequest
API¶
API:
properties:
apiName:
type: string
description: "Name of the API"
publicName:
type: string
description: "The public name of the API; this name would be part of the URI that will be public"
description:
type: string
description: "A short description of the api"
version:
type: string
description: "Version of the API"
sslOnly:
type: boolean
description: "Indicate if should only listen over HTTPS only - defaults to true"
timeout:
type: number
description: "Indicate after how many seconds to timeout; default is 30s"
enableCORS:
type: boolean
description: "Indicate if the cors should be enabled or not; defaults to false"
assignTo:
type: string
description: "Assign the API URL to a project variable defined within the associated JPK"
methods:
type: array
items:
See separate definition for API Method
required:
- apiName
- publicName
- description
- version
- methods
API Methode¶
APIMethod:
properties:
method:
type: string
description: "Indicate the HTTP verb for to use for this APIMethod (PUT|POST|DELETE|GET)"
enum:
- GET
- DELETE
- POST
- PUT
operationName:
type: string
description: "Name of operation that will be invoked when this APIMethod is invoked"
responseType:
type: string
description: "Response type returned by the operation; defaults to NO_RESPONSE"
enum:
- VARIABLE
- FINAL_TARGET
- NO_RESPONSE
required:
- method
- operationName
Eigentum¶
Property:
properties:
name:
type: string
description: "Property name"
defaultValue:
type: string
description: "Default value associated to this property"
value:
type: string
description: "A value assigned by the user; if no value is provided by default the defaultValue will be assigned"
type:
type: string
description: "Indicate the type of the value; integer, float, double, date, time, boolean, string, password, textarea, enum; default string"
description:
type: string
description: "Provide a description of this property"
hidden:
type: boolean
description: "Default value will be false"
displayName:
type: string
description: "Name used for displaying; if not defined then the name property will be used"
required:
type: boolean
description: "Whether the property requires a value or not"
regex:
type: boolean
description: "Regex that the value should match"
required:
- name
Jitterpak-Detailinformationen bereitstellen¶
DeployJpkDetails:
type: object
properties:
envId:
type: string
description: "Environment ID of the deployed recipe."
envName:
type: string
description: "Environment name"
projectId:
type: string
description: "Deployed recipe ID"
projectGuid:
type: string
description: "Deployed project GUID"
projectName:
type: string
description: "Deployed project name"
oldProjectVariables:
type: array
items:
See separate definition for property
Bedienung¶
Operation:
type: object
properties:
operationGuid:
type: string
description: "The GUID of the operation"
operationName:
type: string
description: "The name of the operation"
Bereitstellen einer Antwort¶
DeployResponse:
properties:
deployJpkDetails:
type: array
items:
See separate definition for Deploy JPK Details
operations:
type: array
items:
See separate definition for Operation
Rezeptintegration¶
RecipeIntegration:
allOf:
- See separate definition for Recipe
- properties:
deployedRecipeId:
description: "ID of the deployed configured recipe (this is the same as the ID of a Jitterbit project that is deployed to an environment)"
type: string
Etikett¶
Tag:
type: object
properties:
key:
type: string
description: "A key that can be used for searching the recipe later; possible values: source, target, search"
value:
type: string
description: "A value that can be in a search to match a recipe"
required:
- key
- value
Autor¶
Author:
type: object
properties:
userId:
type: string
description: "ID of the recipe's author"
name:
type: string
description: "Name of the recipe's author"
orgName:
type: string
description: "Name of the organization that this user is part of"
required:
- userId
- name
Umfeld¶
Environment:
type: object
properties:
id:
type: string
description: "A unique ID associated to environment"
orgId:
type: string
description: "The ID of the org that this environment is part of"
name:
type: string
description: "Name of the environment"
agentGroupName:
type: string
description: "The agent group associated with this environment"
agentGroupId:
type: string
description: "The ID of the agent group"
urlPrefix:
type: string
description: "Prefix URL associated to environment"
Agent¶
Agent:
type: object
properties:
id:
type: string
description: "Unique ID of the agent"
name:
type: string
description: "Name of the agent"
os:
type: string
description: "Type of operating system where agent is running"
osVersion:
type: string
description: "Type of operating system where agent is running"
jitterbitVersion:
type: string
description: "Version of the Jitterbit agent"
hostname:
type: string
description: "Name of the host"
ipv4Address:
type: string
description: "IPV4 Address"
ipv6Address:
type: string
description: "IPV6 Address"
agentGroupName:
type: string
description: "Associate the agent with the named agent group"
status:
type: string
description: "Indicates if the agent is running"
agentGroupId:
type: string
description: "Id of the agent group that this agent is part of"
Agent¶
AgentGroup:
type: object
properties:
id:
type: string
description: "ID of the agent group"
name:
type: string
description: "Name of the agent group"
description:
type: string
description: "Description of the agent group"
Anmeldeantwort¶
LoginResponse:
type: object
properties:
authenticationToken:
type: string
description: "Token that is used for authentication/authorizing client's REST requests"
status:
type: boolean
description: "Indicate if the user is active or not"
defaultOrgId:
type: string
description: "Default organization id that the user has logged into"
orgs:
type: array
description: "Organizations that the user is part of"
items:
See separate definition for Organization
Organisation¶
Org:
type: object
properties:
orgId:
type: string
description: "ID of the organization"
orgName:
type: string
description: "Name of the organization"
orgZoneUrl:
type: string
description: "Zone URL associated to this organization"
urlPrefix:
type: string
description: "The URL prefix used for the API gateway for this organization"
apiHost:
type: string
description: "The DNS hostname used by this organization when exposing APIs"
Organisationsdetails¶
OrgDetail:
allOf:
- See separate definition for Recipe
- properties:
orgType:
description: "Type of org"
type: number
active:
description: "Indicate if this org is active or not"
type: boolean
legalName:
description: "The legal name of the org"
type: string
environments:
type: array
items:
See separate definition for Environment
Informationen zur Endpoint¶
EndpointConnectionInfo:
type: object
description: "Object that defines the properties associated to a connection endpoint"
properties:
keyValues:
type: array
items:
See separate definition for KeyValue
HTTP-Verbindungsparameter¶
HttpConnectionParams:
type: object
properties:
verb:
type: array
items:
See separate definition for property
url:
type: array
items:
See separate definition for property
headers:
type: array
items:
See separate definition for property
httpRequest:
type: array
items:
See separate definition for property
httpResponse:
type: array
items:
See separate definition for property
username:
type: array
items:
See separate definition for property
password:
type: array
items:
See separate definition for property
errorIfRegexMatch:
type: array
items:
See separate definition for property
errorMessageRegexSearch:
type: array
items:
See separate definition for property
Schlüsselwert¶
KeyValue:
type: object
properties:
key:
type: string
value:
type: string
Fehler¶
Error:
type: object
properties:
code:
type: integer
description: "Code associated with this error; in general, maps to an HTTP Code"
message:
type: string
description: "A description of the error"
fields:
type: string
description: "Fields that report the error (optional)"
Operationsprotokoll¶
OperationLog:
type: object
properties:
records:
type: array
items:
See separate definition for Operation Log Record
Operationsprotokolldatensatz¶
OperationLogRecord:
type: object
properties:
attributes:
See separate definition for Record
childRecords:
See separate definition for Operation Log
Details des Vorgangsprotokolls¶
OperationLogDetails:
type: object
properties:
operationName:
type: string
mainMessage:
type: string
sourceRecords:
type: integer
description: Number of source records
targetRecords:
type: integer
description: Number of target records
failedRecords:
type: integer
description: Number of failed records
successRecords:
type: integer
description: Number of success records
filesProcessed:
type: integer
description: Number of files processed
messageAndFieldName:
type: array
items:
See separate definition for Message and Field Name
resultFileCategoryAndGuid:
type: array
items:
See separate definition for Result File Category and GUID
Nachricht und Feldname¶
MessageAndFieldName:
type: object
properties:
message:
type: string
fieldName:
type: string
Ergebnisdateikategorie und GUID¶
ResultFileCategoryAndGuid:
type: object
properties:
category:
type: number
fileGuid:
type: number
Ausführen der Operation¶
RunOperationResponse:
type: object
properties:
orgId:
type: string
description: "ID of the organization associated with the environment where the operation has been deployed and executed"
environmentId:
type: string
description: "ID of the environment where the operation has been deployed and executed"
operationInstanceGuid:
type: string
description: "GUID of the operation instance"
operationGuid:
type: string
description: "GUID of the operation"
submittedAt:
type: string
description: "Date when the operation was submitted for execution"
Aufzeichnen¶
Record:
type: object
properties:
operationInstanceGuid:
type: string
description: "GUID of an instance of an operation; represents an execution of an operation"
parentInstanceGuid:
type: string
description: "GUID associated to the parent operation; an operation that has been triggered/executed this operation instance"
operationGuid:
type: string
description: "GUID associated to this operation"
operationName:
type: string
description: "Name of the operation"
operationStatusId:
type: number
description: "Possible value for the operation statusId: SUBMITTED(0), PENDING(1), CANCELED(2), RUNNING(3), SUCCESS(4), SUCCESS_WITH_INFO(5), SUCCESS_WITH_WARNING(6), ERROR(7), CANCEL_REQUESTED(8), SUCCESS_WITH_CHILD_ERROR(9), RECEIVED(10), UNKNOWN(-1)"
operationStatus:
type: string
description: "Status of the operation - see operationStatusId for possible values"
environmentId:
type: string
description: "ID of the environment where operation has been deployed and running"
environmentName:
type: string
description: "Name of the environment where operation has been deployed and running"
agentId:
type: string
description: "ID of the agent where operation has been running"
agentName:
type: string
description: "Name of the agent where operation has been running"
projectName:
type: string
description: "Name of the Jitterbit pack associated to the recipe"
message:
type: string
description: "The message associated with this operation indicating the status of it"
operationEnteredTimestamp:
type: number
description: "Timestamp when the operation was entered"
operationStartedTimestamp:
type: number
description: "Timestamp when the operation was started"
operationStatusTimestamp:
type: number
description: "Timestamp of the operation status"
debugModeEnabled:
type: boolean
description: "Indicate if the debug mode is enabled or not"
debugFilePresent:
type: boolean
description: "Indicate if there is a debug file present for downloading"
Benutzerinformationen¶
UserInfo:
type: object
properties:
title:
type: string
phone:
type: string
company:
type: string
postalCode:
type: string
subscription:
type: string
signUpSource:
type: string
offeringEnumId:
type: string
active:
type: string
timezone:
type: string
Bereitgestellter Status¶
DeployedStatus:
type: object
properties:
good:
type: integer
warn:
type: integer
error:
type: integer
Endpoint¶
EndpointInfo:
type: object
properties:
name:
type: string
description: "Name of the endpoint"
category:
type: string
description: "Indicates the category this endpoint is part of; examples: crm, database"
icon:
type: string
description: "Path to fetch the icon associated with this endpoint"
required:
- name
- icon
AWS-Fehler¶
AWSError:
type: object
properties:
code:
type: string
message:
type: string
retryable:
type: boolean
statusCode:
type: number
hostname:
type: string
region:
type: string
retryDelay:
type: number
requestId:
type: string
extendedRequestId:
type: string
cfId:
type: string