From 45cf9adbdd6098e4a9429fd16ade8bb5c6bf3f19 Mon Sep 17 00:00:00 2001
From: Miguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
Date: Tue, 12 Nov 2024 18:29:29 +0100
Subject: [PATCH] Fix for checking conflicts when milestone is absent in the
 merge request

---
 checking_conflicts.sh              |  6 +++++-
 generateChangemarks/.gitlab-ci.yml | 10 ++++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/checking_conflicts.sh b/checking_conflicts.sh
index b0cf26c..bfad7a5 100644
--- a/checking_conflicts.sh
+++ b/checking_conflicts.sh
@@ -54,7 +54,11 @@ echo "\n------ Getting all potential conflicting merge requests --------"
 
 # Initialize an empty array to store conflicting merge requests
 conflicting_merge_request_ids=()
-merge_requests=$(curl "${1}/projects/${2}/merge_requests?state=opened&milestone=${3}&target_branch=${4}")
+if [ ${3} == "all" ] ; then
+  merge_requests=$(curl "${1}/projects/${2}/merge_requests?state=opened&target_branch=${4}")
+else
+  merge_requests=$(curl "${1}/projects/${2}/merge_requests?state=opened&milestone=${3}&target_branch=${4}")
+fi
 echo "${merge_requests}" | jq -c '.[]' | while read mr; do
   mr_id=$(echo "$mr" | jq '.iid')
   result_id=$?
diff --git a/generateChangemarks/.gitlab-ci.yml b/generateChangemarks/.gitlab-ci.yml
index b9bdd90..6f993d5 100644
--- a/generateChangemarks/.gitlab-ci.yml
+++ b/generateChangemarks/.gitlab-ci.yml
@@ -24,8 +24,14 @@ stages:
 Checking conflicts:
   stage: checking
   rules:
-    - if: $CI_MERGE_REQUEST_TITLE !~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event"
+    - if: $CI_MERGE_REQUEST_TITLE !~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_MILESTONE
+      when: always
+      variables:
+        MERGE_REQUEST_MILESTONE: $CI_MERGE_REQUEST_MILESTONE
+    - if: $CI_MERGE_REQUEST_TITLE !~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_MILESTONE == null
       when: always
+      variables:
+        MERGE_REQUEST_MILESTONE: "all"
   allow_failure: true
   image: python:3.9.18-slim-bullseye
   tags:
@@ -39,7 +45,7 @@ Checking conflicts:
     - git clone "https://$CI_SERVER_HOST/$CI_PROJECT_PATH.git" ${CI_PROJECT_NAME}
   script:
     - echo 'Checking conflicts'
-    - ./checking_conflicts.sh ${CI_API_V4_URL} ${CI_MERGE_REQUEST_PROJECT_ID} ${CI_MERGE_REQUEST_MILESTONE} ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} ${CI_MERGE_REQUEST_IID} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} ${CI_PROJECT_NAME} "$GITLAB_USER_NAME" $GITLAB_USER_EMAIL $MIKE_ACCESS_TOKEN
+    - ./checking_conflicts.sh ${CI_API_V4_URL} ${CI_MERGE_REQUEST_PROJECT_ID} ${MERGE_REQUEST_MILESTONE} ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} ${CI_MERGE_REQUEST_IID} ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} ${CI_PROJECT_NAME} "$GITLAB_USER_NAME" $GITLAB_USER_EMAIL $MIKE_ACCESS_TOKEN
   artifacts:
     when: on_failure
     paths:
-- 
GitLab