Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MR jobs are not triggered by non-code updates #430

Open
hoang97 opened this issue Jun 22, 2024 · 6 comments
Open

MR jobs are not triggered by non-code updates #430

hoang97 opened this issue Jun 22, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@hoang97
Copy link

hoang97 commented Jun 22, 2024

Jenkins and plugins versions report

Environment
Jenkins: 2.452.2
OS: Linux - 6.5.0-35-generic
Java: 11.0.23 - Eclipse Adoptium (OpenJDK 64-Bit Server VM)
---
ant:497.v94e7d9fffa_b_9
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
asm-api:9.7-33.v4d23ef79fcc8
authentication-tokens:1.113.v81215a_241826
blueocean:1.27.13
blueocean-bitbucket-pipeline:1.27.13
blueocean-commons:1.27.13
blueocean-config:1.27.13
blueocean-core-js:1.27.13
blueocean-dashboard:1.27.13
blueocean-display-url:2.4.2
blueocean-events:1.27.13
blueocean-git-pipeline:1.27.13
blueocean-github-pipeline:1.27.13
blueocean-i18n:1.27.13
blueocean-jwt:1.27.13
blueocean-personalization:1.27.13
blueocean-pipeline-api-impl:1.27.13
blueocean-pipeline-editor:1.27.13
blueocean-pipeline-scm-api:1.27.13
blueocean-rest:1.27.13
blueocean-rest-impl:1.27.13
blueocean-web:1.27.13
bootstrap5-api:5.3.3-1
bouncycastle-api:2.30.1.78.1-233.vfdcdeb_0a_08a_a_
branch-api:2.1169.va_f810c56e895
build-timeout:1.32
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.2.0
cloudbees-bitbucket-branch-source:886.v44cf5e4ecec5
cloudbees-folder:6.928.v7c780211d66e
commons-lang3-api:3.14.0-76.vda_5591261cfe
commons-text-api:1.12.0-119.v73ef73f2345d
credentials:1337.v60b_d7b_c7b_c9f
credentials-binding:677.vdc9d38cb_254d
dark-theme:439.vdef09f81f85e
display-url-api:2.204.vf6fddd8a_8b_e9
durable-task:555.v6802fe0f0b_82
echarts-api:5.5.0-1
eddsa-api:0.3.0-4.v84c6f0f4969e
email-ext:1814.v404722f34263
favorite:2.208.v91d65b_7792a_c
font-awesome-api:6.5.2-1
git:5.2.2
git-client:5.0.0
github:1.39.0
github-api:1.318-461.v7a_c09c9fa_d63
github-branch-source:1789.v5b_0c0cea_18c3
gitlab-api:5.3.0-91.v1f9a_fda_d654f
gitlab-branch-source:704.vc7f1202d7e14
gitlab-plugin:1.8.1
gradle:2.12
gson-api:2.11.0-41.v019fcf6125dc
handy-uri-templates-2-api:2.1.8-30.v7e777411b_148
htmlpublisher:1.34
instance-identity:185.v303dc7c645f9
ionicons-api:74.v93d5eb_813d5f
jackson2-api:2.17.0-379.v02de8ec9f64c
jakarta-activation-api:2.1.3-1
jakarta-mail-api:2.1.3-1
javax-activation-api:1.2.0-7
javax-mail-api:1.6.2-10
jaxb:2.3.9-1
jenkins-design-language:1.27.13
jersey2-api:2.42-147.va_28a_44603b_d5
jjwt-api:0.11.5-112.ve82dfb_224b_a_d
joda-time-api:2.12.7-29.v5a_b_e3a_82269a_
jquery3-api:3.7.1-2
json-api:20240303-41.v94e11e6de726
json-path-api:2.9.0-58.v62e3e85b_a_655
junit:1265.v65b_14fa_f12f0
ldap:725.v3cb_b_711b_1a_ef
mailer:472.vf7c289a_4b_420
matrix-auth:3.2.2
matrix-project:832.va_66e270d2946
metrics:4.2.21-451.vd51df8df52ec
mina-sshd-api-common:2.12.1-113.v4d3ea_5eb_7f72
mina-sshd-api-core:2.12.1-113.v4d3ea_5eb_7f72
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
pam-auth:1.11
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:61.v629f2cc41d83
pipeline-graph-analysis:216.vfd8b_ece330ca_
pipeline-graph-view:287.v3ef017b_780d5
pipeline-groovy-lib:727.ve832a_9244dfa_
pipeline-input-step:495.ve9c153f6067b_
pipeline-milestone-step:119.vdfdc43fc3b_9a_
pipeline-model-api:2.2198.v41dd8ef6dd56
pipeline-model-definition:2.2198.v41dd8ef6dd56
pipeline-model-extensions:2.2198.v41dd8ef6dd56
pipeline-stage-step:312.v8cd10304c27a_
pipeline-stage-tags-metadata:2.2198.v41dd8ef6dd56
plain-credentials:182.v468b_97b_9dcb_8
plugin-util-api:4.1.0
pubsub-light:1.18
resource-disposer:0.23
scm-api:690.vfc8b_54395023
script-security:1341.va_2819b_414686
snakeyaml-api:2.2-111.vc6598e30cc65
sse-gateway:1.27
ssh-credentials:337.v395d2403ccd4
ssh-slaves:2.968.v6f8823c91de4
structs:337.v1b_04ea_4df7c8
theme-manager:262.vc57ee4a_eda_5d
timestamper:1.27
token-macro:400.v35420b_922dcb_
trilead-api:2.147.vb_73cc728a_32e
variant:60.v7290fc0eb_b_cd
workflow-aggregator:596.v8c21c963d92d
workflow-api:1316.v33eb_726c50b_a_
workflow-basic-steps:1058.vcb_fc1e3a_21a_9
workflow-cps:3903.v48a_8836749e9
workflow-durable-task-step:1353.v1891a_b_01da_18
workflow-job:1400.v7fd111b_ec82f
workflow-multibranch:783.787.v50539468395f
workflow-scm-step:427.v4ca_6512e7df1
workflow-step-api:657.v03b_e8115821b_
workflow-support:907.v6713a_ed8a_573
ws-cleanup:0.46

What Operating System are you using (both controller, and any agents involved in the problem)?

docker image: jenkins/jenkins:2.452.2-jdk11

Reproduction steps

  1. Create Gitlab Organization Folder with all the setup from homepage
  2. Create a Merge Request to project which explored by Organization Folder job
  3. Update Merge Request title/description

Expected Results

Merge Request job is triggered

Actual Results

No job is triggered even when the Ignore builds for non-code related MR updates option is turned off

Anything else?

I got this log in Jenkins server indicated that update title should build

image

But in Multibranch pipeline events indicated that there is no changes detected

image

I've searched for log no changes detected but not found it in gitlab-branch-source code

Are you interested in contributing a fix?

No response

@hoang97 hoang97 added the bug Something isn't working label Jun 22, 2024
@Turiok
Copy link
Contributor

Turiok commented Jun 22, 2024

Hi @hoang97 ,

This is the normal behavior of Jenkins. This is not this plugin behavior or a bug.
Maybe you can use the basic-branch-build-strategies to change this behavior.
Or maybe this plugin : https://plugins.jenkins.io/multibranch-build-strategy-extension/

@hoang97
Copy link
Author

hoang97 commented Jun 23, 2024

I confused because in homepage show that merge-request events (which include title changes) should trigger build

As the web hook is now setup on your Jenkins CI by the GitLab server. Any push-events or merge-request events or tag events trigger the concerned build in Jenkins.

Should it be an option to turn on/off this behavior by default? Gitlab plugin has Rebuild open merge requests option can reflect it

image

Both basic-branch-build-strategies and multibranch-build-strategy-extension don't support this behavior. Any other suggestions?

@cuong-max
Copy link

Hi,

Any update on this bug?? I am facing same issue

Thanks in advance,

/cc @jetersen @dcendents @Turiok

@Turiok
Copy link
Contributor

Turiok commented Jun 25, 2024

Hi @hoang97 ,

Is your MR is in draft? I'm seeing in the code this verification :

if (attributes.getWorkInProgress() && context.alwaysIgnoreMRWorkInProgress()) {

And I'm seeing above a check for non related code : https://github.com/jenkinsci/gitlab-branch-source-plugin/blob/c7f1202d7e14fdf673eb1011722aeba8b52f2a5e/src/main/java/io/jenkins/plugins/gitlabbranchsource/GitLabMergeRequestTrigger.java#L45C8-L45C9

image
Any Ignore selected?

Can you enable log with this package "io.jenkins.plugins.gitlabbranchsource" in FINE level?

@hoang97
Copy link
Author

hoang97 commented Jun 25, 2024

Here is full log of package io.jenkins.plugins.gitlabbranchsource when I changed MR title

Gitlab Branch Source Log
Jun 25, 2024 4:27:02 PM FINE io.jenkins.plugins.gitlabbranchsource.helpers.GitLabPipelineStatusNotifier
QueueListener: Waiting > test
Jun 25, 2024 4:27:02 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabWebHookListener
{
  "object_kind" : "merge_request",
  "user" : {
    "avatarUrl" : "https://www.gravatar.com/avatar/7123494d8036f53f6768016be85438d1b5cbea4047472d81ad5bcc0ca42b3025?s=80&d=identicon",
    "createdAt" : null,
    "email" : "[REDACTED]",
    "id" : 2,
    "name" : "hoang dobao",
    "state" : null,
    "username" : "hoang97",
    "webUrl" : null,
    "bio" : null,
    "bot" : null,
    "canCreateGroup" : null,
    "canCreateProject" : null,
    "colorSchemeId" : null,
    "confirmedAt" : null,
    "currentSignInAt" : null,
    "customAttributes" : null,
    "external" : null,
    "externUid" : null,
    "extraSharedRunnersMinutesLimit" : null,
    "identities" : null,
    "isAdmin" : null,
    "lastActivityOn" : null,
    "lastSignInAt" : null,
    "linkedin" : null,
    "location" : null,
    "organization" : null,
    "privateProfile" : null,
    "projectsLimit" : null,
    "provider" : null,
    "publicEmail" : null,
    "sharedRunnersMinutesLimit" : null,
    "skype" : null,
    "themeId" : null,
    "twitter" : null,
    "twoFactorEnabled" : null,
    "websiteUrl" : null,
    "skipConfirmation" : null
  },
  "project" : {
    "id" : 1,
    "name" : "project-1",
    "description" : null,
    "webUrl" : "http://gitlab.example.com:8929/test/project-1",
    "avatarUrl" : null,
    "gitSshUrl" : "ssh://[email protected]:2424/test/project-1.git",
    "gitHttpUrl" : "http://gitlab.example.com:8929/test/project-1.git",
    "namespace" : "test",
    "visibilityLevel" : 20,
    "pathWithNamespace" : "test/project-1",
    "defaultBranch" : "main",
    "ciConfigPath" : null,
    "homepage" : "http://gitlab.example.com:8929/test/project-1",
    "url" : "ssh://[email protected]:2424/test/project-1.git",
    "sshUrl" : "ssh://[email protected]:2424/test/project-1.git",
    "httpUrl" : "http://gitlab.example.com:8929/test/project-1.git"
  },
  "repository" : {
    "name" : "project-1",
    "url" : "ssh://[email protected]:2424/test/project-1.git",
    "description" : null,
    "homepage" : "http://gitlab.example.com:8929/test/project-1",
    "git_http_url" : null,
    "git_ssh_url" : null,
    "visibility_level" : null
  },
  "objectAttributes" : {
    "assigneeId" : 2,
    "authorId" : 1,
    "branchName" : null,
    "createdAt" : "2024-06-18T04:10:19Z",
    "description" : "",
    "id" : 3,
    "iid" : 3,
    "mergeCommitSha" : null,
    "mergeStatus" : "can_be_merged",
    "detailedMergeStatus" : "mergeable",
    "milestoneId" : null,
    "position" : null,
    "lockedAt" : null,
    "projectId" : null,
    "sourceBranch" : "test-mr-2",
    "sourceProjectId" : 1,
    "stCommits" : null,
    "stDiffs" : null,
    "state" : "opened",
    "stateId" : 1,
    "targetBranch" : "main",
    "targetProjectId" : 1,
    "title" : "test: mr 35",
    "updatedAt" : "2024-06-25T16:27:01Z",
    "source" : {
      "id" : 1,
      "name" : "project-1",
      "description" : null,
      "webUrl" : "http://gitlab.example.com:8929/test/project-1",
      "avatarUrl" : null,
      "gitSshUrl" : "ssh://[email protected]:2424/test/project-1.git",
      "gitHttpUrl" : "http://gitlab.example.com:8929/test/project-1.git",
      "namespace" : "test",
      "visibilityLevel" : 20,
      "pathWithNamespace" : "test/project-1",
      "defaultBranch" : "main",
      "ciConfigPath" : null,
      "homepage" : "http://gitlab.example.com:8929/test/project-1",
      "url" : "ssh://[email protected]:2424/test/project-1.git",
      "sshUrl" : "ssh://[email protected]:2424/test/project-1.git",
      "httpUrl" : "http://gitlab.example.com:8929/test/project-1.git"
    },
    "target" : {
      "id" : 1,
      "name" : "project-1",
      "description" : null,
      "webUrl" : "http://gitlab.example.com:8929/test/project-1",
      "avatarUrl" : null,
      "gitSshUrl" : "ssh://[email protected]:2424/test/project-1.git",
      "gitHttpUrl" : "http://gitlab.example.com:8929/test/project-1.git",
      "namespace" : "test",
      "visibilityLevel" : 20,
      "pathWithNamespace" : "test/project-1",
      "defaultBranch" : "main",
      "ciConfigPath" : null,
      "homepage" : "http://gitlab.example.com:8929/test/project-1",
      "url" : "ssh://[email protected]:2424/test/project-1.git",
      "sshUrl" : "ssh://[email protected]:2424/test/project-1.git",
      "httpUrl" : "http://gitlab.example.com:8929/test/project-1.git"
    },
    "lastCommit" : {
      "id" : "3ab02e25ce22dd318a5f78e9b823f598b6972a5c",
      "message" : "test\n",
      "timestamp" : "2024-06-23T04:46:35Z",
      "url" : "http://gitlab.example.com:8929/test/project-1/-/commit/3ab02e25ce22dd318a5f78e9b823f598b6972a5c",
      "author" : {
        "avatarUrl" : null,
        "createdAt" : null,
        "email" : "[email protected]",
        "id" : null,
        "name" : "hoangtumeo",
        "state" : null,
        "username" : null,
        "webUrl" : null
      },
      "added" : null,
      "modified" : null,
      "removed" : null
    },
    "blockingDiscussionsResolved" : true,
    "workInProgress" : false,
    "firstContribution" : true,
    "url" : "http://gitlab.example.com:8929/test/project-1/-/merge_requests/3",
    "labels" : [ {
      "id" : 1,
      "title" : "test",
      "color" : "#dc143c",
      "projectId" : 1,
      "createdAt" : "2024-06-18T09:49:19Z",
      "updatedAt" : "2024-06-18T09:49:19Z",
      "template" : false,
      "description" : null,
      "type" : "ProjectLabel",
      "groupId" : null
    } ],
    "action" : "update",
    "assignee" : null,
    "updatedById" : 2,
    "mergeError" : null,
    "mergeParams" : {
      "force_remove_source_branch" : "1"
    },
    "mergeWhenPipelineSucceeds" : false,
    "mergeUserId" : null,
    "deletedAt" : null,
    "inProgressMergeCommitSha" : null,
    "lockVersion" : null,
    "lastEditedAt" : null,
    "lastEditedById" : null,
    "headPipelineId" : 10,
    "refFetched" : null,
    "mergeIid" : null,
    "totalTimeSpent" : 0,
    "humanTotalTimeSpent" : null,
    "timeChange" : 0,
    "timeEstimate" : 0,
    "humanTimeEstimate" : null,
    "humanTimeChange" : null,
    "assigneeIds" : [ 2 ],
    "reviewerIds" : [ 2 ],
    "oldrev" : null
  },
  "labels" : [ {
    "id" : 1,
    "title" : "test",
    "color" : "#dc143c",
    "projectId" : 1,
    "createdAt" : "2024-06-18T09:49:19Z",
    "updatedAt" : "2024-06-18T09:49:19Z",
    "template" : false,
    "description" : null,
    "type" : "ProjectLabel",
    "groupId" : null
  } ],
  "changes" : {
    "authorId" : null,
    "createdAt" : null,
    "updatedAt" : {
      "previous" : "2024-06-23T04:50:24Z",
      "current" : "2024-06-25T16:27:01Z"
    },
    "updatedById" : null,
    "title" : {
      "previous" : "test: mr 34",
      "current" : "test: mr 35"
    },
    "description" : null,
    "state" : null,
    "milestoneId" : null,
    "labels" : null,
    "assignees" : null,
    "totalTimeSpent" : null,
    "mergeStatus" : null,
    "reviewers" : null
  },
  "assignees" : [ {
    "avatarUrl" : "https://www.gravatar.com/avatar/7123494d8036f53f6768016be85438d1b5cbea4047472d81ad5bcc0ca42b3025?s=80&d=identicon",
    "createdAt" : null,
    "email" : "[REDACTED]",
    "id" : 2,
    "name" : "hoang dobao",
    "state" : null,
    "username" : "hoang97",
    "webUrl" : null
  } ],
  "reviewers" : [ {
    "avatarUrl" : "https://www.gravatar.com/avatar/7123494d8036f53f6768016be85438d1b5cbea4047472d81ad5bcc0ca42b3025?s=80&d=identicon",
    "createdAt" : null,
    "email" : "[REDACTED]",
    "id" : 2,
    "name" : "hoang dobao",
    "state" : null,
    "username" : "hoang97",
    "webUrl" : null
  } ],
  "objectKind" : "merge_request"
}
Jun 25, 2024 4:27:02 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestSCMEvent
description() event:3 state:opened action:update project:test/project-1
Jun 25, 2024 4:27:02 PM FINEST io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
shouldBuild for MR-3 will be set for action update based on pipeline configuration.
Jun 25, 2024 4:27:02 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
isMatch() result for MR-3: true
Jun 25, 2024 4:27:03 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabSCMSource
hoang97 -> Trusted
Jun 25, 2024 4:27:03 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabSCMSource
root -> Trusted
Jun 25, 2024 4:27:03 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestSCMEvent
description() event:3 state:opened action:update project:test/project-1
Jun 25, 2024 4:27:03 PM FINEST io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
shouldBuild for MR-3 will be set for action update based on pipeline configuration.
Jun 25, 2024 4:27:03 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
isMatch() result for MR-3: true
Jun 25, 2024 4:27:11 PM FINE io.jenkins.plugins.gitlabbranchsource.helpers.GitLabPipelineStatusNotifier
RunListener: Started > test #53
Jun 25, 2024 4:27:12 PM FINE io.jenkins.plugins.gitlabbranchsource.helpers.GitLabPipelineStatusNotifier
RunListener: Complete > test #53
Jun 25, 2024 4:27:32 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestSCMEvent
description() event:3 state:opened action:update project:test/project-1
Jun 25, 2024 4:27:32 PM FINEST io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
shouldBuild for MR-3 will be set for action update based on pipeline configuration.
Jun 25, 2024 4:27:32 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
isMatch() result for MR-3: true
Jun 25, 2024 4:27:32 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabSCMSource
hoang97 -> Trusted
Jun 25, 2024 4:27:32 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabSCMSource
root -> Trusted
Jun 25, 2024 4:27:32 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestSCMEvent
description() event:3 state:opened action:update project:test/project-1
Jun 25, 2024 4:27:32 PM FINEST io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
shouldBuild for MR-3 will be set for action update based on pipeline configuration.
Jun 25, 2024 4:27:32 PM FINE io.jenkins.plugins.gitlabbranchsource.GitLabMergeRequestTrigger
isMatch() result for MR-3: true

As you can see, isMatch() function return true for this event.

@asoldo11
Copy link

I have a similar behavior - when I approve MR, nothing happens in Jenkins. I also do not have checked option Ignore builds for non-code related MR updates.

Logs are pretty similar to the above attached ones - isMatch() is also returning true, but nothing happens. Is there some other option I can check? Or some other option I can set in order to force build when MR is approved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants