Compare commits
2 Commits
3703a1973c
...
6dcd68655a
Author | SHA1 | Date | |
---|---|---|---|
6dcd68655a | |||
0e4939b351 |
@ -352,11 +352,12 @@ public class MergeRequestsServiceImpl implements MergeRequestsService {
|
||||
|
||||
private void notifyAboutResolveConflict(MergeRequest oldMergeRequest, MergeRequest mergeRequest, Project project) {
|
||||
final Long gitlabUserId = personInformation.getId();
|
||||
if (
|
||||
oldMergeRequest.isConflict() // У старого MR был конфликт
|
||||
&& !mergeRequest.isConflict() // А у нового нет
|
||||
&& gitlabUserId.equals(oldMergeRequest.getAuthor().getId()) // и MR создан пользователем бота
|
||||
) {
|
||||
if (oldMergeRequest.isConflict() && !mergeRequest.isConflict()) {
|
||||
// проверяем даты коммитов, так как при пуше в target ветку MR у которого есть конфликт, конфликт на время пропадает. Судя по всему GitLab после пуша заново проверяет вероятность конфликта. Чаще всего конфликт никуда не девается.
|
||||
if (oldMergeRequest.getDateLastCommit().equals(mergeRequest.getDateLastCommit())) {
|
||||
mergeRequest.setConflict(true);
|
||||
} else {
|
||||
if (gitlabUserId.equals(oldMergeRequest.getAuthor().getId())) {
|
||||
notifyService.send(
|
||||
ConflictResolveMrNotify.builder()
|
||||
.mrId(oldMergeRequest.getId())
|
||||
@ -368,6 +369,8 @@ public class MergeRequestsServiceImpl implements MergeRequestsService {
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void notifyAboutStatus(MergeRequest oldMergeRequest, MergeRequest newMergeRequest, Project project) {
|
||||
final MergeRequestState oldStatus = oldMergeRequest.getState();
|
||||
|
@ -32,7 +32,7 @@ public class SchedulerService {
|
||||
private final MergeRequestsService mergeRequestsService;
|
||||
private final DiscussionService discussionService;
|
||||
|
||||
@Scheduled(cron = "0 0 */1 * * *")
|
||||
@Scheduled(cron = "${gitlab-bot.cron.scan.new-project}")
|
||||
public void newProjects() {
|
||||
log.info("Запуск процесса получение новых репозиториев c GitLab");
|
||||
if (!settingService.isFirstStart()) {
|
||||
@ -46,7 +46,7 @@ public class SchedulerService {
|
||||
log.info("Конец процесса получение новых репозиториев c GitLab");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 */15 * * * *")
|
||||
@Scheduled(cron = "${gitlab-bot.cron.scan.new-merge-request}")
|
||||
public void newMergeRequests() {
|
||||
log.info("Запуск процесса получение новых MR c GitLab");
|
||||
if (!settingService.isFirstStart()) {
|
||||
@ -55,7 +55,7 @@ public class SchedulerService {
|
||||
log.info("Конец процесса получение новых MR c GitLab");
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 */1 * * * *")
|
||||
@Scheduled(cron = "${gitlab-bot.cron.scan.general}")
|
||||
public void newMergeRequest() {
|
||||
log.info("Запуск процесса обновления данных c GitLab");
|
||||
if (!settingService.isFirstStart()) {
|
||||
|
@ -37,6 +37,11 @@ telegram:
|
||||
|
||||
gitlab-bot:
|
||||
version: 0.0.1-SNAPSHOT
|
||||
cron:
|
||||
scan:
|
||||
general: "0 */1 * * * *"
|
||||
new-project: "0 0 */1 * * *"
|
||||
new-merge-request: "0 */15 * * * *"
|
||||
person:
|
||||
telegram-id: ${TELEGRAM_PERSON_ID}
|
||||
token: ${GITLAB_PERSONAL_TOKEN}
|
||||
@ -59,3 +64,17 @@ gitlab-bot:
|
||||
new-note-url: "${GITLAB_URL}/api/v4/projects/{0,number,#}/merge_requests/{1,number,#}/discussions/{2}/notes?body={3}"
|
||||
discussions-url: "${GITLAB_URL}/api/v4/projects/{0,number,#}/merge_requests/{1,number,#}/discussions?&page={2,number,#}&per_page={3,number,#}"
|
||||
discussion-url: "${GITLAB_URL}/api/v4/projects/{0,number,#}/merge_requests/{1,number,#}/discussions/{2}"
|
||||
|
||||
---
|
||||
spring:
|
||||
config:
|
||||
activate:
|
||||
on-profile: local
|
||||
|
||||
gitlab-bot:
|
||||
version: 0.0.1-SNAPSHOT
|
||||
cron:
|
||||
scan:
|
||||
general: "0 */1 * * * *"
|
||||
new-project: "0 */1 * * * *"
|
||||
new-merge-request: "0 */1 * * * *"
|
Loading…
Reference in New Issue
Block a user