in lib/notifiers/jsonpath.go [35:56]
func newResolver(cfg *Config) (BindingResolver, error) {
jps := map[string]*inputAndJSONPath{}
for name, path := range cfg.Spec.Notification.Params {
p, err := makeJSONPath(path)
if err != nil {
return nil, fmt.Errorf("failed to derive substitution path from %q: %v", path, err)
}
j := jsonpath.New(name).AllowMissingKeys(false)
if err := j.Parse(p); err != nil {
return nil, fmt.Errorf("failed to parse JSONPath expression from %q: %v", path, err)
}
jps[name] = &inputAndJSONPath{
j: j,
p: path, // Use the user-provided path so error messages are easier to understand.
}
}
return &jpResolver{
jps: jps,
cfg: cfg,
}, nil
}