我们有一个每天运行100次的Zap,在正常情况下,它的任务历史记录通常具有“已过滤”(黄色)状态,其余时间为“成功”(绿色)状态
我遇到的问题是尝试捕获错误。在此zap的Javascript代码内部,有许多API调用,如果这些API调用中的任何一个失败或导致奇怪的行为,我希望Zap进入“任务历史记录”中的“停止”(红色)状态。这将使这些事件在“任务历史记录”中更明显,并且还将向我们的开发人员提供电子邮件通知。
我知道过滤器及其工作原理,问题在于此Zap整天(共100次)处于“已过滤”状态,因此,如果我要为错误设置过滤器,它将与所有其他工作正常的工作。这也不会向我提供电子邮件通知,无论如何,这些通知再无用。
从Zap内部调用API的示例:
var fieldKey = "";
var endpoint = pipedriveURL + "dealFields:(key,name)?start=0&api_token=" + pipedriveAPIKey;
var res = await fetch(endpoint, {method: 'GET'});
var resBody = await res.json();
for (var i of resBody.data) {
if (i.name === fieldName) {
fieldKey = i.key;
}
}
// Key not found exit
if (fieldKey === "") {
console.log("Field Key not found in getFieldKeyFromName");
}
如果上面的代码由于某种原因开始失败,那么我不希望深入研究100个试图读取所有console.log()的任务,而是希望它们看起来更清晰,更容易找到处于“已停止”(红色)状态。
某些API失败自然会因Javascript错误而停止zap,但在其他情况下,我想故意将Zap的执行错误化。这可能吗?
答案 0 :(得分:0)
当然,您可以像正常情况一样抛出错误:
throw new Error('bad thing')
这会将标记的那一步标记为失败。