在动态下拉菜单中用作输入时,没有从上一个Zap步骤发送任何值

时间:2019-01-17 19:07:41

标签: javascript zapier-cli

我无法用另一个资源的列表操作的结果填充动态下拉列表。列表操作采用的日期来自映射到输入字段的以前的Zapier Schedule应用程序。列表操作运行时,捆绑软件的inputData具有占位符值,而不是预期的日期时间字符串。

应用程序的输入字段:

inputFields: [
    {
        key: 'input_date',
        label: 'Date',
        required: true,
        type: 'datetime',
        helpText: 'The date we are checking',
        altersDynamicFields: true
    },
    {
        key: 'holiday_list',
        label: 'Holiday List',
        required: true,
        dynamic: 'holiday.id.name',
        list: true,
        helpText: 'The holiday name (Easter) or a static date (12/25). One holiday per line'
    }
],

动态下拉列表的资源列表:

const Holiday = {
    key: 'holiday',
    noun: 'Holiday',
    list: {
        display: {
            label: 'List of Holidays',
            description: 'This is a hidden trigger',
            hidden: true
        },
        operation: {
            inputFields: [
                {
                    key: 'input_date',
                    required: true
                }
            ],
            perform: listHolidays
        }
    }
};

最后,列表功能:

const listHolidays = async (z: ZObject, bundle: Bundle) => {
    let holidays: Holiday[] = [];
    z.console.log('querying holidays, inputData: ', z.JSON.stringify(bundle.inputData));
    const date: moment.Moment = moment(bundle.inputData.date);
    const response: HttpResponse = await z.request(`${Constants.API_BASE}/holidays`, {
        method: 'GET',
        params: {
            country: 'US',
            year: date.year()
        }
    });

    if (response.json) {
        let apiResponse: any = response.json;
        holidays = apiResponse.holidays;
    }

    return holidays;
};

问题是,当使用“计划”应用作为输入日期时,列表函数收到的值类似于:

inputData:  {"input_date":"{{50160528__id}}"}

但是,如果给定文字日期时间字符串“ 2019-01-01T12:00:00-06:00”,则列表功能将按预期工作。

关于该主题的最有用的文章是this,它过去对我有帮助。我认为这里的最大区别是从属下拉列表由单独的资源填充,该资源依次从原始资源中获取输入。

我已确认我正在遵循Zapier CLI模式here中列出的模式和建议。

关于我可能会出错的任何想法?非常感谢您的帮助。

编辑

事实证明,这根本不是我的应用程序出现的问题。我删除了整个Zap,再次构建了每个步骤,现在将日期作为预期值传递。

0 个答案:

没有答案