{"id":15045787,"url":"https://github.com/jenkinsci/pipeline-dependency-walker-plugin","last_synced_at":"2025-10-19T21:32:11.556Z","repository":{"id":18546454,"uuid":"79239414","full_name":"jenkinsci/pipeline-dependency-walker-plugin","owner":"jenkinsci","description":"Jenkins plugin, pipeline step, that allows you to perform given pipeline step(s) on a maven job and all its linked jobs.","archived":false,"fork":false,"pushed_at":"2022-12-15T17:41:19.000Z","size":62,"stargazers_count":2,"open_issues_count":4,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-30T06:11:15.262Z","etag":null,"topics":["dependency-graph","jenkins","pipeline"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/pipeline-dependency-walker/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-17T15:10:09.000Z","updated_at":"2023-10-17T21:08:30.000Z","dependencies_parsed_at":"2022-08-24T13:21:21.895Z","dependency_job_id":null,"html_url":"https://github.com/jenkinsci/pipeline-dependency-walker-plugin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpipeline-dependency-walker-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpipeline-dependency-walker-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpipeline-dependency-walker-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpipeline-dependency-walker-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/pipeline-dependency-walker-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237221176,"owners_count":19274447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dependency-graph","jenkins","pipeline"],"created_at":"2024-09-24T20:52:16.722Z","updated_at":"2025-10-19T21:32:06.309Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Dependency Walker Plugin\n========================\n\nLicensed under [MIT Licence].\n\n\nAbout\n-----\nAllows you to perform given pipeline step(s) on a job and all its linked jobs.\n\nLinked jobs are the upstreams of the job, derived from maven dependencies. Dependency graph can be visualized using\n[Dependency Graph View Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Dependency+Graph+View+Plugin).\n\n\nUsage scenarios\n---------------\n\n### Clean build\nThe plugin can be used to preform a clean build in the isolated environment for the group of dependent projects.\n\nExample of pipeline configuration:\n```groovy\nnode {\n    stage('build') {\n        echo \"cleanup workspace\"\n        deleteDir()\n\n        mvnRepo=pwd() + \"/m2\" // set local maven repo\n        echo \"use maven repo $mvnRepo\"\n\n        walk job: 'parent-project', jobAction: '''\n            dir(JOB_NAME) {\n                git url: JOB_SCM_URL, branch: JOB_SCM_BRANCH, credentialsId: JOB_SCM_CREDINTIALS_ID\n                withMaven(maven: 'mvn', mavenLocalRepo: mvnRepo) {\n                    sh \"mvn clean install\"\n                }\n            }\n        '''\n    }\n}\n\n```\n\n### Multiple release\nAnother use case is a multiple release. When the release action \n(see [Release Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Release+Plugin) or \n[M2 Release Plugin](https://wiki.jenkins-ci.org/display/JENKINS/M2+Release+Plugin)) is defined\nin a way that it drops SNAPSHOT keyword from dependencies, than using this plugin one can trigger\na consistent release of multiple modules.\nIn this scenario release should first update dependencies, for example invoking following maven target: \n   `versions:use-releases scm:checkin -Dmessage=\"drop snapshot versions\"` \n\nIn some way the plugin is an alternative to [Maven Cascade Release Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Maven+Cascade+Release+Plugin).\n\nExample of pipeline configuration:\n```groovy\nnode {\n    stage('build') {\n        walk job: 'parent-project', failOnUnstable: true, jobAction: 'release JOB_NAME'\n    }\n}\n```\n\nHow to develop\n--------------\n\nFirst run a development instance of jenkins by executing a command\n   mvn hpi:run\n\nGo to [jenkins development instance](http://localhost:8080/jenkins) and configure as following:\n1. In [system configuration](http://localhost:8080/jenkins/configure) click on `Maven installations...` button and configure:\n  * Set `Name` to `mvn`\n  * deselect`Install automatically`\n  * set `MAVEN_HOME` to your local maven installation (e.g. `/usr/share/maven`)\n2. In [plugin manager](http://localhost:8080/jenkins/pluginManager/available) install following plugins with *restart*:\n  * [Pipeline](https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin)\n  * [Pipeline Maven Integration Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Maven+Plugin)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fpipeline-dependency-walker-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fpipeline-dependency-walker-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fpipeline-dependency-walker-plugin/lists"}