diff options
author | Maxim Epishchev <epishev@garant.ru> | 2016-02-01 18:21:01 +0300 |
---|---|---|
committer | Maxim Epishchev <epishev@garant.ru> | 2016-02-01 18:29:21 +0300 |
commit | 06eccb61d2aa83b9d3a7e94724a6d207011de2d4 (patch) | |
tree | f54df05eb12afdb25366b4c9bfd5a0b2a5b4ca2e /src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java | |
parent | 6267e094334fe46aa60d17a0956e28e954b94eed (diff) | |
download | bbprb-06eccb61d2aa83b9d3a7e94724a6d207011de2d4.tar.gz |
Add tests for integration CredentialsSupport functional
By default we using username/password from original text fields (config.jelly).
If credentials ID provided in plugin settings - using them for BitBucket API auth.
Diffstat (limited to 'src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java')
-rw-r--r-- | src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java index d8c736e..23b0607 100644 --- a/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java +++ b/src/main/java/bitbucketpullrequestbuilder/bitbucketpullrequestbuilder/BitbucketRepository.java @@ -23,7 +23,7 @@ import jenkins.scm.api.SCMSourceOwner; import jenkins.scm.api.SCMSourceOwners; import org.apache.commons.lang.StringUtils; -static com.cloudbees.plugins.credentials.CredentialsMatchers.instanceOf; +import static com.cloudbees.plugins.credentials.CredentialsMatchers.instanceOf; /** * Created by nishio @@ -40,33 +40,46 @@ public class BitbucketRepository { private BitbucketPullRequestsBuilder builder; private BitbucketBuildTrigger trigger; private ApiClient client; - + public BitbucketRepository(String projectPath, BitbucketPullRequestsBuilder builder) { this.projectPath = projectPath; this.builder = builder; } public void init() { - this.init(null); + this.init(null, null); + } + + public <T extends ApiClient.HttpClientFactory> void init(Class<T> httpFactory) { + this.init(null, httpFactory); } public void init(ApiClient client) { + this.init(client, null); + } + + public <T extends ApiClient.HttpClientFactory> void init(ApiClient client, Class<T> httpFactory) { this.trigger = this.builder.getTrigger(); - String username = trigger.getUsername(); - String password = trigger.getPassword(); - StandardUsernamePasswordCredentials credentials = getCredentials(trigger.getCredentialsId()); - if (credentials != null) { - username = credentials.getUsername(); - password = credentials.getPassword().getPlainText(); - } - this.client = (client == null) ? new ApiClient( + + if (client == null) { + String username = trigger.getUsername(); + String password = trigger.getPassword(); + StandardUsernamePasswordCredentials credentials = getCredentials(trigger.getCredentialsId()); + if (credentials != null) { + username = credentials.getUsername(); + password = credentials.getPassword().getPlainText(); + } + this.client = new ApiClient( username, password, trigger.getRepositoryOwner(), trigger.getRepositoryName(), trigger.getCiKey(), - trigger.getCiName() - ) : client; + trigger.getCiName(), + httpFactory + ); + + } else this.client = client; } public Collection<Pullrequest> getTargetPullRequests() { @@ -80,6 +93,10 @@ public class BitbucketRepository { } return targetPullRequests; } + + public ApiClient getClient() { + return this.client; + } public void addFutureBuildTasks(Collection<Pullrequest> pullRequests) { for(Pullrequest pullRequest : pullRequests) { |