GlideFlow : Client
Die GlideFlow -API bietet Methoden für clientseitige Interaktionen mit Aktionen, Flows und Subflows.
Sie können diese API überall in der Plattform verwenden, wo Client-Skripts akzeptiert werden. Die Aktion, der Flow oder der Subflow muss als vom Client aufrufbar festgelegt werden und über eine gültige ACL mit der Funktion „Sicherheit verwalten“ in Workflow-Studioverfügen.
Einige der Methoden in der GlideFlow- API geben Prompt -Objekte zurück. Ein Versprechen repräsentiert das eventuelle Ergebnis einer asynchronen Operation. Weitere Informationen zu Zusagen finden Sie unter Zusage – JavaScript MDN oder AngularJS-Dokumentation.
- Aktionen, Flows oder Subflows über ein Skript starten.
- Eine vorhandene Ausführung abrufen.
- Den Status und alle verfügbaren Ausgaben abrufen.
- Auf den Abschluss einer Aktion, eines Flow oder eines Subflow warten.
Es gibt keinen Konstruktor für die GlideFlow- API. Greifen Sie mit dem globalen GlideFlow- Objekt auf GlideFlow- Methoden zu.
GlideFlow – execution.awaitCompletion()
Gibt ein Abschlussobjekt für die Ausführung zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Objekt, das Abschlussdetails für die Ausführung von Flows oder Aktionen enthält. |
In diesem Beispiel wird eine Aktion mit startAction() ausgeführt, was ein Ausführungsobjekt zurückgibt. Der Code verwendet dann awaitCompletion() für dieses Ausführungsobjekt, was ein Abschlussobjekt zurückgibt. Der Code verwendet dieses Abschlussobjekt, um den Status und die Ausgaben innerhalb der Ausführung zu protokollieren.
(function() {
var inputs = {};
inputs['input1'] = 'string input'; // String
GlideFlow.startAction('global.action_name', inputs)
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow – execution.getExecutionStatus()
Gibt eine Zeichenfolge zurück, die den Ausführungsstatus der aktuellen Ausführung enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Eine Zeichenfolge, die den Ausführungsstatus enthält. |
In diesem Beispiel erhält der Code ein Ausführungsobjekt mithilfe der getExecution-Methode. Die getExecution-Methode erfordert eine ID, die von der zum Start der Ausführung verwendeten Methode zurückgegeben wird. Der Code verwendet dann getExecutionStatus(), um festzustellen, ob die Ausführung abgeschlossen wurde, bevor Sie fortfahren.
// Get an existing action, getStatus, and getOutputs if complete
(function() {
GlideFlow.getExecution('mamIN4Q35vmEFe744EwJV5GHrSz8fmJG')
.then(function(execution) {
execution.getExecutionStatus().then(
function(status) {
if (status === 'COMPLETE')
execution.getOutputs().then(
function(outputs) {
console.log(outputs);
},
errorResolver
);
},
errorResolver
);
}, errorResolver);
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow – execution.getOutputs()
Gibt ein Ausgabeobjekt für die Ausführung zurück.
Verwenden Sie diese Methode, um auf die Ausgabe zuzugreifen, die durch die Ausführung einer Aktion, eines Flow oder eines Subflow generiert wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Objekt, das Ausgaben für eine Aktion, einen Flow oder einen Subflow enthält. |
In diesem Beispiel erhält der Code ein Ausführungsobjekt mithilfe der getExecution-Methode. Nachdem die Ausführung abgeschlossen ist, verwendet der Code getOutputs(), um ein Ausgabeobjekt zurückzugeben, das dann mit der Methode console.log protokolliert wird.
// Get an existing action, getStatus, and getOutputs if complete
(function() {
GlideFlow.getExecution('mamIN4Q35vmEFe744EwJV5GHrSz8fmJG')
.then(function(execution) {
execution.getExecutionStatus().then(
function(status) {
if (status === 'COMPLETE')
execution.getOutputs().then(
function(outputs) {
console.log(outputs);
},
errorResolver
);
},
errorResolver
);
}, errorResolver);
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow – getExecution(String executionId)
Rufen Sie eine vorhandene Ausführungsinstanz nach ID ab.
| Name | Typ | Beschreibung |
|---|---|---|
| executionId | Zeichenfolge | Die ID der abzurufenden Ausführung. |
| Typ | Beschreibung |
|---|---|
| Objekt | Eine Zusage eines Ausführungsobjekts. |
In diesem Beispiel ruft der Code eine Ausführung ab und wartet dann auf den Abschluss, bevor der Abschlussstatus und die Ausgaben der Ausführung mithilfe von console.log protokolliert werden.
// Get an existing action and await completion
(function() {
GlideFlow.getExecution('79cd437e0b202300a150a95e93673ae3')
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow – startAction(String scopedName.actionName, Map inputs)
Starten Sie eine Aktion.
| Name | Typ | Beschreibung |
|---|---|---|
| scopedName | Zeichenfolge | Der bereichsspezifische Name des auszuführenden Flow. |
| inputs | Objekt | Ein Objekt, das die für die Aktion definierten Eingaben enthält. |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Objekt, das Details zur Aktionsausführung enthält. |
In diesem Beispiel startet der Code die globale Aktion „action_name“ mit den Argumenten in der Eingabenvariablen „inputs“. Nach Abschluss verwendet das Beispiel console.log oder console.error, um über den Erfolg oder Misserfolg des Flow zu berichten.
// Start an action and await completion.
(function() {
var inputs = {};
inputs['input1'] = 'string input'; // String
GlideFlow.startAction('global.action_name', inputs)
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();
GlideFlow – startFlow(String scopedName.flowName, Map inputs)
Starten Sie einen Flow.
| Name | Typ | Beschreibung |
|---|---|---|
| scopedName | Zeichenfolge | Der bereichsspezifische Name des auszuführenden Flow. |
| inputs | Objekt | Ein Objekt, das die für den Flow definierten Eingaben enthält. |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Objekt, das Details zur Flow-Ausführung enthält. |
Dieser Beispiel-Flow wird normalerweise ausgelöst, wenn ein Datensatz in der Incident-Tabelle aktualisiert wird. Da Sie den Flow von einem Client-Skript aus aktivieren, müssen Sie diese Informationen angeben. Der Code erstellt eine Variable „inputs“, die den aktuellen Datensatz und die Tabelle für den Datensatz enthält.
// Start a Flow
(function() {
var inputs = {};
inputs['current'] = { // GlideRecord
table : 'incident',
sys_id : '79cd437e0b202300a150a95e93673ae3'
};
inputs['table_name'] = 'incident';
GlideFlow.startFlow('global.flow_name', inputs)
.then(
function(execution) {
console.log('Started flow_name with execution id :' + execution.getExecutionId());
},
function(error) {
console.log('Unable to start flow: ' + error);
}
);
})();
GlideFlow – startSubflow(String scopedName.subflowName, Map inputs)
Starten Sie einen Subflow.
| Name | Typ | Beschreibung |
|---|---|---|
| scopedName | Zeichenfolge | Der bereichsspezifische Name des auszuführenden Flow. |
| inputs | Objekt | Ein Objekt, das die für den Subflow verwendeten Eingaben enthält. |
| Typ | Beschreibung |
|---|---|
| Objekt | Ein Objekt, das Details zur Subflow-Ausführung enthält. |
In diesem Beispiel startet der Code den globale Subflow „subflow_name“ mit den Argumenten in der Eingabenvariablen „array“. Nach Abschluss verwendet das Beispiel console.log oder console.error, um über den Erfolg oder Misserfolg des Flow zu berichten.
// Start an action and await completion.
(function() {
var inputs = {};
inputs['input1'] = 'string input'; // String
GlideFlow.startSubflow('global.subflow_name', inputs)
.then(function(execution) {
return execution.awaitCompletion();
}, errorResolver)
.then(function(completion) {
var status = completion.status;
console.log(status);
// Available Outputs:
var outputs = completion.outputs;
console.log(outputs);
}, errorResolver());
function errorResolver(error) {
// Handle errors in error resolver
console.error(error);
}
})();