Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions github/resource_github_repository_autolink_reference.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,11 @@ func resourceGithubRepositoryAutolinkReference() *schema.Resource {
Description: "The repository name",
},
"key_prefix": {
Type: schema.TypeString,
Required: true,
ForceNew: true,
Description: "This prefix appended by a number will generate a link any time it is found in an issue, pull request, or commit",
Type: schema.TypeString,
Required: true,
ForceNew: true,
Description: "This prefix appended by a number will generate a link any time it is found in an issue, pull request, or commit",
ValidateDiagFunc: validation.ToDiagFunc(validation.StringMatch(regexp.MustCompile(`^.*?[^\d]$`), "must not end with a number")),
Comment thread
Jwels1 marked this conversation as resolved.
Outdated
},
"target_url_template": {
Type: schema.TypeString,
Expand Down
29 changes: 29 additions & 0 deletions github/resource_github_repository_autolink_reference_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,35 @@ func TestAccGithubRepositoryAutolinkReference(t *testing.T) {
})
})

t.Run("errors when key_prefix ends with a number", func(t *testing.T) {
randomID := acctest.RandStringFromCharSet(5, acctest.CharSetAlphaNum)
repoName := fmt.Sprintf("%srepo-autolink-%s", testResourcePrefix, randomID)
config := fmt.Sprintf(`
resource "github_repository" "test" {
name = "%s"
description = "Test autolink creation"
}

resource "github_repository_autolink_reference" "autolink_invalid" {
repository = github_repository.test.name

key_prefix = "TEST-1"
target_url_template = "https://example.com/TEST-<num>"
}
`, repoName)

resource.Test(t, resource.TestCase{
PreCheck: func() { skipUnauthenticated(t) },
ProviderFactories: providerFactories,
Steps: []resource.TestStep{
{
Config: config,
ExpectError: regexp.MustCompile(`must not end with a number`),
},
},
})
})

t.Run("deletes repository autolink reference without error", func(t *testing.T) {
randomID := acctest.RandStringFromCharSet(5, acctest.CharSetAlphaNum)
repoName := fmt.Sprintf("%srepo-autolink-%s", testResourcePrefix, randomID)
Expand Down