Automation中Data Explorer参数的语法

我有一个数据浏览器查询,它接受一个“group_name”参数

我想自动化每周为每个相关组运行一次查询,并将结果发送给该组。

但我就是无法弄清楚参数的语法。这是我在一个全新的自动化中看到的:

我觉得这……没用。

我尝试了几种变体。当我尝试的查询没有产生错误(在错误日志中找到)时,我似乎什么也得不到。

如果我使用没有参数的查询,它运行得非常快。如何让它适用于需要参数的查询?

2 个赞

我也能重现这个问题。

在您的示例中,假设您想检查 moderators 和 admins 组,您应该有:

key: group_name
value: moderators,admins


技术细节供您参考,别介意 :smile:
我尝试查看代码来理解,我认为这里有一个问题:

在调用 run_query 之前,参数被转换了。
假设您有这个原始值:
[{"key":"group_names","value":"admins,moderators"}]
转换后的值将是:
[{"key"=>"group_names", "value"=>"admins,moderators"}=>nil]

然而,cast_params 似乎期望的是 {"group_names"=>"admins,moderators"}

我尝试测试了这个简单的更改,参数就可以工作了。

def self.params_to_hash(query_params)
  params = JSON.parse(query_params)
  params_hash = {}

  params.each do |param|
    key = param["key"]
    value = param["value"]
    params_hash[key] = value
  end

  params_hash
end
7 个赞

非常感谢您的调试 :hugs: 我们将在下周进行查看。

5 个赞

太棒的探洞了,@Arkshine:slightly_smiling_face:

我正在查看这个问题。当我阅读原始代码时,我感觉它期望参数是数组的数组,所以我有点担心直接丢弃现有内容。我会尝试弄清楚这可能在什么时候发生。

找到问题后我会在这里发帖。

1 个赞

这里确实有一个 bug,部分归功于 @Arkshine 的调查,修复起来相对容易:

这已经合并了,所以一旦您的站点部署完毕,您应该就可以继续了 @ganncamp

如果我没理解错的话,您想要一个自动化,实现群组与其报告之间的一对一映射?(即 group_a 接收包含 group_a 数据的报告,依此类推)

目前收件人列表和报告参数之间没有连接,因此要实现这一点,您需要为每个群组设置一个自动化。在这种情况下,您可能需要将参数更改为 group_id

3 个赞

太棒了,@ted

是的,能够 foreach 一组组将是我的下一个请求 :smile:

3 个赞

这确实似乎是一件方便的事情,特别是对于拥有大量群组的网站。我会记下这个请求,但不能确定何时会处理。:folded_hands:

3 个赞

此话题在最后回复后三天已被自动关闭,不再允许新的回复。