Skip to content
Calcrivo

Plugin Dependency Calculator

Calculate total Jenkins plugin count including transitive dependencies, and an update risk score based on dependency depth.

Inputs

plugins

Plugins explicitly installed/selected by administrators.

plugins

Additional plugins pulled in automatically as dependencies of direct plugins.

plugins

Number of installed plugins (direct + transitive) with a newer version available.

levels

Average number of dependency hops from a direct plugin to its deepest transitive dependency.

Total Plugins (Direct + Transitive)

65plugins

Update Risk Score

34.7

Risk Tier

moderate

Outdated Plugin Share

12.3%

Step by step

  1. Total plugins = direct + transitive

    25 + 40

    = 65 plugins

  2. Outdated share

    8 ÷ 65 × 100

    = 12.3%

  3. Update risk score

    12.3% × 0.5 + 1.60 × 10 + 2.5 × 5

    = 34.7 (moderate)

How it works

Every Jenkins plugin an administrator installs directly can pull in a chain of transitive plugin dependencies, so the real plugin count managed by the controller is almost always larger than what was explicitly chosen. The update risk score combines three signals — how large a share of the installed base is outdated, how much dependency sprawl transitive plugins add relative to direct installs, and how deep the dependency chains run — since deeper, more sprawling, more outdated plugin graphs are harder to safely update without breaking compatibility somewhere in the chain.

Formula

riskScore = outdatedPercent × 0.5 + transitiveRatio × 10 + avgDepth × 5

O
Outdated plugins count
N
Total plugins (direct + transitive)
T
Transitive plugin dependencies
D
Direct plugins installed
d
Average dependency depth
R
Update risk score

Frequently Asked Questions

Why do transitive dependencies increase update risk?

Updating a direct plugin can force version bumps in its transitive dependencies, which may themselves be depended on by other, unrelated direct plugins — deep and sprawling dependency graphs increase the chance that a single update triggers a cascade of version conflicts across seemingly unrelated plugins.

How can I reduce Jenkins plugin update risk?

Regularly audit and remove unused direct plugins (which also removes their transitive dependencies if nothing else needs them), keep plugins updated incrementally rather than batching many major updates at once, and test plugin updates in a staging controller before applying to production.

Does the Jenkins Plugin Manager show transitive dependencies?

Yes — the 'Advanced' tab of Manage Plugins and the plugin installation manager show a dependency graph, and `jenkins-cli` / the Plugin Installation Manager Tool can list the full resolved dependency tree for a given plugin set.

You might also need