mirror of
https://github.com/coreos/prometheus-operator.git
synced 2026-02-05 06:45:27 +01:00
pkg/alertmanager: add URL validation for Jira receiver (#8230)
Adds URL validation for Jira receiver configuration fields when loaded from secrets. This ensures URLs are validated regardless of whether configurations come from CustomResources or secrets.
This commit is contained in:
@@ -2897,6 +2897,11 @@ func (jc *jiraConfig) sanitize(amVersion semver.Version, logger *slog.Logger) er
|
||||
}
|
||||
}
|
||||
}
|
||||
if jc.APIURL != "" {
|
||||
if _, err := validation.ValidateURL(jc.APIURL); err != nil {
|
||||
return fmt.Errorf("invalid 'api_url': %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
return jc.HTTPConfig.sanitize(amVersion, logger)
|
||||
}
|
||||
|
||||
@@ -6069,6 +6069,24 @@ func TestSanitizeJiraConfig(t *testing.T) {
|
||||
},
|
||||
expectErr: true,
|
||||
},
|
||||
{
|
||||
name: "jira_configs invalid api_url returns error",
|
||||
againstVersion: versionJiraAllowed,
|
||||
in: &alertmanagerConfig{
|
||||
Receivers: []*receiver{
|
||||
{
|
||||
JiraConfigs: []*jiraConfig{
|
||||
{
|
||||
APIURL: "not-a-valid-url",
|
||||
Project: "Monitoring",
|
||||
IssueType: "Bug",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
expectErr: true,
|
||||
},
|
||||
{
|
||||
name: "jira_configs allows for supported versions",
|
||||
againstVersion: versionJiraAllowed,
|
||||
|
||||
Reference in New Issue
Block a user