jenkinsci / plasticscm-plugin

A plugin for Jenkins to be able to use Plastic SCM
MIT License
15 stars 31 forks source link

Can't use plugin to use pipline script from scm #81

Open rustymilkvankrupt opened 5 days ago

rustymilkvankrupt commented 5 days ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.462.3 OS: Linux - 5.15.0-122-generic Java: 17.0.6 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM) --- ant:511.v0a_a_1a_334f41b_ antisamy-markup-formatter:162.v0e6ec0fcfcf6 apache-httpcomponents-client-4-api:4.5.14-208.v438351942757 asm-api:9.7.1-95.v9f552033802a_ bootstrap5-api:5.3.3-1 bouncycastle-api:2.30.1.78.1-248.ve27176eb_46cb_ branch-api:2.1178.v969d9eb_c728e build-timeout:1.33 caffeine-api:3.1.8-133.v17b_1ff2e0599 checks-api:2.2.1 cloudbees-folder:6.955.v81e2a_35c08d3 command-launcher:115.vd8b_301cc15d0 commons-lang3-api:3.17.0-84.vb_b_938040b_078 commons-text-api:1.12.0-129.v99a_50df237f7 config-file-provider:978.v8e85886ffdc4 credentials:1384.vf0a_2ed06f9c6 credentials-binding:681.vf91669a_32e45 dark-theme:479.v661b_1b_911c01 display-url-api:2.204.vf6fddd8a_8b_e9 durable-task:577.v2a_8a_4b_7c0247 echarts-api:5.5.1-1 eddsa-api:0.3.0-4.v84c6f0f4969e email-ext:1844.v3ea_a_b_842374a_ font-awesome-api:6.6.0-2 git:5.5.2 git-client:5.0.0 github:1.40.0 github-api:1.321-468.v6a_9f5f2d5a_7e github-branch-source:1797.v86fdb_4d57d43 gradle:2.13.1 gson-api:2.11.0-41.v019fcf6125dc instance-identity:201.vd2a_b_5a_468a_a_6 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 jdk-tool:80.v8a_dee33ed6f0 jjwt-api:0.11.5-112.ve82dfb_224b_a_d joda-time-api:2.13.0-85.vb_64d1c2921f1 jquery3-api:3.7.1-2 json-api:20240303-41.v94e11e6de726 json-path-api:2.9.0-58.v62e3e85b_a_655 junit:1304.vc85a_b_ca_96613 ldap:725.v3cb_b_711b_1a_ef mailer:488.v0c9639c1a_eb_3 matrix-auth:3.2.2 matrix-project:839.vff91cd7e3a_b_2 metrics:4.2.21-451.vd51df8df52ec mina-sshd-api-common:2.14.0-133.vcc091215a_358 mina-sshd-api-core:2.14.0-133.vcc091215a_358 nodejs:1.6.2 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:340.v28cecee8b_25f pipeline-groovy-lib:730.ve57b_34648c63 pipeline-input-step:495.ve9c153f6067b_ pipeline-milestone-step:119.vdfdc43fc3b_9a_ pipeline-model-api:2.2214.vb_b_34b_2ea_9b_83 pipeline-model-definition:2.2214.vb_b_34b_2ea_9b_83 pipeline-model-extensions:2.2214.vb_b_34b_2ea_9b_83 pipeline-stage-step:312.v8cd10304c27a_ pipeline-stage-tags-metadata:2.2214.vb_b_34b_2ea_9b_83 plain-credentials:183.va_de8f1dd5a_2b_ plasticscm-plugin:4.4 plugin-util-api:5.1.0 resource-disposer:0.24 scm-api:696.v778d637b_a_762 script-security:1362.v67dc1f0e1b_b_3 snakeyaml-api:2.3-123.v13484c65210a_ ssh-credentials:343.v884f71d78167 ssh-slaves:2.973.v0fa_8c0dea_f9f sshd:3.330.vc866a_8389b_58 structs:338.v848422169819 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:600.vb_57cdd26fdd7 workflow-api:1336.vee415d95c521 workflow-basic-steps:1058.vcb_fc1e3a_21a_9 workflow-cps:3969.vdc9d3a_efcc6a_ workflow-durable-task-step:1371.vb_7cec8f3b_95e workflow-job:1436.vfa_244484591f workflow-multibranch:795.ve0cb_1f45ca_9a_ workflow-scm-step:427.v4ca_6512e7df1 workflow-step-api:678.v3ee58b_469476 workflow-support:926.v9f4f9b_b_98c19 ws-cleanup:0.47 ```

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

controller = Ubuntu 22.04.5 LTS vm agent = windows 10 pro vm (not getting to that step)

Reproduction steps

  1. Install plastic scm to version "11.0.16.8906" on cli
  2. Create the Jenkins job
  3. configure cm connection through cli on the controller
  4. under pipeline choose "create script from scm" and select "plastic scm" now I see the following error tooltip :

The cm command 'cm repo list ssl:// --server=ssl://' failed after 3 retries Image

  1. try the same thing with valid credentials and see the following error tooltip

The cm command 'cm repo list ssl:// --server=ssl:// --workingmode=UPWorkingMode --username=* **' failed after 3 retries

Image

  1. Ignore the issue and try running the job to get the following error in the console output:

Image

  1. Test the commands in the tooltip directly on the controller and see a list of the repos:

user@controller-vm:~$ cm repo list repo1@ssl://** repo2#ssl://*** etc, etc

Expected Results

I expect it to be able to see the list of repositories and pull them, as they are available on the controller. I also expected the cm commands to not work in the cli if they are not working in the plugin

Actual Results

I see tooltip errors for commands that work in cli

Anything else?

I am very certain of the repo name and user credentials. I have tried both "working modes": "use system configuration" and "user & passwords" feel free to reach out to me about this issue. I can work around it for now, but I would like to get this issue resolved.

Are you interested in contributing a fix?

No response

mig42 commented 3 days ago

Hi @rustymilkvankrupt , thanks for the report.

I noticed that you tried running cm repo list in the controller, and that worked. However, the pipeline checkout might be taking place in the agent - could you please share the job config to verify that? Agents might not have the local cm configuration as you have in the controller.

Additionally, have you tried running the full command in a non-configured machine? You can achieve that by renaming the $HOME/.plastic4 directory in Linux/macOS or $env:LOCALAPPDATA\plastic4 in Windows. Then, run the full command like follows:

cm repo list ssl://${server_domain_name}:${server_port} \
    --server=ssl://${server_domain_name}:$server_port} \
    --workingmode=UPWorkingMode \
    --username=${your_user_name} \
    --password=${your_password}

Also double check that you're using the correct working mode and that you're contacting the SSL port in your on-prem server, just in case.