Commit 45cf9adb authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Fix for checking conflicts when milestone is absent in the merge request

parent 481f88e3
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -54,7 +54,11 @@ echo "\n------ Getting all potential conflicting merge requests --------"


# Initialize an empty array to store conflicting merge requests
# Initialize an empty array to store conflicting merge requests
conflicting_merge_request_ids=()
conflicting_merge_request_ids=()
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}")
  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
echo "${merge_requests}" | jq -c '.[]' | while read mr; do
  mr_id=$(echo "$mr" | jq '.iid')
  mr_id=$(echo "$mr" | jq '.iid')
  result_id=$?
  result_id=$?
+8 −2
Original line number Original line Diff line number Diff line
@@ -24,8 +24,14 @@ stages:
Checking conflicts:
Checking conflicts:
  stage: checking
  stage: checking
  rules:
  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
      when: always
      variables:
        MERGE_REQUEST_MILESTONE: "all"
  allow_failure: true
  allow_failure: true
  image: python:3.9.18-slim-bullseye
  image: python:3.9.18-slim-bullseye
  tags:
  tags:
@@ -39,7 +45,7 @@ Checking conflicts:
    - git clone "https://$CI_SERVER_HOST/$CI_PROJECT_PATH.git" ${CI_PROJECT_NAME}
    - git clone "https://$CI_SERVER_HOST/$CI_PROJECT_PATH.git" ${CI_PROJECT_NAME}
  script:
  script:
    - echo 'Checking conflicts'
    - 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:
  artifacts:
    when: on_failure
    when: on_failure
    paths:
    paths: