Skip to content

Commit 3b349dc

Browse files
committed
new jira integration config
1 parent 33ee8b8 commit 3b349dc

File tree

3 files changed

+42
-8
lines changed

3 files changed

+42
-8
lines changed

pkg/merger/merger.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ func MergeConfigFiles(
5050
if config.Integrations.Jira == nil {
5151
config.Integrations.Jira = extraConfig.Integrations.Jira
5252
} else {
53+
// enabled/disabled
54+
if extraConfig.Integrations.Jira.Enabled != nil {
55+
config.Integrations.Jira.Enabled = extraConfig.Integrations.Jira.Enabled
56+
config.Integrations.Jira.Disabled = !*extraConfig.Integrations.Jira.Enabled
57+
}
5358
if extraConfig.Integrations.Jira.ProjectKey != "" {
5459
config.Integrations.Jira.ProjectKey = extraConfig.Integrations.Jira.ProjectKey
5560
}
@@ -68,6 +73,18 @@ func MergeConfigFiles(
6873
if extraConfig.Integrations.Jira.PriorityThreshold != "" {
6974
config.Integrations.Jira.PriorityThreshold = extraConfig.Integrations.Jira.PriorityThreshold
7075
}
76+
if len(extraConfig.Integrations.Jira.Labels) > 0 {
77+
config.Integrations.Jira.Labels = extraConfig.Integrations.Jira.Labels
78+
}
79+
if extraConfig.Integrations.Jira.CommentOnClose != nil {
80+
config.Integrations.Jira.CommentOnClose = extraConfig.Integrations.Jira.CommentOnClose
81+
}
82+
if extraConfig.Integrations.Jira.TitleTemplate != "" {
83+
config.Integrations.Jira.TitleTemplate = extraConfig.Integrations.Jira.TitleTemplate
84+
}
85+
if extraConfig.Integrations.Jira.DescriptionTemplate != "" {
86+
config.Integrations.Jira.DescriptionTemplate = extraConfig.Integrations.Jira.DescriptionTemplate
87+
}
7188

7289
if extraConfig.Integrations.Jira.Priorities != nil {
7390
config.Integrations.Jira.Priorities = extraConfig.Integrations.Jira.Priorities

pkg/models/integrations.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ type Integrations struct {
55
}
66

77
type Jira struct {
8-
Disabled bool `yaml:"disabled,omitempty"`
9-
ProjectKey string `yaml:"project_key,omitempty"`
10-
IssueType string `yaml:"issue_type,omitempty"`
11-
SeverityThreshold string `yaml:"severity_threshold,omitempty"`
12-
PriorityThreshold string `yaml:"priority_threshold,omitempty"`
13-
OnFixTransition string `yaml:"on_fix_transition,omitempty"`
14-
Priorities *Priorities `yaml:"priorities,omitempty"`
15-
Assignee *Assignee `yaml:"assignee,omitempty"`
8+
Disabled bool `yaml:"disabled,omitempty"`
9+
Enabled *bool `yaml:"enabled,omitempty"`
10+
ProjectKey string `yaml:"project_key,omitempty"`
11+
IssueType string `yaml:"issue_type,omitempty"`
12+
SeverityThreshold string `yaml:"severity_threshold,omitempty"`
13+
PriorityThreshold string `yaml:"priority_threshold,omitempty"`
14+
OnFixTransition string `yaml:"on_fix_transition,omitempty"`
15+
CommentOnClose *bool `yaml:"comment_on_close,omitempty"`
16+
Labels []string `yaml:"labels,omitempty"`
17+
TitleTemplate string `yaml:"title_template,omitempty"`
18+
DescriptionTemplate string `yaml:"description_template,omitempty"`
19+
Priorities *Priorities `yaml:"priorities,omitempty"`
20+
Assignee *Assignee `yaml:"assignee,omitempty"`
1621
}
1722

1823
// Mapping of Nullify Finding severities to Jira Priorities.

pkg/parser/parse.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,18 @@ func sanitizeConfig(config *models.Configuration) {
3030
config.PriorityThreshold = strings.ToUpper(config.PriorityThreshold)
3131
}
3232

33+
if config.Integrations.Jira != nil {
34+
j := config.Integrations.Jira
35+
// Normalize Jira thresholds
36+
j.SeverityThreshold = strings.ToUpper(strings.Trim(j.SeverityThreshold, " "))
37+
j.PriorityThreshold = strings.ToUpper(strings.Trim(j.PriorityThreshold, " "))
38+
// Map jira.enabled to Disabled for internal use
39+
if j.Enabled != nil {
40+
j.Disabled = !*j.Enabled
41+
}
42+
config.Integrations.Jira = j
43+
}
44+
3345
for name, n := range config.Notifications {
3446
if n.Events.All != nil {
3547
n.Events.All.MinimumSeverity = strings.ToUpper(n.Events.All.MinimumSeverity)

0 commit comments

Comments
 (0)