Este guia explica como escrever registros e mensagens de erro personalizados que ajudam a resolver problemas de uma etapa de fluxo que não é executada na guia "Atividade" dos fluxos.
Por padrão, a guia "Atividade" registra o nome da etapa executada, conforme definido no arquivo de manifesto. Para ajudar você a entender o que aconteceu durante uma execução de etapa, escreva registros personalizados para sua etapa também. Se os usuários encontrarem um comportamento inesperado ao executar sua etapa, os registros poderão ajudar a entender o que aconteceu.
Uma entrada de registro útil tem dois atributos:
- Um ícone que contém um hiperlink para o recurso criado ou atualizado pela etapa. Por exemplo, se a etapa criar um documento Google, use o ícone para vincular ao documento criado.
- Uma mensagem de erro detalhada descrevendo por que uma etapa não foi executada e como resolver o problema.
A amostra de código a seguir mostra como o onExecuteFunctionCreateDocument() de uma etapa pode registrar uma execução bem-sucedida e um erro na guia "Atividade":
Apps Script
// A helper method to return host app actions
function returnActionHelper(action) {
let hostAppAction = AddOnsResponseService.newHostAppAction()
.setWorkflowAction(action);
let renderAction = AddOnsResponseService.newRenderActionBuilder()
.setHostAppAction(hostAppAction)
.build();
return renderAction;
}
function createDocument() {
let randomInt = Math.floor(Math.random() * 2)
console.log("The random generated integer is: ", randomInt);
if (randomInt == 0) {
console.log("Mock document creation failed.");
return false;
} else if (randomInt == 1) {
console.log("Mock document creation succeeded.");
return true;
}
}
function onExecuteFunctionCreateDocument(e) {
// true if the document is successfully created, false if something goes wrong.
var successfulRun = createDocument();
// If successful, return an activity log linking to the created document.
if (successfulRun == true) {
let logChip = AddOnsResponseService.newTextFormatChip()
.setTextFormatIcon(
AddOnsResponseService.newTextFormatIcon()
.setMaterialIconName("edit_document")
)
.setUrl("https://docs.google.com/document/d/{DOCUMENT}")
.setLabel("{NAMEOFDOCUMENT}");
const workflowAction = AddOnsResponseService.newReturnOutputVariablesAction()
// Set the user-facing error log
.setLog(
AddOnsResponseService.newWorkflowTextFormat()
.addTextFormatElement(
AddOnsResponseService.newTextFormatElement()
.setText("Created Google Doc")
)
.addTextFormatElement(
AddOnsResponseService.newTextFormatElement()
.setTextFormatChip(logChip)
)
.addTextFormatElement(
AddOnsResponseService.newTextFormatElement()
.setText("Created doc detailing how to improve product.")
)
);
returnActionHelper(workflowAction);
}
// Otherwise, return an activity log containing an error explaining what happened and how to resolve the issue.
else {
let errorChip = AddOnsResponseService.newTextFormatChip()
.setTextFormatIcon(
AddOnsResponseService.newTextFormatIcon()
.setMaterialIconName("document")
)
.setLabel("{NAMEOFDOCUMENT}");
const workflowAction = AddOnsResponseService.newReturnElementErrorAction()
.setErrorActionability(AddOnsResponseService.ErrorActionability.NOT_ACTIONABLE)
.setErrorRetryability(AddOnsResponseService.ErrorRetryability.NOT_RETRYABLE)
// Set the user-facing error log
.setErrorLog(
AddOnsResponseService.newWorkflowTextFormat()
.addTextFormatElement(
AddOnsResponseService.newTextFormatElement()
.setText("Failed to create Google Doc.")
)
.addTextFormatElement(
AddOnsResponseService.newTextFormatElement()
.setTextFormatChip(errorChip)
)
.addTextFormatElement(
AddOnsResponseService.newTextFormatElement()
.setText("Unable to create Google Document because OAuth verification failed. Grant one of these authorization scopes and try again: https://www.googleapis.com/auth/documents, https://www.googleapis.com/auth/drive, https://www.googleapis.com/auth/drive.file")
)
);
returnActionHelper(workflowAction);
}
}
Temas relacionados
- Criar uma etapa
- Variáveis de entrada
- Validar uma variável de entrada
- Variáveis de saída
- Objeto de evento de fluxos