במדריך הזה מוסבר איך לכתוב יומנים מותאמים אישית והודעות שגיאה שיעזרו לכם לפתור בעיות בשלב של זרימת עבודה שלא פועל בכרטיסייה 'פעילות' של זרימות העבודה.
כברירת מחדל, בכרטיסייה 'פעילות' מתועד שם השלב שמופעל, כפי שמוגדר בקובץ המניפסט שלו. כדי להבין מה קרה במהלך הפעלת שלב, כדאי לכתוב גם יומני רישום מותאמים אישית לשלב. אם המשתמשים נתקלים בהתנהגות לא צפויה במהלך הפעלת השלב, היומנים יכולים לעזור להם להבין מה קרה.
רשומה שימושית ביומן כוללת שני מאפיינים:
- צ'יפ שמכיל היפר-קישור למשאב שנוצר או עודכן בשלב. לדוגמה, אם השלב יוצר מסמך Google Docs, אפשר להשתמש בצ'יפ כדי לקשר למסמך Google Docs שנוצר.
- הודעת שגיאה מפורטת שמתארת למה שלב מסוים לא פעל ואיך לפתור את הבעיה.
בדוגמת הקוד הבאה אפשר לראות איך onExecuteFunction() של שלב יכול לרשום ביומן ריצה מוצלחת ושגיאה בכרטיסייה 'פעילות':
Apps Script
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) {
return {
"hostAppAction": {
"workflowAction": {
"returnOutputVariablesAction": {
"variableValues": [
{}
],
"log": {
"textFormatElements": [
{
"text": "Created Google Doc"
},
{
"chip": {
"icon": {
"materialIconName": "edit_document"
},
"url": "https://docs.google.com/document/d/{DOCUMENT}",
"label": "{NAMEOFDOCUMENT}"
}
},
{
"text": "Created doc detailing how to improve product."
}
]
},
"trigger_log": {
"textFormatElements": [
{
"text": "Email log "
}
]
}
}
}
}
};
}
// Otherwise, return an activity log containing an error explaining what happened and how to resolve the issue.
else {
return {
"hostAppAction": {
"workflowAction": {
"returnElementErrorAction": {
"errorActionability": "NOT_ACTIONABLE",
"errorRetryability": "NOT_RETRYABLE",
"error_log": {
"textFormatElements": [
{
"text": "Failed to create Google Doc"
},
{
"chip": {
"icon": {
"materialIconName": "document"
},
"label": "{NAMEOFDOCUMENT}"
}
},
{
"text": "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"
}
]
}
}
}
}
};
}
}