jenkinsci / gitlab-branch-source-plugin

A Jenkins Plugin for GitLab Multibranch Pipeline jobs and Folder Organization
https://plugins.jenkins.io/gitlab-branch-source
MIT License
119 stars 85 forks source link

Wrong link URLs to GitLab #380

Closed lmife closed 4 months ago

lmife commented 5 months ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.414.3 OS: Linux - 4.19.0-24-amd64 Java: 11.0.21 - Debian (OpenJDK 64-Bit Server VM) --- Parameterized-Remote-Trigger:3.2.0 SquishPlugin:8.6 active-directory:2.34 analysis-model-api:11.11.0 ansicolor:1.0.4 ant:497.v94e7d9fffa_b_9 antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 artifactory:4.0.0 atlassian-bitbucket-server-integration:4.0.0 authentication-tokens:1.53.v1c90fd9191a_b_ badge:1.9.1 basic-branch-build-strategies:81.v05e333931c7d blueocean:1.27.9 blueocean-autofavorite:1.2.5 blueocean-bitbucket-pipeline:1.27.9 blueocean-commons:1.27.9 blueocean-config:1.27.9 blueocean-core-js:1.27.9 blueocean-dashboard:1.27.9 blueocean-display-url:2.4.2 blueocean-events:1.27.9 blueocean-git-pipeline:1.27.9 blueocean-github-pipeline:1.27.9 blueocean-i18n:1.27.9 blueocean-jira:1.27.9 blueocean-jwt:1.27.9 blueocean-personalization:1.27.9 blueocean-pipeline-api-impl:1.27.9 blueocean-pipeline-editor:1.27.9 blueocean-pipeline-scm-api:1.27.9 blueocean-rest:1.27.9 blueocean-rest-impl:1.27.9 blueocean-web:1.27.9 bootstrap5-api:5.3.2-2 bouncycastle-api:2.29 branch-api:2.1128.v717130d4f816 build-failure-analyzer:2.4.2 build-monitor-plugin:1.14-745.ve2023a_305f40 build-timeout:1.31 buildtriggerbadge:251.vdf6ef853f3f5 caffeine-api:3.1.8-133.v17b_1ff2e0599 categorized-view:1.13 checks-api:2.0.2 cloudbees-bitbucket-branch-source:848.v42c6a_317eda_e cloudbees-folder:6.858.v898218f3609d cmakebuilder:4.1.1 cobertura:1.17 code-coverage-api:4.99.0 command-launcher:107.v773860566e2e commons-lang3-api:3.13.0-62.v7d18e55f51e2 commons-text-api:1.11.0-94.v3e1f4a_926e49 config-file-provider:959.vcff671a_4518b_ copyartifact:722.v0662a_9b_e22a_c coverage:1.2.0 cppcheck:1.26 credentials:1307.v3757c78f17c3 credentials-binding:642.v737c34dea_6c2 custom-tools-plugin:0.8 customize-build-now:12.v02e75793cf75 dark-theme:336.v02165cd8c2ee data-tables-api:1.13.6-5 display-url-api:2.200.vb_9327d658781 docker-commons:439.va_3cb_0a_6a_fb_29 docker-workflow:572.v950f58993843 dtkit-api:3.0.2 durable-task:523.va_a_22cf15d5e0 dynamic-search-view:0.4.0 echarts-api:5.4.0-7 email-ext:2.102 enhanced-old-build-discarder:1.5-SNAPSHOT (private-29052e96-hemmati) extended-choice-parameter:376.v2e02857547b_a_ external-monitor-job:215.v2e88e894db_f8 external-workspace-manager:1.3.1 extra-columns:1.26 extra-tool-installers:1.2 favorite:2.4.3 file-operations:131.v32b_e7824fe95 font-awesome-api:6.4.2-1 forensics-api:2.3.0 generic-webhook-trigger:1.88.0 git:5.2.0 git-client:4.5.0 git-forensics:2.0.0 git-parameter:0.9.19 git-server:99.va_0826a_b_cdfa_d github:1.37.3.1 github-api:1.316-451.v15738eef3414 github-branch-source:1741.va_3028eb_9fd21 gitlab-api:5.3.0-91.v1f9a_fda_d654f gitlab-branch-source:684.vea_fa_7c1e2fe3 gradle:2.9 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 hidden-parameter:138.v2a_c30d04e566 htmlpublisher:1.32 http_request:1.18 instance-identity:185.v303dc7c645f9 ionicons-api:56.v1b_1c8c49374e jackson2-api:2.15.3-366.vfe8d1fa_f8c87 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:243.vb_b_503b_b_45537 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.9-1 jdk-tool:73.vddf737284550 jenkins-design-language:1.27.9 jersey2-api:2.41-133.va_03323b_a_1396 jira:3.11 jira-steps:2.0.165.v8846cf59f3db jjwt-api:0.11.5-77.v646c772fddb_0 jnr-posix-api:3.1.18-1 job-restrictions:0.8 jobConfigHistory:1229.v3039470161a_d jquery:1.12.4-1 jquery3-api:3.7.1-1 jsch:0.2.8-65.v052c39de79b_2 junit:1240.vf9529b_881428 keyboard-shortcuts-plugin:1.4 ldap:711.vb_d1a_491714dc lockable-resources:1185.v0c528656ce04 mailer:463.vedf8358e006b_ mapdb-api:1.0.9-28.vf251ce40855d markdown-formatter:95.v17a_965e696ee material-theme:0.5.2-rc100.6121925fe229 matrix-auth:3.2.1 matrix-project:818.v7eb_e657db_924 maven-plugin:3.23 mercurial:1260.vdfb_723cdcc81 metrics:4.2.18-442.v02e107157925 mina-sshd-api-common:2.11.0-86.v836f585d47fa_ mina-sshd-api-core:2.11.0-86.v836f585d47fa_ monitoring:1.95.0 multibranch-build-strategy-extension:1.1.0 nodelabelparameter:1.12.0 okhttp-api:4.11.0-157.v6852a_a_fa_ec11 pam-auth:1.10 parameterized-scheduler:255.v73827fcdf618 percentage-du-node-column:0.1.0 pipeline-build-step:516.v8ee60a_81c5b_9 pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:689.veec561a_dee13 pipeline-input-step:477.v339683a_8d55e pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2150.v4cfd8916915c pipeline-model-definition:2.2150.v4cfd8916915c pipeline-model-extensions:2.2150.v4cfd8916915c pipeline-rest-api:2.34 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2150.v4cfd8916915c pipeline-stage-view:2.34 pipeline-utility-steps:2.16.0 plain-credentials:143.v1b_df8b_d3b_e48 plot:2.1.12 plugin-util-api:3.6.0 prism-api:1.29.0-8 pubsub-light:1.18 repo:1.16.0 resource-disposer:0.23 scm-api:676.v886669a_199a_a_ script-security:1275.v23895f409fb_d shelve-project-plugin:3.2 sidebar-link:2.4.1 simple-theme-plugin:160.vb_76454b_67900 snakeyaml-api:2.2-111.vc6598e30cc65 solarized-theme:0.1 sonar:2.16.1 sse-gateway:1.26 ssh-agent:346.vda_a_c4f2c8e50 ssh-credentials:308.ve4497b_ccd8f4 ssh-slaves:2.916.vd17b_43357ce4 ssh-steps:2.0.68.va_d21a_12a_6476 sshd:3.312.v1c601b_c83b_0e startup-trigger-plugin:2.9.4 structs:325.vcb_307d2a_2782 subversion:2.17.3 theme-manager:211.vef2a_42c645a_b_ thinBackup:1.18 timestamper:1.26 token-macro:384.vf35b_f26814ec trilead-api:2.84.v72119de229b_7 update-sites-manager:2.0.0 variant:60.v7290fc0eb_b_cd versioncolumn:213.v4fe4f71a_1f57 view-job-filters:369.ve0513a_a_f5524 warnings-ng:10.5.1 workflow-aggregator:596.v8c21c963d92d workflow-api:1283.v99c10937efcb_ workflow-basic-steps:1042.ve7b_140c4a_e0c workflow-cps:3806.va_3a_6988277b_2 workflow-durable-task-step:1289.v4d3e7b_01546b_ workflow-job:1360.vc6700e3136f5 workflow-multibranch:756.v891d88f2cd46 workflow-scm-step:415.v434365564324 workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:865.v43e78cc44e0d ws-cleanup:0.45 xunit:3.1.3 ```

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

Debian 11, Debian 12

Reproduction steps

We run both Jenkins and GitLab server behind a proxy. Jenkins can access GitLab directly, without the proxy. But, other clients must use the proxy-URL in order to access Jenkins and GitLab Server

  1. In Jenkins: "Configure GitLab" -> "Server URL": https://gitlab-proxy.domain
  2. set up a multi-branch pipeline and trigger a build

Expected Results

The "Branch" and "Commit" links should point to the GitLab proxy address like the "Project" URL.

Actual Results

The "Branch" and "Commit" URLs point to the GitLab server in the internal network directly. Clicking on these will result in 404.

Anything else?

No response

Are you interested in contributing a fix?

Currently, I'm testing a fix which seems to solve the problem. Existing "Commit" links will not be fixed as these are saved as build actions. The links there are static. This is fine for me, though. Over time these builds will be removed by the log rotator anyway. "Branch" links get fixed after a project re-scan. So, this looks promising.

I will create a PR when I'm happy with my test results.