diff --git a/src/main/java/org/eclipsefoundation/git/eca/helper/ProjectHelper.java b/src/main/java/org/eclipsefoundation/git/eca/helper/ProjectHelper.java index b7d37034e87d0cfce12306914e06f1015a125c9c..a37f947411e35a865ed6fd6782a77730c6fb10b4 100644 --- a/src/main/java/org/eclipsefoundation/git/eca/helper/ProjectHelper.java +++ b/src/main/java/org/eclipsefoundation/git/eca/helper/ProjectHelper.java @@ -165,7 +165,8 @@ public final class ProjectHelper { * @return true if the project is a match via Gitlab repos or project namespace, false otherwise */ private boolean doesProjectMatchGitlabRepos(Project p, String repoUrl, String projectNamespace) { - return (projectNamespace.startsWith(p.getGitlab().getProjectGroup() + "/") + return p.getGitlabRepos().stream().anyMatch(re -> re.getUrl() != null && re.getUrl().endsWith(repoUrl)) + || (projectNamespace.startsWith(p.getGitlab().getProjectGroup() + "/") && p.getGitlab().getIgnoredSubGroups().stream().noneMatch(sg -> projectNamespace.startsWith(sg + "/"))); } diff --git a/src/test/java/org/eclipsefoundation/git/eca/test/api/MockProjectsAPI.java b/src/test/java/org/eclipsefoundation/git/eca/test/api/MockProjectsAPI.java index 60229fea9c2c0caff320efad0341ac2d6bbd0f6a..a4e4b2df7d1de0ba15d1540da5f73147b5c3d5c8 100644 --- a/src/test/java/org/eclipsefoundation/git/eca/test/api/MockProjectsAPI.java +++ b/src/test/java/org/eclipsefoundation/git/eca/test/api/MockProjectsAPI.java @@ -124,6 +124,8 @@ public class MockProjectsAPI implements ProjectsAPI { .setIgnoredSubGroups(Arrays.asList("eclipse/dash/mirror")) .setProjectGroup("eclipse/dash") .build()) + .setGitlabRepos( + Arrays.asList(Repo.builder().setUrl("http://www.gitlab.eclipse.org/eclipsefdn/sample/repo").build())) .setCommitters(Arrays.asList(u1, u2)) .setProjectLeads(Collections.emptyList()) .setShortProjectId("spec.proj")