jenkinsci / jenkinsci/plugin-installation-manager-tool
Plugins don't update
- Dominant language
- Java
- Stars
- 463
- Forks
- 228
- Avg merge
- 31m
- Merged PRs (30d)
- 15
Description
### Jenkins and plugins versions report
Environment
Jenkins version: 2.462.2
```text
jenkins-plugin-manager-2.13.2.jar
```
### What Operating System are you using (both controller, and any agents involved in the problem)?
Rocky Linux 9
### Reproduction steps
java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins --plugin-file /var/lib/jenkins/update_plugins.txt --verbose
java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins --plugin-file /var/lib/jenkins/update_plugins.txt --latest false --verbose
### Expected Results
Plugins update
### Actual Results
java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins --plugin-file /var/lib/jenkins/update_plugins.txt --verbose
File containing list of plugins to be downloaded: /var/lib/jenkins/update_plugins.txt
Reading in plugins from /var/lib/jenkins/update_plugins.txt
Plugin download location: /var/lib/jenkins/plugins
No CLI option or environment variable set for update center, using default of https://updates.jenkins.io/update-center.json
No CLI option or environment variable set for experimental update center, using default of https://updates.jenkins.io/experimental/update-center.json
No CLI option or environment variable set for incrementals mirror, using default of https://repo.jenkins-ci.org/incrementals
No CLI option or environment variable set for plugin info, using default of https://updates.jenkins.io/plugin-versions.json
Will use war file: /usr/share/java/jenkins.war
Jenkins version: 2.462.2
Retrieving update center information
Update center URL: https://updates.jenkins.io/update-center.json?version=2.462.2
Returning cached value for: update-center-2.462.2
Returning cached value for: plugin-versions
Setting checksum for: JDK_Parameter_Plugin to HhmNVqBRKwqQ9or9rAaS8GHRXNsBX+QQVOQlF6VMPmY=
Setting checksum for: JDK_Parameter_Plugin to HhmNVqBRKwqQ9or9rAaS8GHRXNsBX+QQVOQlF6VMPmY=
JDK_Parameter_Plugin has no dependencies
Setting checksum for: JDK_Parameter_Plugin to HhmNVqBRKwqQ9or9rAaS8GHRXNsBX+QQVOQlF6VMPmY=
Setting checksum for: Parameterized-Remote-Trigger to m0sG4+MbJjhmE67TMQ9uuhxSOCGipbXU+Nel0gsvqj8=
Setting checksum for: Parameterized-Remote-Trigger to m0sG4+MbJjhmE67TMQ9uuhxSOCGipbXU+Nel0gsvqj8=
Parameterized-Remote-Trigger depends on:
opentelemetry 2.10.0
workflow-step-api 639.v6eca_cd8c04a_a_
credentials 1143.vb_e8b_b_ceee347
script-security 1218.v39ca_7f7ed0a_c
token-macro 321.vd7cc1f2a_52c8
Skipping dependency workflow-step-api:639.v6eca_cd8c04a_a_ and its sub-dependencies, because there is a higher version defined on the top level - workflow-step-api:678.v3ee58b_469476
Skipping dependency credentials:1143.vb_e8b_b_ceee347 and its sub-dependencies, because there is a higher version defined on the top level - credentials:1380.va_435002fa_924
Skipping dependency script-security:1218.v39ca_7f7ed0a_c and its sub-dependencies, because there is a higher version defined on the top level - script-security:1365.v4778ca_84b_de5
Skipping dependency token-macro:321.vd7cc1f2a_52c8 and its sub-dependencies, because there is a higher version defined on the top level - token-macro:400.v35420b_922dcb_
Setting checksum for: Parameterized-Remote-Trigger to m0sG4+MbJjhmE67TMQ9uuhxSOCGipbXU+Nel0gsvqj8=
Setting checksum for: Parameterized-Remote-Trigger to m0sG4+MbJjhmE67TMQ9uuhxSOCGipbXU+Nel0gsvqj8=
Setting checksum for: active-directory to zd4KTO8Pvwr9H7ZfGvEYcfLr+le2kJIEAgENQ63itzc=
Setting checksum for: active-directory to zd4KTO8Pvwr9H7ZfGvEYcfLr+le2kJIEAgENQ63itzc=
active-directory depends on:
caffeine-api 3.1.8-133.v17b_1ff2e0599
configuration-as-code 1836.vccda_4a_122a_a_e
mailer 470.vc91f60c5d8e2
Skipping dependency caffeine-api:3.1.8-133.v17b_1ff2e0599 and its sub-dependencies, because there is a higher version defined on the top level - caffeine-api:3.1.8-133.v17b_1ff2e0599
Skipping dependency mailer:470.vc91f60c5d8e2 and its sub-dependencies, because there is a higher version defined on the top level - mailer:488.v0c9639c1a_eb_3
Setting checksum for: active-directory to zd4KTO8Pvwr9H7ZfGvEYcfLr+le2kJIEAgENQ63itzc=
Setting checksum for: active-directory to zd4KTO8Pvwr9H7ZfGvEYcfLr+le2kJIEAgENQ63itzc=
Setting checksum for: android-emulator to MdGoXlMRCQsHXI0nfIdkvfxK279wqzwwTyIuSp0VIRo=
Setting checksum for: android-emulator to MdGoXlMRCQsHXI0nfIdkvfxK279wqzwwTyIuSp0VIRo=
Done
### Anything else?
I writing bash script to updates Jenkins plugins.
```
# Get the list of installed plugins and save it to plugins.txt
java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins --list \
| tail -n +2 | grep -E '^[a-zA-Z0-9._-]+ [0-9a-zA-Z.-]+|^[a-zA-Z0-9._-]+-[0-9a-zA-Z.-]+$'| awk '{print $1 ":" $2}' > "$PLUGIN_FILE"
# Get available updates and save them to available_updates.txt
java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins --plugin-file /var/lib/jenkins/plugins.txt --available-updates --output txt > "$UPDATE_FILE"
# Update plugins
echo "Updating Jenkins plugins..."
java -jar jenkins-plugin-manager-*.jar --war /usr/share/java/jenkins.war --plugin-download-directory /var/lib/jenkins/plugins --plugin-file /var/lib/jenkins/update_plugins.txt --verbose
```
I put plugins list with new version in file
update_plugins.txt
```
JDK_Parameter_Plugin:1.2
Parameterized-Remote-Trigger:3.2.0
active-directory:2.37
android-emulator:592.vb_b_6d427f1923
ansicolor:1.0.5
ant:511.v0a_a_1a_334f41b_
```
Example installed active-directory:2.36 available new active-directory:2.37
Could you assist, what do I wrong?
### Are you interested in contributing a fix?
_No response_
Contributor guide
Research direction
Start by reproducing the listed jenkins-plugin-manager command with the supplied update_plugins.txt and inspect its verbose output, especially the cached update-center messages. Confirm how the tool handles requested plugin versions and caching; done means the specified newer versions are downloaded into /var/lib/jenkins/plugins.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, java
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 32/100