aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/webhook/WebHooksImpl.java15
1 files changed, 11 insertions, 4 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/webhook/WebHooksImpl.java b/server/sonar-server/src/main/java/org/sonar/server/webhook/WebHooksImpl.java
index a5497710144..5036e81a92c 100644
--- a/server/sonar-server/src/main/java/org/sonar/server/webhook/WebHooksImpl.java
+++ b/server/sonar-server/src/main/java/org/sonar/server/webhook/WebHooksImpl.java
@@ -61,12 +61,19 @@ public class WebHooksImpl implements WebHooks {
private Stream<WebhookDto> readWebHooksFrom(String projectUuid) {
try (DbSession dbSession = dbClient.openSession(false)) {
- Optional<ComponentDto> componentDto = ofNullable(dbClient.componentDao().selectByUuid(dbSession, projectUuid).orNull());
- ComponentDto projectDto = checkStateWithOptional(componentDto, "the requested project '%s' was not found", projectUuid);
+
+ Optional<ComponentDto> optionalComponentDto = ofNullable(dbClient.componentDao().selectByUuid(dbSession, projectUuid).orNull());
+ ComponentDto componentDto = checkStateWithOptional(optionalComponentDto, "the requested project '%s' was not found", projectUuid);
+
+ if (componentDto.getMainBranchProjectUuid() != null && !componentDto.uuid().equals(componentDto.getMainBranchProjectUuid())) {
+ Optional<ComponentDto> mainBranchComponentDto = ofNullable(dbClient.componentDao().selectByUuid(dbSession, componentDto.getMainBranchProjectUuid()).orNull());
+ componentDto = checkStateWithOptional(mainBranchComponentDto, "the requested project '%s' was not found", projectUuid);
+ }
+
WebhookDao dao = dbClient.webhookDao();
return Stream.concat(
- dao.selectByProject(dbSession, projectDto).stream(),
- dao.selectByOrganizationUuid(dbSession, projectDto.getOrganizationUuid()).stream());
+ dao.selectByProject(dbSession, componentDto).stream(),
+ dao.selectByOrganizationUuid(dbSession, componentDto.getOrganizationUuid()).stream());
}
}