You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2019/01/14 15:03:34 UTC
[ignite-teamcity-bot] 01/01: IGNITE-10930: PR less contributions
detections development started: First of all find out PA tickets
This is an automated email from the ASF dual-hosted git repository.
dpavlov pushed a commit to branch ignite-10930
in repository https://gitbox.apache.org/repos/asf/ignite-teamcity-bot.git
commit 929be752d4925318158ddc43d022aacb0872cf10
Author: Dmitriy Pavlov <dp...@apache.org>
AuthorDate: Mon Jan 14 18:03:30 2019 +0300
IGNITE-10930: PR less contributions detections development started: First of all find out PA tickets
---
.../main/java/org/apache/ignite/ci/TcHelper.java | 2 +-
.../java/org/apache/ignite/ci/jira/Fields.java | 9 +++++++
.../main/java/org/apache/ignite/ci/jira/Jira.java | 1 +
.../ignite/ci/jira/JiraIntegrationModule.java | 2 ++
.../ignite/ci/jira/JiraIntegrationProvider.java | 2 ++
.../java/org/apache/ignite/ci/jira/Status.java | 7 +++++
.../java/org/apache/ignite/ci/jira/Ticket.java | 17 +++++++++---
.../java/org/apache/ignite/ci/jira/Tickets.java | 1 +
.../ignite/ci/jira/ignited/JiraTicketDao.java | 8 +++---
.../ignite/ci/jira/ignited/JiraTicketSync.java | 8 +++---
.../ignite/ci/jira/ignited/TicketCompacted.java | 1 +
.../ci/jira/{ => pure}/IJiraIntegration.java | 7 ++---
.../jira/{ => pure}/IJiraIntegrationProvider.java | 2 +-
.../apache/ignite/ci/observer/ObserverTask.java | 4 +--
.../ignite/ci/tcbot/chain/PrChainsProcessor.java | 4 +--
.../ci/tcbot/visa/ContributionCheckStatus.java | 7 ++++-
.../ignite/ci/tcbot/visa/ContributionToCheck.java | 5 ++--
.../tcbot/visa/TcBotTriggerAndSignOffService.java | 31 +++++++++++++++-------
.../java/org/apache/ignite/ci/web/model/Visa.java | 2 +-
.../model/current/ChainAtServerCurrentStatus.java | 2 +-
.../ignite/ci/web/rest/visa/TcBotVisaService.java | 7 +++--
.../ci/tcbot/chain/MockBasedTcBotModule.java | 4 +--
.../ignited/IgnitedTcInMemoryIntegrationTest.java | 2 +-
23 files changed, 96 insertions(+), 39 deletions(-)
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/TcHelper.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/TcHelper.java
index cbd550b..5640139 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/TcHelper.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/TcHelper.java
@@ -26,7 +26,7 @@ import javax.inject.Inject;
import org.apache.ignite.ci.jira.Tickets;
import org.apache.ignite.ci.tcbot.issue.IssueDetector;
import org.apache.ignite.ci.issue.IssuesStorage;
-import org.apache.ignite.ci.jira.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
import org.apache.ignite.ci.tcbot.chain.PrChainsProcessor;
import org.apache.ignite.ci.tcmodel.result.Build;
import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Fields.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Fields.java
index f9aa8e9..2f6e271 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Fields.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Fields.java
@@ -17,10 +17,19 @@
package org.apache.ignite.ci.jira;
+import com.google.common.base.MoreObjects;
+
/**
*
*/
public class Fields {
/** Ticket status. */
public Status status;
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("status", status)
+ .toString();
+ }
}
\ No newline at end of file
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Jira.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Jira.java
index b413193..879cbe1 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Jira.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Jira.java
@@ -23,6 +23,7 @@ import java.util.Properties;
import javax.inject.Inject;
import org.apache.ignite.ci.HelperConfig;
import org.apache.ignite.ci.ITcHelper;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
import org.apache.ignite.ci.user.ICredentialsProv;
import org.apache.ignite.ci.web.model.Visa;
import org.jetbrains.annotations.NotNull;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationModule.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationModule.java
index a4b6bfc..48a0689 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationModule.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationModule.java
@@ -19,6 +19,8 @@ package org.apache.ignite.ci.jira;
import com.google.inject.AbstractModule;
import com.google.inject.internal.SingletonScope;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
/**
*
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationProvider.java
index 62a6618..0c50d93 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationProvider.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/JiraIntegrationProvider.java
@@ -24,6 +24,8 @@ import com.google.inject.Provider;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.util.ExceptionUtil;
/**
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Status.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Status.java
index 62ceeb3..79faa68 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Status.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Status.java
@@ -17,6 +17,8 @@
package org.apache.ignite.ci.jira;
+import com.google.common.base.MoreObjects;
+
/**
* Status for Jira ticket.
*/
@@ -30,4 +32,9 @@ public class Status {
public Status(String name) {
this.name = name;
}
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return name;
+ }
}
\ No newline at end of file
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Ticket.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Ticket.java
index 5160471..10221cc 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Ticket.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Ticket.java
@@ -17,6 +17,8 @@
package org.apache.ignite.ci.jira;
+import com.google.common.base.MoreObjects;
+
/**
* See example of GSON here
* https://issues.apache.org/jira/rest/api/2/issue/IGNITE-123
@@ -32,11 +34,11 @@ public class Ticket {
public Fields fields;
/**
- * @param ticketTemplate Ticket name template.
+ * @param ticketPrefix Ticket name fixed prefix.
* @return Ignite id (like 123 in IGNITE-123).
*/
- public int igniteId(String ticketTemplate) {
- return Integer.valueOf(key.substring(ticketTemplate.length()));
+ public int igniteId(String ticketPrefix) {
+ return Integer.valueOf(key.substring(ticketPrefix.length()));
}
/**
@@ -45,4 +47,13 @@ public class Ticket {
public String status() {
return fields.status.name;
}
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("id", id)
+ .add("key", key)
+ .add("fields", fields)
+ .toString();
+ }
}
\ No newline at end of file
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Tickets.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Tickets.java
index f265b37..930a1bf 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Tickets.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/Tickets.java
@@ -24,6 +24,7 @@ import java.util.Collections;
* See example of GSON here
* https://issues.apache.org/jira/rest/api/2/search?jql=project%20=%20IGNITE%20order%20by%20updated%20DESC&fields=status
*/
+@SuppressWarnings("PublicField")
public class Tickets {
/** Start at. */
public int startAt;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java
index ee3bb30..dbc9d32 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketDao.java
@@ -91,10 +91,10 @@ public class JiraTicketDao {
*
* @param srvIdMaskHigh Server id mask high.
* @param chunk Chunk.
- * @param ticketTemplate Ticket name template.
+ * @param ticketPrefix Ticket name template.
*/
@AutoProfiling
- public void saveChunk(int srvIdMaskHigh, Collection<Ticket> chunk, String ticketTemplate) {
+ public void saveChunk(int srvIdMaskHigh, Collection<Ticket> chunk, String ticketPrefix) {
Preconditions.checkNotNull(jiraCache, "init() was not called");
if (F.isEmpty(chunk))
@@ -103,8 +103,8 @@ public class JiraTicketDao {
HashMap<Long, TicketCompacted> compactedTickets = new HashMap<>(U.capacity(chunk.size()));
for (Ticket ticket : chunk) {
- long key = ticketToCacheKey(srvIdMaskHigh, ticket.igniteId(ticketTemplate));
- TicketCompacted val = new TicketCompacted(ticket, compactor, ticketTemplate);
+ long key = ticketToCacheKey(srvIdMaskHigh, ticket.igniteId(ticketPrefix));
+ TicketCompacted val = new TicketCompacted(ticket, compactor, ticketPrefix);
compactedTickets.put(key, val);
}
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketSync.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketSync.java
index b7fbfd7..ca78d63 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketSync.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/JiraTicketSync.java
@@ -22,8 +22,8 @@ import java.util.concurrent.TimeUnit;
import javax.inject.Inject;
import org.apache.ignite.ci.di.MonitoredTask;
import org.apache.ignite.ci.di.scheduler.IScheduler;
-import org.apache.ignite.ci.jira.IJiraIntegration;
-import org.apache.ignite.ci.jira.IJiraIntegrationProvider;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.jira.Ticket;
import org.apache.ignite.ci.jira.Tickets;
import org.apache.ignite.ci.teamcity.pure.ITeamcityConn;
@@ -31,7 +31,7 @@ import org.apache.ignite.ci.user.ICredentialsProv;
import org.apache.ignite.internal.util.typedef.F;
/**
- *
+ * Sync serving requests for all JIRA servers.
*/
public class JiraTicketSync {
/** Scheduler. */
@@ -59,7 +59,7 @@ public class JiraTicketSync {
* @param creds Credentials.
*/
@MonitoredTask(name = "Actualize Jira", nameExtArgsIndexes = {0})
- private String actualizeJiraTickets(int srvIdMaskHigh, ITeamcityConn conn, ICredentialsProv creds) {
+ protected String actualizeJiraTickets(int srvIdMaskHigh, ITeamcityConn conn, ICredentialsProv creds) {
String srvId = conn.serverId();
IJiraIntegration jira = jiraIntegrationProvider.server(srvId);
String url = "search?jql=project%20=%20IGNITE%20order%20by%20updated%20DESC&fields=status&maxResults=100";
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/TicketCompacted.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/TicketCompacted.java
index 094ae6e..6391d31 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/TicketCompacted.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/ignited/TicketCompacted.java
@@ -52,6 +52,7 @@ public class TicketCompacted {
public Ticket toTicket(IStringCompactor comp) {
Ticket ticket = new Ticket();
+ //todo take prefix from outside
ticket.id = id;
ticket.key = "IGNITE-" + igniteId;
ticket.fields = new Fields();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/IJiraIntegration.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java
similarity index 92%
rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/IJiraIntegration.java
rename to ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java
index c66a736..ef55cc6 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/IJiraIntegration.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegration.java
@@ -15,8 +15,9 @@
* limitations under the License.
*/
-package org.apache.ignite.ci.jira;
+package org.apache.ignite.ci.jira.pure;
+import org.apache.ignite.ci.jira.Tickets;
import org.apache.ignite.ci.web.model.Visa;
import org.apache.ignite.ci.user.ICredentialsProv;
import org.jetbrains.annotations.NotNull;
@@ -48,10 +49,10 @@ public interface IJiraIntegration {
*
* @param srvId Server id.
* @param prov Prov.
- * @param ticketId Ticket id.
+ * @param url Ticket id.
* @return Jira tickets.
*/
- public Tickets getTickets(String srvId, ICredentialsProv prov, String ticketId);
+ public Tickets getTickets(@Deprecated String srvId, ICredentialsProv prov, String url);
/** */
public String jiraUrl();
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/IJiraIntegrationProvider.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegrationProvider.java
similarity index 95%
rename from ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/IJiraIntegrationProvider.java
rename to ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegrationProvider.java
index 095379b..984233b 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/IJiraIntegrationProvider.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/jira/pure/IJiraIntegrationProvider.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.ci.jira;
+package org.apache.ignite.ci.jira.pure;
/**
*
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java
index f3a5197..cd7cdc9 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/observer/ObserverTask.java
@@ -30,8 +30,8 @@ import javax.inject.Inject;
import org.apache.ignite.ci.ITcHelper;
import org.apache.ignite.ci.di.AutoProfiling;
import org.apache.ignite.ci.di.MonitoredTask;
-import org.apache.ignite.ci.jira.IJiraIntegration;
-import org.apache.ignite.ci.jira.IJiraIntegrationProvider;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.teamcity.ignited.IStringCompactor;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
index f981abd..a4f5d69 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/chain/PrChainsProcessor.java
@@ -24,8 +24,8 @@ import org.apache.ignite.ci.IAnalyticsEnabledTeamcity;
import org.apache.ignite.ci.analysis.MultBuildRunCtx;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnitedProvider;
-import org.apache.ignite.ci.jira.IJiraIntegration;
-import org.apache.ignite.ci.jira.IJiraIntegrationProvider;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.tcmodel.result.problems.ProblemOccurrence;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnited;
import org.apache.ignite.ci.teamcity.ignited.ITeamcityIgnitedProvider;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
index a710870..ba7e027 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionCheckStatus.java
@@ -20,10 +20,14 @@ import java.util.LinkedList;
import java.util.List;
/**
- * Status of contribution check details returned from server
+ * Status of contribution check details returned from server. UI model for displaying detailed {@link
+ * ContributionToCheck} status.
*/
@SuppressWarnings("PublicField") public class ContributionCheckStatus {
+ /** Queued builds. */
public int queuedBuilds;
+
+ /** Running builds. */
public int runningBuilds;
/** Suite id. */
@@ -41,6 +45,7 @@ import java.util.List;
/** Observations status: Filled if build observer has something sheduled related to {@link #resolvedBranch} */
public String observationsStatus;
+ /** Web links to queued suites. */
public List<String> webLinksQueuedSuites = new LinkedList<>();
public ContributionCheckStatus() {
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionToCheck.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionToCheck.java
index 1a2a308..6238b23 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionToCheck.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/tcbot/visa/ContributionToCheck.java
@@ -17,10 +17,11 @@
package org.apache.ignite.ci.tcbot.visa;
/**
- *
+ * Short version of contribution status.
+ * Full version is placed in {@link ContributionCheckStatus}.
*/
@SuppressWarnings("PublicField") public class ContributionToCheck {
- /** Pr number. */
+ /** Pr number. Positive value implies PR number, negative value is for JIRA ticket for PR-less contributions. */
public Integer prNumber;
/** Pr title. */
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 1ed9dfd..2921b29 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
@@ -41,10 +41,9 @@ import org.apache.ignite.ci.github.GitHubUser;
import org.apache.ignite.ci.github.PullRequest;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnitedProvider;
-import org.apache.ignite.ci.github.pure.IGitHubConnection;
-import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider;
-import org.apache.ignite.ci.jira.IJiraIntegration;
-import org.apache.ignite.ci.jira.IJiraIntegrationProvider;
+import org.apache.ignite.ci.jira.Tickets;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.observer.BuildObserver;
import org.apache.ignite.ci.observer.BuildsInfo;
import org.apache.ignite.ci.tcbot.chain.PrChainsProcessor;
@@ -87,9 +86,6 @@ public class TcBotTriggerAndSignOffService {
/** Build observer provider. */
@Inject Provider<BuildObserver> buildObserverProvider;
- /** GitHub (pure) HTTP connection provider. */
- @Inject IGitHubConnectionProvider gitHubConnProvider;
-
/** GitHub connection ignited provider. */
@Inject IGitHubConnIgnitedProvider gitHubConnIgnitedProvider;
@@ -367,15 +363,28 @@ public class TcBotTriggerAndSignOffService {
/**
* @param srvId Server id.
+ * @param credsProv Credentials
*/
- public List<ContributionToCheck> getContributionsToCheck(String srvId) {
+ public List<ContributionToCheck> getContributionsToCheck(String srvId,
+ ICredentialsProv credsProv) {
IJiraIntegration jiraIntegration = jiraIntegrationProvider.server(srvId);
List<PullRequest> requests = gitHubConnIgnitedProvider.server(srvId).getPullRequests();
if (requests == null)
return null;
- return requests.stream().map(pr -> {
+ ITeamcityIgnited tcIgn = tcIgnitedProv.server(srvId, credsProv);
+
+ String prj = jiraIntegration.ticketPrefix().replaceAll("-", "");
+ String url = "search?jql=project=" +
+ prj +
+ "%20order%20by%20updated%20DESC&fields=status&maxResults=100";
+ Tickets tickets = jiraIntegration.getTickets(srvId, credsProv, url);
+ System.out.println("srvId="+srvId + " tickets " + tickets.issues);
+
+ //todo JIRA ignited
+
+ List<ContributionToCheck> contribsList = requests.stream().map(pr -> {
ContributionToCheck check = new ContributionToCheck();
check.prNumber = pr.getNumber();
check.prTitle = pr.getTitle();
@@ -396,6 +405,10 @@ public class TcBotTriggerAndSignOffService {
return check;
}).collect(Collectors.toList());
+
+
+
+ return contribsList;
}
@Nonnull private List<BuildRefCompacted> findBuildsForPr(String suiteId, String prId,
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Visa.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Visa.java
index 5c694cc..2175d2a 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Visa.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/Visa.java
@@ -17,7 +17,7 @@
package org.apache.ignite.ci.web.model;
-import org.apache.ignite.ci.jira.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
import org.jetbrains.annotations.Nullable;
/**
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
index b1d10ff..b75cc30 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/model/current/ChainAtServerCurrentStatus.java
@@ -33,7 +33,7 @@ import org.apache.ignite.ci.analysis.MultBuildRunCtx;
import org.apache.ignite.ci.github.PullRequest;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.github.pure.IGitHubConnection;
-import org.apache.ignite.ci.jira.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
import org.apache.ignite.ci.tcbot.visa.TcBotTriggerAndSignOffService;
import org.apache.ignite.ci.tcmodel.conf.BuildType;
import org.apache.ignite.ci.analysis.TestInBranch;
diff --git a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java
index 3ce734c..241d2f7 100644
--- a/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java
+++ b/ignite-tc-helper-web/src/main/java/org/apache/ignite/ci/web/rest/visa/TcBotVisaService.java
@@ -75,15 +75,18 @@ public class TcBotVisaService {
/**
* @param srvId Server id.
+ * @return Contribution list for PRs and branches can be checked by TC bot.
*/
@GET
@Path("contributions")
public List<ContributionToCheck> contributions(@Nullable @QueryParam("serverId") String srvId) {
- if (!ICredentialsProv.get(req).hasAccess(srvId))
+ ICredentialsProv credsProv = ICredentialsProv.get(req);
+
+ if (!credsProv.hasAccess(srvId))
throw ServiceUnauthorizedException.noCreds(srvId);
return CtxListener.getInjector(ctx)
- .getInstance(TcBotTriggerAndSignOffService.class).getContributionsToCheck(srvId);
+ .getInstance(TcBotTriggerAndSignOffService.class).getContributionsToCheck(srvId, credsProv);
}
@GET
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
index 26c9340..4fa11cd 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/tcbot/chain/MockBasedTcBotModule.java
@@ -26,8 +26,8 @@ import org.apache.ignite.ci.github.ignited.IGitHubConnIgnited;
import org.apache.ignite.ci.github.ignited.IGitHubConnIgnitedProvider;
import org.apache.ignite.ci.github.pure.IGitHubConnection;
import org.apache.ignite.ci.github.pure.IGitHubConnectionProvider;
-import org.apache.ignite.ci.jira.IJiraIntegration;
-import org.apache.ignite.ci.jira.IJiraIntegrationProvider;
+import org.apache.ignite.ci.jira.pure.IJiraIntegration;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.tcbot.conf.ITcBotConfig;
import org.apache.ignite.ci.tcbot.issue.IIssuesStorage;
import org.apache.ignite.ci.tcbot.user.IUserStorage;
diff --git a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
index 357adb6..e768ceb 100644
--- a/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
+++ b/ignite-tc-helper-web/src/test/java/org/apache/ignite/ci/teamcity/ignited/IgnitedTcInMemoryIntegrationTest.java
@@ -46,7 +46,7 @@ import org.apache.ignite.ci.analysis.TestInBranch;
import org.apache.ignite.ci.db.TcHelperDb;
import org.apache.ignite.ci.di.scheduler.DirectExecNoWaitScheduler;
import org.apache.ignite.ci.di.scheduler.IScheduler;
-import org.apache.ignite.ci.jira.IJiraIntegrationProvider;
+import org.apache.ignite.ci.jira.pure.IJiraIntegrationProvider;
import org.apache.ignite.ci.tcbot.chain.PrChainsProcessorTest;
import org.apache.ignite.ci.tcmodel.changes.ChangesList;
import org.apache.ignite.ci.tcmodel.conf.BuildType;