Skip to content

Commit 57da5cc

Browse files
committed
change "bitbucket" to "bitbucket-cloud"
1 parent 84509a1 commit 57da5cc

File tree

4 files changed

+37
-7
lines changed

4 files changed

+37
-7
lines changed

coderd/externalauth/externalauth.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -495,8 +495,18 @@ func ConvertConfig(entries []codersdk.ExternalAuthConfig, accessURL *url.URL) ([
495495

496496
// applyDefaultsToConfig applies defaults to the config entry.
497497
func applyDefaultsToConfig(config *codersdk.ExternalAuthConfig) {
498+
configType := codersdk.EnhancedExternalAuthProvider(config.Type)
499+
if configType == "bitbucket" {
500+
// For backwards compatibility, we need to support the "bitbucket" string.
501+
configType = codersdk.EnhancedExternalAuthProviderBitBucketCloud
502+
defer func() {
503+
// The config type determines the config ID (if unset). So change the legacy
504+
// type to the correct new type after the defaults have been configured.
505+
config.Type = string(codersdk.EnhancedExternalAuthProviderBitBucketCloud)
506+
}()
507+
}
498508
// If static defaults exist, apply them.
499-
if defaults, ok := staticDefaults[codersdk.EnhancedExternalAuthProvider(config.Type)]; ok {
509+
if defaults, ok := staticDefaults[configType]; ok {
500510
copyDefaultSettings(config, defaults)
501511
return
502512
}
@@ -607,7 +617,7 @@ var staticDefaults = map[codersdk.EnhancedExternalAuthProvider]codersdk.External
607617
Regex: `^(https?://)?dev\.azure\.com(/.*)?$`,
608618
Scopes: []string{"vso.code_write"},
609619
},
610-
codersdk.EnhancedExternalAuthProviderBitBucket: {
620+
codersdk.EnhancedExternalAuthProviderBitBucketCloud: {
611621
AuthURL: "https://bitbucket.org/site/oauth2/authorize",
612622
TokenURL: "https://bitbucket.org/site/oauth2/access_token",
613623
ValidateURL: "https://api.bitbucket.org/2.0/user",

coderd/externalauth/externalauth_internal_test.go

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func Test_bitbucketServerConfigDefaults(t *testing.T) {
1919
}{
2020
{
2121
// Very few fields are statically defined for Bitbucket Server.
22-
name: "EmpyBitbucketServer",
22+
name: "EmptyBitbucketServer",
2323
config: &codersdk.ExternalAuthConfig{
2424
Type: bbType,
2525
},
@@ -50,6 +50,25 @@ func Test_bitbucketServerConfigDefaults(t *testing.T) {
5050
DisplayIcon: "/icon/bitbucket.svg",
5151
},
5252
},
53+
{
54+
// Ensure backwards compatibility. The type should update to "bitbucket-cloud",
55+
// but the ID and other fields should remain the same.
56+
name: "BitbucketLegacy",
57+
config: &codersdk.ExternalAuthConfig{
58+
Type: "bitbucket",
59+
},
60+
expected: codersdk.ExternalAuthConfig{
61+
Type: string(codersdk.EnhancedExternalAuthProviderBitBucketCloud),
62+
ID: "bitbucket", // Legacy ID remains unchanged
63+
AuthURL: "https://bitbucket.org/site/oauth2/authorize",
64+
TokenURL: "https://bitbucket.org/site/oauth2/access_token",
65+
ValidateURL: "https://api.bitbucket.org/2.0/user",
66+
DisplayName: "BitBucket",
67+
DisplayIcon: "/icon/bitbucket.svg",
68+
Regex: `^(https?://)?bitbucket\.org(/.*)?$`,
69+
Scopes: []string{"account", "repository:write"},
70+
},
71+
},
5372
}
5473
for _, tt := range tests {
5574
tt := tt

coderd/workspaceagents.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2452,7 +2452,8 @@ func createExternalAuthResponse(typ, token string, extra pqtype.NullRawMessage)
24522452
Username: "oauth2",
24532453
Password: token,
24542454
}
2455-
case string(codersdk.EnhancedExternalAuthProviderBitBucket), string(codersdk.EnhancedExternalAuthProviderBitBucketServer):
2455+
case string(codersdk.EnhancedExternalAuthProviderBitBucketCloud), string(codersdk.EnhancedExternalAuthProviderBitBucketServer):
2456+
// The string "bitbucket" was a legacy parameter that needs to still be supported.
24562457
// https://support.atlassian.com/bitbucket-cloud/docs/use-oauth-on-bitbucket-cloud/#Cloning-a-repository-with-an-access-token
24572458
resp = agentsdk.ExternalAuthResponse{
24582459
Username: "x-token-auth",

codersdk/externalauth.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func (e EnhancedExternalAuthProvider) Git() bool {
2121
switch e {
2222
case EnhancedExternalAuthProviderGitHub,
2323
EnhancedExternalAuthProviderGitLab,
24-
EnhancedExternalAuthProviderBitBucket,
24+
EnhancedExternalAuthProviderBitBucketCloud,
2525
EnhancedExternalAuthProviderBitBucketServer,
2626
EnhancedExternalAuthProviderAzureDevops:
2727
return true
@@ -34,9 +34,9 @@ const (
3434
EnhancedExternalAuthProviderAzureDevops EnhancedExternalAuthProvider = "azure-devops"
3535
EnhancedExternalAuthProviderGitHub EnhancedExternalAuthProvider = "github"
3636
EnhancedExternalAuthProviderGitLab EnhancedExternalAuthProvider = "gitlab"
37-
// EnhancedExternalAuthProviderBitBucket is the Bitbucket Cloud provider.
37+
// EnhancedExternalAuthProviderBitBucketCloud is the Bitbucket Cloud provider.
3838
// Not to be confused with the self-hosted 'EnhancedExternalAuthProviderBitBucketServer'
39-
EnhancedExternalAuthProviderBitBucket EnhancedExternalAuthProvider = "bitbucket"
39+
EnhancedExternalAuthProviderBitBucketCloud EnhancedExternalAuthProvider = "bitbucket-cloud"
4040
EnhancedExternalAuthProviderBitBucketServer EnhancedExternalAuthProvider = "bitbucket-server"
4141
EnhancedExternalAuthProviderSlack EnhancedExternalAuthProvider = "slack"
4242
EnhancedExternalAuthProviderJFrog EnhancedExternalAuthProvider = "jfrog"

0 commit comments

Comments
 (0)