This is an automated email from the ASF dual-hosted git repository. dpavlov pushed a commit to branch ignite-11688 in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
commit 94959c541978499338a20ed2184ec5705d4c69eb Author: Dmitriy Pavlov <dpav...@apache.org> AuthorDate: Fri Apr 5 15:26:29 2019 +0300 IGNITE-11688: Default tracked branch name is now overridable in server config --- .../apache/ignite/ci/github/pure/GitHubConnectionImpl.java | 7 +++++-- .../ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java | 6 +++--- .../org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java | 5 +++++ .../org/apache/ignite/ci/tcbot/conf/TcServerConfig.java | 13 +++++++++++++ .../org/apache/ignite/ci/tcbot/issue/IssueDetector.java | 4 ++-- .../ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java | 8 ++++++-- .../apache/ignite/ci/web/rest/parms/FullQueryParams.java | 1 - 7 files changed, 34 insertions(+), 10 deletions(-) diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java index a7ff550..ddfce1c 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/github/pure/GitHubConnectionImpl.java @@ -141,7 +141,10 @@ class GitHubConnectionImpl implements IGitHubConnection { /** {@inheritDoc} */ @Override public String gitApiUrl() { - return gitApiUrl; + if (gitApiUrl == null) + return null; + + return gitApiUrl.endsWith("/") ? gitApiUrl : gitApiUrl + "/"; } /** {@inheritDoc} */ @@ -150,7 +153,7 @@ class GitHubConnectionImpl implements IGitHubConnection { @Nullable AtomicReference<String> outLinkNext) { Preconditions.checkState(!isNullOrEmpty(gitApiUrl), "Git API URL is not configured for this server."); - String url = fullUrl != null ? fullUrl : gitApiUrl + "pulls?sort=updated&direction=desc"; + String url = fullUrl != null ? fullUrl : gitApiUrl() + "pulls?sort=updated&direction=desc"; HashMap<String, String> rspHeaders = new HashMap<>(); if (outLinkNext != null) { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java index 5648057..a261730 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/TrackedBranchChainsProcessor.java @@ -27,6 +27,7 @@ import org.apache.ignite.ci.analysis.mode.ProcessLogsMode; import org.apache.ignite.ci.conf.BranchTracked; import org.apache.ignite.ci.di.AutoProfiling; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; +import org.apache.ignite.ci.tcbot.conf.TcServerConfig; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited; import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider; import org.apache.ignite.ci.teamcity.ignited.SyncMode; @@ -35,7 +36,6 @@ import org.apache.ignite.ci.user.ICredentialsProv; import org.apache.ignite.ci.web.model.current.ChainAtServerCurrentStatus; import org.apache.ignite.ci.web.model.current.TestFailuresSummary; import org.apache.ignite.ci.web.model.long_running.FullLRTestsSummary; -import org.apache.ignite.ci.web.rest.parms.FullQueryParams; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -68,7 +68,7 @@ public class TrackedBranchChainsProcessor { final TestFailuresSummary res = new TestFailuresSummary(); final AtomicInteger runningUpdates = new AtomicInteger(); - final String branchNn = isNullOrEmpty(branch) ? FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME : branch; + final String branchNn = isNullOrEmpty(branch) ? TcServerConfig.DEFAULT_TRACKED_BRANCH_NAME : branch; res.setTrackedBranch(branchNn); final BranchTracked tracked = tcBotConfig.getTrackedBranches().getBranchMandatory(branchNn); @@ -143,7 +143,7 @@ public class TrackedBranchChainsProcessor { ICredentialsProv creds) { FullLRTestsSummary summary = new FullLRTestsSummary(); - final String branchNn = isNullOrEmpty(branch) ? FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME : branch; + final String branchNn = isNullOrEmpty(branch) ? TcServerConfig.DEFAULT_TRACKED_BRANCH_NAME : branch; final BranchTracked tracked = tcBotConfig.getTrackedBranches().getBranchMandatory(branchNn); tracked.chains.stream() diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java index 8f65ee8..7c5185f 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/ITcServerConfig.java @@ -35,4 +35,9 @@ public interface ITcServerConfig { @NotNull public String host(); @NotNull public String logsDirectory(); + + /** + * @return + */ + @NotNull public String defaultTrackedBranch(); } diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java index 81ceea2..1c42a11 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/conf/TcServerConfig.java @@ -27,6 +27,7 @@ import org.jetbrains.annotations.Nullable; * Teamcity connection configuration or reference to another config. */ public class TcServerConfig implements ITcServerConfig { + public static final String DEFAULT_TRACKED_BRANCH_NAME = "master"; private static final String DEFAULT_HOST = "https://ci.ignite.apache.org/"; /** TC server name. */ @@ -44,6 +45,9 @@ public class TcServerConfig implements ITcServerConfig { /** Downloaded build logs relative path. */ @Nullable private String logsDir; + /** Default tracked branch. */ + @Nullable private String defaultTrackedBranch; + public TcServerConfig() { } @@ -101,7 +105,16 @@ public class TcServerConfig implements ITcServerConfig { return props != null ? props.getProperty(HelperConfig.HOST, DEFAULT_HOST) : DEFAULT_HOST; + } + + /** + * @return tracked branch name to be used for this server for PRs check + */ + @Override @NotNull public String defaultTrackedBranch() { + if (!Strings.isNullOrEmpty(defaultTrackedBranch)) + return defaultTrackedBranch; + return DEFAULT_TRACKED_BRANCH_NAME; } /** diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java index 4828867..48d965c 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/issue/IssueDetector.java @@ -47,6 +47,7 @@ import org.apache.ignite.ci.mail.EmailSender; import org.apache.ignite.ci.mail.SlackSender; import org.apache.ignite.ci.tcbot.chain.TrackedBranchChainsProcessor; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; +import org.apache.ignite.ci.tcbot.conf.TcServerConfig; import org.apache.ignite.ci.tcbot.user.IUserStorage; import org.apache.ignite.ci.teamcity.ignited.IRunHistory; import org.apache.ignite.ci.teamcity.ignited.IStringCompactor; @@ -61,7 +62,6 @@ import org.apache.ignite.ci.web.model.current.ChainAtServerCurrentStatus; import org.apache.ignite.ci.web.model.current.SuiteCurrentStatus; import org.apache.ignite.ci.web.model.current.TestFailure; import org.apache.ignite.ci.web.model.current.TestFailuresSummary; -import org.apache.ignite.ci.web.rest.parms.FullQueryParams; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -159,7 +159,7 @@ public class IssueDetector { .forEach(issue -> { List<String> addrs = new ArrayList<>(); - if (slackCh != null && FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME.equals(issue.trackedBranchName)) + if (slackCh != null && TcServerConfig.DEFAULT_TRACKED_BRANCH_NAME.equals(issue.trackedBranchName)) addrs.add(SLACK + "#" + slackCh); for (TcHelperUser next : userForPossibleNotifications) { diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java index 6ca04b3..658efed 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/TcBotTriggerAndSignOffService.java @@ -51,6 +51,7 @@ import org.apache.ignite.ci.tcbot.chain.PrChainsProcessor; import org.apache.ignite.ci.tcbot.conf.IGitHubConfig; import org.apache.ignite.ci.tcbot.conf.IJiraServerConfig; import org.apache.ignite.ci.tcbot.conf.ITcBotConfig; +import org.apache.ignite.ci.tcbot.conf.ITcServerConfig; import org.apache.ignite.ci.tcmodel.mute.MuteInfo; import org.apache.ignite.ci.tcmodel.result.Build; import org.apache.ignite.ci.teamcity.ignited.BuildRefCompacted; @@ -81,7 +82,7 @@ import static org.apache.ignite.ci.observer.BuildsInfo.CANCELLED_STATUS; import static org.apache.ignite.ci.observer.BuildsInfo.FINISHED_STATUS; import static org.apache.ignite.ci.observer.BuildsInfo.RUNNING_STATUS; import static org.apache.ignite.ci.util.XmlUtil.xmlEscapeText; -import static org.apache.ignite.ci.web.rest.parms.FullQueryParams.DEFAULT_TRACKED_BRANCH_NAME; +import static org.apache.ignite.ci.tcbot.conf.TcServerConfig.DEFAULT_TRACKED_BRANCH_NAME; /** * TC Bot Visa Facade. Provides method for TC Bot Visa obtaining. Contains features for adding comment to the ticket @@ -572,8 +573,11 @@ public class TcBotTriggerAndSignOffService { @NotNull public String findDefaultBranchBuildType(String srvId) { StringBuilder buildTypeId = new StringBuilder(); + ITcServerConfig tcCfg = cfg.getTeamcityConfig(srvId); + String trBranch = tcCfg.defaultTrackedBranch(); + cfg.getTrackedBranches() - .get(DEFAULT_TRACKED_BRANCH_NAME) + .get(trBranch) .ifPresent( b -> b.getChainsStream() .filter(c -> Objects.equals(srvId, c.serverId)) diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/parms/FullQueryParams.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/parms/FullQueryParams.java index 323691b..11d0b56 100644 --- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/parms/FullQueryParams.java +++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/parms/FullQueryParams.java @@ -27,7 +27,6 @@ import org.jetbrains.annotations.Nullable; * Contains maximum combination of query parameters */ public class FullQueryParams { - public static final String DEFAULT_TRACKED_BRANCH_NAME = "master"; //see definitions in Index.html javascript public static final String HISTORY = "History";