FIX: Scheduled PM with Data Explorer Results not sending PM (#250)

This PR fixes 2 issues that were picked up by users for the Scheduled Data Explorer Report automation script and a couple of small improvements to better match the format of manual data explorer query results.

The first issue is that within result_to_markdown the colrender contains null values, and we are currently checking length (previously treated as a packed array but it is actually a sparse array). Therefore we can check if the current index of the array is null rather than checking the size of the array.

The second issue addresses the blank query_params field. When the data explorer script does not require any params to be passed in via the automation script then it will have a nil value, however it should be defaulted to {} within the plugin.

To improve formatting the markdown table for PMs is now aligned to left and where values are substituted (for example user_id becomes username) we then include the id within brackets, for example:
user_id becomes username (user_id)
This commit is contained in:
David Battersby
2023-07-04 14:18:56 +08:00
committed by GitHub
parent 7bf6c7d3a3
commit ee308c637c
3 changed files with 38 additions and 4 deletions
+1 -1
View File
@@ -100,7 +100,7 @@ after_initialize do
script do |_, fields, automation|
recipients = Array(fields.dig("recipients", "value"))
query_id = fields.dig("query_id", "value")
query_params = fields.dig("query_params", "value")
query_params = fields.dig("query_params", "value") || {}
unless SiteSetting.data_explorer_enabled
Rails.logger.warn "#{DiscourseDataExplorer.plugin_name} - plugin must be enabled to run automation #{automation.id}"