Исправил проблему ложного уведомления о решении конфликта
This commit is contained in:
parent
3703a1973c
commit
0e4939b351
@ -352,20 +352,23 @@ public class MergeRequestsServiceImpl implements MergeRequestsService {
|
|||||||
|
|
||||||
private void notifyAboutResolveConflict(MergeRequest oldMergeRequest, MergeRequest mergeRequest, Project project) {
|
private void notifyAboutResolveConflict(MergeRequest oldMergeRequest, MergeRequest mergeRequest, Project project) {
|
||||||
final Long gitlabUserId = personInformation.getId();
|
final Long gitlabUserId = personInformation.getId();
|
||||||
if (
|
if (oldMergeRequest.isConflict() && !mergeRequest.isConflict()) {
|
||||||
oldMergeRequest.isConflict() // У старого MR был конфликт
|
// проверяем даты коммитов, так как при пуше в target ветку MR у которого есть конфликт, конфликт на время пропадает. Судя по всему GitLab после пуша заново проверяет вероятность конфликта. Чаще всего конфликт никуда не девается.
|
||||||
&& !mergeRequest.isConflict() // А у нового нет
|
if (oldMergeRequest.getDateLastCommit().equals(mergeRequest.getDateLastCommit())) {
|
||||||
&& gitlabUserId.equals(oldMergeRequest.getAuthor().getId()) // и MR создан пользователем бота
|
mergeRequest.setConflict(true);
|
||||||
) {
|
} else {
|
||||||
notifyService.send(
|
if (gitlabUserId.equals(oldMergeRequest.getAuthor().getId())) {
|
||||||
ConflictResolveMrNotify.builder()
|
notifyService.send(
|
||||||
.mrId(oldMergeRequest.getId())
|
ConflictResolveMrNotify.builder()
|
||||||
.sourceBranch(oldMergeRequest.getSourceBranch())
|
.mrId(oldMergeRequest.getId())
|
||||||
.name(mergeRequest.getTitle())
|
.sourceBranch(oldMergeRequest.getSourceBranch())
|
||||||
.url(mergeRequest.getWebUrl())
|
.name(mergeRequest.getTitle())
|
||||||
.projectKey(project.getName())
|
.url(mergeRequest.getWebUrl())
|
||||||
.build()
|
.projectKey(project.getName())
|
||||||
);
|
.build()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user