You have another host object which has vars.object specified, but they key org doesn’t exist in it.
Try adding a sanity check plus debug logging into the apply rule to figure out where this comes from.
if (!config.contains("org")) {
log(LogWarning, "config", "Host " + host.name + " does not provide the 'org' key in the 'object' dictionary.")
} else {
action_url = "<redacted>"+config.org+"<redacted>"+config.project
}
Run a manual config validation then to have this logged into the terminal.
So what I was getting in the config was just the string value , each time for a different property. I need to play a bit with the syntax to understand how exactly specify what I want.
In either way, if your apply rule relies on the given values, you need to have sanitizers in place. Your users or scripts may use the generic attribute name “object” in different meanings. I’d also opt for a different attribute name here to avoid possible complications with “object” being either a dictionary, array or string.