Skip to content

Commit c59272f

Browse files
authored
[JENKINS-75762] The Bitbucket global configuration page does not list any available endpoints type (#1069)
Backport from master the fix for the Describable of BitbucketEndpoint configuration
1 parent f7f546e commit c59272f

File tree

5 files changed

+20
-7
lines changed

5 files changed

+20
-7
lines changed

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/BitbucketGitSCMBuilder.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketRepository;
3030
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketRepositoryProtocol;
3131
import com.cloudbees.jenkins.plugins.bitbucket.api.PullRequestBranchType;
32+
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpoint;
3233
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
33-
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.AbstractBitbucketEndpoint;
3434
import com.cloudbees.jenkins.plugins.bitbucket.endpoints.BitbucketServerEndpoint;
3535
import com.cloudbees.jenkins.plugins.bitbucket.impl.extension.FallbackToOtherRepositoryGitSCMExtension;
3636
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketApiUtils;
@@ -112,11 +112,11 @@ public BitbucketGitSCMBuilder(@NonNull BitbucketSCMSource scmSource, @NonNull SC
112112
this.scmSource = scmSource;
113113

114114
String serverURL = scmSource.getServerUrl();
115-
AbstractBitbucketEndpoint endpoint = (AbstractBitbucketEndpoint) BitbucketEndpointProvider
115+
BitbucketEndpoint endpoint = BitbucketEndpointProvider
116116
.lookupEndpoint(serverURL)
117117
.orElse(new BitbucketServerEndpoint(null, serverURL, false, null, false, null));
118118

119-
String repositoryURL = endpoint.getRepositoryUrl(scmSource.getRepoOwner(), scmSource.getRepository());
119+
String repositoryURL = endpoint.getRepositoryURL(scmSource.getRepoOwner(), scmSource.getRepository());
120120
if (BitbucketApiUtils.isCloud(endpoint.getServerURL())) {
121121
withBrowser(new BitbucketWeb(repositoryURL));
122122
} else {

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/endpoints/AbstractBitbucketEndpoint.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import com.cloudbees.jenkins.plugins.bitbucket.api.BitbucketAuthenticator;
2727
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpoint;
28+
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointDescriptor;
2829
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
2930
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.BitbucketCredentials;
3031
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.URLUtils;
@@ -286,7 +287,7 @@ public BitbucketAuthenticator authenticator() {
286287
* {@inheritDoc}
287288
*/
288289
@Override
289-
public AbstractBitbucketEndpointDescriptor getDescriptor() {
290-
return (AbstractBitbucketEndpointDescriptor) Jenkins.get().getDescriptorOrDie(getClass());
290+
public BitbucketEndpointDescriptor getDescriptor() {
291+
return (BitbucketEndpointDescriptor) Jenkins.get().getDescriptorOrDie(getClass());
291292
}
292293
}

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/endpoints/BitbucketCloudEndpoint.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
*/
2424
package com.cloudbees.jenkins.plugins.bitbucket.endpoints;
2525

26+
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointDescriptor;
2627
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.EndpointType;
2728
import com.cloudbees.jenkins.plugins.bitbucket.client.BitbucketCloudApiClient;
2829
import com.cloudbees.plugins.credentials.common.StandardCredentials;
@@ -158,6 +159,11 @@ public EndpointType getType() {
158159
return EndpointType.CLOUD;
159160
}
160161

162+
@Override
163+
public BitbucketEndpointDescriptor getDescriptor() {
164+
return new DescriptorImpl();
165+
}
166+
161167
/**
162168
* Our descriptor.
163169
*/

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/endpoints/BitbucketEndpointConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ public boolean configure(StaplerRequest2 req, JSONObject json) throws FormExcept
156156
* @return the list of endpoints
157157
*/
158158
@NonNull
159-
public List<AbstractBitbucketEndpoint /*BitbucketEndpoint*/> getEndpoints() {
159+
public List<BitbucketEndpoint> getEndpoints() {
160160
// make a local copy so if changes in meanwhile you do not get NPE
161-
List/*<BitbucketEndpoint>*/ localEndpoints = this.endpoints;
161+
List<BitbucketEndpoint> localEndpoints = this.endpoints;
162162
return CollectionUtils.isEmpty(localEndpoints)
163163
? List.of(new BitbucketCloudEndpoint())
164164
: Collections.unmodifiableList(localEndpoints);

src/main/java/com/cloudbees/jenkins/plugins/bitbucket/endpoints/BitbucketServerEndpoint.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
*/
2424
package com.cloudbees.jenkins.plugins.bitbucket.endpoints;
2525

26+
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointDescriptor;
2627
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.BitbucketEndpointProvider;
2728
import com.cloudbees.jenkins.plugins.bitbucket.api.endpoint.EndpointType;
2829
import com.cloudbees.jenkins.plugins.bitbucket.impl.util.URLUtils;
@@ -262,6 +263,11 @@ public void setWebhookImplementation(@NonNull BitbucketServerWebhookImplementati
262263
this.webhookImplementation = requireNonNull(webhookImplementation);
263264
}
264265

266+
@Override
267+
public BitbucketEndpointDescriptor getDescriptor() {
268+
return new DescriptorImpl();
269+
}
270+
265271
/**
266272
* Our descriptor.
267273
*/

0 commit comments

Comments
 (0)