Skip to content

Commit 856c59a

Browse files
grv87timofurrer
authored andcommitted
feat: add api_url option for Jira service
Also mark project_key in docs as optional
1 parent 2b3e9c2 commit 856c59a

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

internal/provider/resource_gitlab_service_jira.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ var _ = registerResource("gitlab_service_jira", func() *schema.Resource {
5555
Required: true,
5656
ValidateFunc: validateURLFunc,
5757
},
58+
"api_url": {
59+
Type: schema.TypeString,
60+
Optional: true,
61+
ValidateFunc: validateURLFunc,
62+
Default: "",
63+
},
5864
"project_key": {
5965
Description: "The short identifier for your JIRA project, all uppercase, e.g., PROJ.",
6066
Type: schema.TypeString,
@@ -185,6 +191,9 @@ func resourceGitlabServiceJiraRead(ctx context.Context, d *schema.ResourceData,
185191
if v := jiraService.Properties.URL; v != "" {
186192
d.Set("url", v)
187193
}
194+
if v := jiraService.Properties.APIURL; v != "" {
195+
d.Set("api_url", v)
196+
}
188197
if v := jiraService.Properties.Username; v != "" {
189198
d.Set("username", v)
190199
}
@@ -244,6 +253,9 @@ func expandJiraOptions(d *schema.ResourceData) (*gitlab.SetJiraServiceOptions, e
244253
setJiraServiceOptions.CommentOnEventEnabled = gitlab.Bool(d.Get("comment_on_event_enabled").(bool))
245254

246255
// Set optional properties
256+
if val := d.Get("api_url"); val != nil {
257+
setJiraServiceOptions.APIURL = gitlab.String(val.(string))
258+
}
247259
if val := d.Get("jira_issue_transition_id"); val != nil {
248260
setJiraServiceOptions.JiraIssueTransitionID = gitlab.String(val.(string))
249261
}

internal/provider/resource_gitlab_service_jira_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ func TestAccGitlabServiceJira_basic(t *testing.T) {
2626
Check: resource.ComposeTestCheckFunc(
2727
testAccCheckGitlabServiceJiraExists(jiraResourceName, &jiraService),
2828
resource.TestCheckResourceAttr(jiraResourceName, "url", "https://test.com"),
29+
resource.TestCheckResourceAttr(jiraResourceName, "api_url", "https://test.com/api"),
2930
resource.TestCheckResourceAttr(jiraResourceName, "username", "user1"),
3031
resource.TestCheckResourceAttr(jiraResourceName, "password", "mypass"),
3132
resource.TestCheckResourceAttr(jiraResourceName, "commit_events", "true"),
@@ -39,6 +40,7 @@ func TestAccGitlabServiceJira_basic(t *testing.T) {
3940
Check: resource.ComposeTestCheckFunc(
4041
testAccCheckGitlabServiceJiraExists(jiraResourceName, &jiraService),
4142
resource.TestCheckResourceAttr(jiraResourceName, "url", "https://testurl.com"),
43+
resource.TestCheckResourceAttr(jiraResourceName, "api_url", "https://testurl.com/rest"),
4244
resource.TestCheckResourceAttr(jiraResourceName, "username", "user2"),
4345
resource.TestCheckResourceAttr(jiraResourceName, "password", "mypass_update"),
4446
resource.TestCheckResourceAttr(jiraResourceName, "jira_issue_transition_id", "3"),
@@ -53,6 +55,7 @@ func TestAccGitlabServiceJira_basic(t *testing.T) {
5355
Check: resource.ComposeTestCheckFunc(
5456
testAccCheckGitlabServiceJiraExists(jiraResourceName, &jiraService),
5557
resource.TestCheckResourceAttr(jiraResourceName, "url", "https://test.com"),
58+
resource.TestCheckResourceAttr(jiraResourceName, "api_url", "https://test.com/api"),
5659
resource.TestCheckResourceAttr(jiraResourceName, "username", "user1"),
5760
resource.TestCheckResourceAttr(jiraResourceName, "password", "mypass"),
5861
resource.TestCheckResourceAttr(jiraResourceName, "commit_events", "true"),
@@ -162,6 +165,7 @@ resource "gitlab_project" "foo" {
162165
resource "gitlab_service_jira" "jira" {
163166
project = "${gitlab_project.foo.id}"
164167
url = "https://test.com"
168+
api_url = "https://test.com/api"
165169
username = "user1"
166170
password = "mypass"
167171
commit_events = true
@@ -184,6 +188,7 @@ resource "gitlab_project" "foo" {
184188
resource "gitlab_service_jira" "jira" {
185189
project = "${gitlab_project.foo.id}"
186190
url = "https://testurl.com"
191+
api_url = "https://testurl.com/rest"
187192
username = "user2"
188193
password = "mypass_update"
189194
jira_issue_transition_id = "3"

0 commit comments

Comments
 (0)