Skip to content

Commit 7d8df8e

Browse files
committed
need to call create hooks creating engagements
1 parent 7e7d6b3 commit 7d8df8e

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/main/java/com/redhat/labs/lodestar/service/ConfigService.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public class ConfigService {
7777
*/
7878
@Scheduled(every = "30s")
7979
void reloadConfigMapData() {
80-
if(reloadConfig) {
80+
if (reloadConfig) {
8181
loadWebHookData();
8282
loadConfigurationData();
8383
}
@@ -181,6 +181,28 @@ boolean engagementIsArchived(Project project) {
181181

182182
}
183183

184+
/**
185+
* Adds all configured webhooks to the project for the given {@link Engagement}.
186+
*
187+
* @param engagement
188+
* @param isFirst
189+
*
190+
*/
191+
public void createWebhooksForEnagement(Engagement engagement, boolean isFirst) {
192+
193+
List<HookConfig> hookConfigs = getHookConfig();
194+
hookConfigs.stream().forEach(hookC -> {
195+
Hook hook = Hook.builder().projectId(engagement.getProjectId()).pushEvents(true).url(hookC.getBaseUrl())
196+
.token(hookC.getToken()).build();
197+
if (isFirst) { // No need to check for existing hooks first time
198+
hookService.createProjectHook(engagement.getProjectId(), hook);
199+
} else {
200+
hookService.createOrUpdateProjectHook(engagement.getProjectId(), hook);
201+
}
202+
});
203+
204+
}
205+
184206
/**
185207
* Loads the configuration data from the configured file if it has been
186208
* modified.

src/main/java/com/redhat/labs/lodestar/service/EngagementService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ public class EngagementService {
6767
@Inject
6868
HookService hookService;
6969

70+
@Inject
71+
ConfigService configService;
72+
7073
@Inject
7174
ProjectStructureService structureService;
7275

@@ -115,6 +118,9 @@ public Project createEngagement(Engagement engagement, String author, String aut
115118
throw new UnexpectedGitLabResponseException("failed to commit files for engagement creation.");
116119
}
117120

121+
// create or update web hooks
122+
configService.createWebhooksForEnagement(engagement, project.isFirst());
123+
118124
return project;
119125

120126
}

0 commit comments

Comments
 (0)