GlideFlow - Cliente
A API GlideFlow fornece métodos para interações do lado do cliente com ações, fluxos e subfluxos.
Você pode usar esta API em qualquer lugar na plataforma que aceite client scripts. A ação, fluxo ou subfluxo deve ser definido como cliente chamável e ter uma ACL válida usando o recurso Gerenciar segurança em Workflow Studio.
Alguns dos métodos na API GlideFlow retornam objetos de promessa. Uma promessa representa o resultado final de uma operação assíncrona. Para obter mais informações sobre promessas, consulte a documentação Promessa - Javascript MDN ou AngularJS.
- Inicie ações, fluxos ou subfluxos por meio de um script.
- Obtenha uma execução existente.
- Obtenha o status e todas as saídas disponíveis.
- Aguarde a conclusão de uma ação, fluxo ou subfluxo.
Não há nenhum construtor para a API GlideFlow. Acesse os métodos GlideFlow usando o objeto global GlideFlow.
GlideFlow – execution.awaitCompletion()
Retorna um objeto de conclusão para a execução.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto que contém detalhes de conclusão para uma execução de fluxo ou ação. |
Neste exemplo, uma ação é executada usando startAction(), que retorna um objeto de execução. O código usa awaitCompletion() neste objeto de execução, que retorna um objeto de conclusão. O código usa este objeto de conclusão para registrar o status e as saídas na execução.
(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()
Retorna uma cadeia de caracteres que contém o status da execução atual.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Uma cadeia de caracteres que contém o status de execução. |
Neste exemplo, o código obtém um objeto de execução usando o método getExecution. O método getExecution requer um ID, que é retornado pelo método usado para iniciar a execução. O código usa getExecutionStatus() para determinar se a execução foi concluída antes de continuar.
// 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()
Retorna um objeto de saída para a execução.
Use este método para acessar a saída gerada pela execução de uma ação, fluxo ou subfluxo.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto que contém saídas para uma ação, fluxo ou subfluxo. |
Neste exemplo, o código obtém um objeto de execução usando o método getExecution. Depois que a execução é concluída, o código usa getOutputs() para retornar um objeto de saída, que é registrado usando o método console.log.
// 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(cadeia de caracteres executionId)
Obtenha uma instância de execução existente por ID.
| Nome | Tipo | Descrição |
|---|---|---|
| executionId | Cadeia de caracteres | O ID da execução a ser recuperado. |
| Tipo | Descrição |
|---|---|
| Objeto | Uma promessa de um objeto de execução. |
Neste exemplo, o código obtém uma execução e espera que ela seja concluída antes de registrar o status de conclusão das execuções e as saídas usando console.log.
// 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(cadeia de caracteres scopedName.actionName, entradas de mapa)
Inicie uma ação.
| Nome | Tipo | Descrição |
|---|---|---|
| scopedName | Cadeia de caracteres | O nome com escopo do fluxo a ser executado. |
| entradas | Objeto | Um objeto que contém entradas definidas para a ação. |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto que contém detalhes sobre a execução da ação. |
Neste exemplo, o código inicia a ação global action_name usando argumentos na variável de objeto de entrada de entradas. Após a conclusão, o exemplo usa console.log ou console.error para relatar o sucesso ou a falha do fluxo.
// 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, Mapear entradas)
Iniciar um fluxo.
| Nome | Tipo | Descrição |
|---|---|---|
| scopedName | Cadeia de caracteres | O nome com escopo do fluxo a ser executado. |
| entradas | Objeto | Um objeto que contém entradas definidas para o fluxo. |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto que contém detalhes sobre a execução do fluxo. |
Este fluxo de exemplo normalmente é acionado quando um registro na tabela de incidentes é atualizado. Como você está ativando o fluxo do script do cliente, forneça essas informações. O código cria uma variável de entradas que contém o registro atual e a tabela do registro
// 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, Mapear entradas)
Inicie um subfluxo.
| Nome | Tipo | Descrição |
|---|---|---|
| scopedName | Cadeia de caracteres | O nome com escopo do fluxo a ser executado. |
| entradas | Objeto | Um objeto que contém entradas usadas para o subfluxo. |
| Tipo | Descrição |
|---|---|
| Objeto | Um objeto que contém detalhes sobre a execução do subfluxo. |
Neste exemplo, o código inicia o subfluxo global subflow_name usando argumentos na variável de matriz de entradas. Após a conclusão, o exemplo usa console.log ou console.error para relatar o sucesso ou a falha do fluxo.
// 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);
}
})();