{"id":27928506,"url":"https://github.com/jenkinsci/postbuildscript-plugin","last_synced_at":"2025-05-07T02:21:04.630Z","repository":{"id":39710000,"uuid":"2251389","full_name":"jenkinsci/postbuildscript-plugin","owner":"jenkinsci","description":"The PostBuildScript Jenkins plugin lets you execute a set of scripts at the end of the build depending on the build status.","archived":false,"fork":false,"pushed_at":"2025-05-02T10:08:10.000Z","size":945,"stargazers_count":46,"open_issues_count":2,"forks_count":43,"subscribers_count":96,"default_branch":"main","last_synced_at":"2025-05-02T11:25:05.494Z","etag":null,"topics":["build","devops","groovy","java","jenkins","jenkins-plugin","plugin","post","script","shell"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/postbuildscript","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["dheid"],"ko_fi":"dheid"}},"created_at":"2011-08-22T21:15:49.000Z","updated_at":"2025-05-02T10:08:08.000Z","dependencies_parsed_at":"2023-10-16T20:20:48.556Z","dependency_job_id":"fb794d2e-506e-4a3b-8465-35d726c4fa54","html_url":"https://github.com/jenkinsci/postbuildscript-plugin","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpostbuildscript-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpostbuildscript-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpostbuildscript-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fpostbuildscript-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/postbuildscript-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252799159,"owners_count":21805950,"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":["build","devops","groovy","java","jenkins","jenkins-plugin","plugin","post","script","shell"],"created_at":"2025-05-07T02:21:04.078Z","updated_at":"2025-05-07T02:21:04.609Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","readme":"![PostBuildScript](pbs-logo.svg)\n\n# PostBuildScript Jenkins plugin\n\n[![Build Status](https://ci.jenkins.io/job/Plugins/job/postbuildscript-plugin/job/main/badge/icon)](https://ci.jenkins.io/job/Plugins/job/postbuildscript-plugin/job/main/)\n[![Jenkins Plugins](https://img.shields.io/jenkins/plugin/v/postbuildscript.svg)](http://updates.jenkins-ci.org/download/plugins/postbuildscript)\n[![GitHub contributors](https://img.shields.io/github/contributors/jenkinsci/postbuildscript-plugin.svg)]()\n\nThe PostBuildScript plugin allows you to run the following actions after a build:\n\n* Batch or shell scripts\n* Groovy scripts\n* Build steps\n\nYou can configure these actions depending on the build status (i.e., only run when build is successful). \nScripts can also be executed on the master, on slaves or both. On matrix projects, the build can be executed on\neach axis.\n\n![User Interface](screenshot.png)\n\nPlease refer to the [plugin description](https://plugins.jenkins.io/postbuildscript) for further\ninformation.\n\n## Downloads\n\nYou'll find the latest HPI files of the plugin here:\n\nhttp://updates.jenkins-ci.org/download/plugins/postbuildscript\n\nJust put a HPI file into your plugins subdirectory of your Jenkins installation root, e.g. /var/lib/jenkins. Restart\nJenkins afterwards.\n\n## Issue Tracking\n\nPlease use the\n[official Jenkins Jira project and issue tracking software](https://issues.jenkins-ci.org/issues/?jql=component%20%3D%20postbuildscript-plugin)\nto report new bugs or request features.\n\nPlease first look through [Jira](https://issues.jenkins-ci.org/issues/?jql=component%20%3D%20postbuildscript-plugin). If a ticket\nalready exists, please add a comment and try to explain the issue a little more further. If no ticket exists, please open a new one.\n\nIn general please _provide example configurations_ (config.xml, Job DSL scripts, ...) and also screenshots are very helpful to reproduce\nproblems.\n\nPlease try to be constructive. If you have a feedback, it's better to write me a direct message. \n\n## Pull Requests\n\nFor bug fixes and enhancements to existing features, first make sure an issue is filed by checking [this Jira filter](https://issues.jenkins-ci.org/issues/?jql=status%20not%20in%20(Resolved%2C%20Closed%2C%20Done)%20AND%20component%20%3D%20postbuildscript-plugin)\n\nAfter that please create a pull request on GitHub with your change and link to the JIRA issue in the PR, and link to\nthe PR from the JIRA issue.\n\n## Release Notes\n\n### Version 3.4.1\n\n* [Allows to cancel the job without build failure](https://github.com/jenkinsci/postbuildscript-plugin/pull/219)\n\n### Version 3.4.0\n\n* Upgraded to Jenkins Plugin POM 5.1\n* Upgraded to Jenkins 2.462.3\n* Reformatted source code with Spotless\n\n### Version 3.3.0\n\n* Upgraded to Jenkins 2.452\n* Upgraded to JUnit 5\n\n### Version 3.2.0\n\nDependencies require Jenkins 2.359, so this will be the new base version for the PostBuildScript plugin.\n\n### Version 3.1.0\n\nUpdated Jenkins Plugin Parent to Version 4.32 to ensure, that no Log4j issues exist. Also updated Matrix Project dependency\nto 1.19, which requires at least Jenkins 2.282. Therefore switched to Jenkins version 2.289.\n\n### Version 3.0.0\n\nI removed several deprecated configuration parts in this version. They were deprecated long time ago on very old versions.\nOn https://stats.jenkins.io/plugin-installation-trend/postbuildscript.stats.json\nyou can see, that most installations use version 2.11.0 of this plugin now. Most versions silently upgrade to a newer configuration,\nso I recommend to first upgrade minor versions and save your job configurations. For most users there won't be a problem, but users of very old \nplugin versions \u003c 2.8.0 should first upgrade to at least 2.8.0 and save their job configurations.\n\n*Users of the Jenkins Job DSL should use the dynamic DSL and not the old manual implementation of the PostBuildScript publisher.*\n\n* JENKINS-65797 Due to major changes in the job configuration, this plugin version is now based on Jenkins 2.277.1 and therefore requires\na new Jenkins version. I also cannot guarantee, that old job configurations will work. Please mind potential broken configurations when\nupgrading and make sure, that you backed up your files. I recommend you to check your build jobs carefully.\n* Updates Jenkins Plugin Parent\n* Fix problem with script file path determination using Windows\n\n### Version 2.11.0\n\n* JENKINS-63529 - Allows configuring, whether to stop a post build step if any of its steps fails. \n\n### Version 2.10.0\n\n* Upgrade to parent POM version 4. It will at least support Jenkins 2.200\n\n### Version 2.9.1\n\n* JENKINS-57545 - Java 11 support\n\n### Version 2.8.1\n\n* JENKINS-53446 - Allows saving post-build script steps without actual build steps\n\n### Version 2.8.0\n\n* JENKINS-53691 - Implemented mechanism to migrate old matrix project post-build actions\n\n### Version 2.7.0\n\n* JENKINS-50799 - Skips script when flagged to run when failing\n\n### Version 2.6.0\n\nRemoved access to workspace on master for Groovy script execution, because secure groovy scripts cannot be configured\non slaves when using a master-to-slave callable. Groovy scripts may not access files of the master's workspace as a\nresult. However Groovy scripts can be run on slaves again. Thanks to John David for reporting this issue.\n\n* JENKINS-49952 - Groovy post-build script in matrix job throws exception\n\n### Version 2.5.1\n\nIf the shebang contains a space in front of the interpreter, it will be stripped out.\n\n* JENKINS-49681 - Scripts always fail when run in build, but succeed from command line\n\n### Version 2.5.0\n\nThis version introduces the ability to run Groovy scripts in a sandbox when activated using the checkbox in the configuration view.\n\nNow you can also select for each script whether it should be executed on each axe or on the whole matrix.\n\n* JENKINS-48014 - Allow sandboxing for Groovy scripts\n* JENKINS-22489 - Add the ability to specify where each script executes instead of all of the scripts when\nadded to a matrix job.\n\n### Version 2.4.0\n\nThe old option to build only on success or on failure will now be migrated differently: If both is not selected, the\nbehavior of versions previous to 1.0.0 was to build it independent of the actual build result. Previous versions (after\n1.0.0) simply migrate that to do nothing. With version 2.4.0 every build result will be selected in such cases.\n\n* JENKINS-49423 - Upgrade from 0.17 incomplete when scriptOnlyIfSuccess and scriptOnlyIfFailure are both false\n\n### Version 2.3.0\n\n* JENKINS-48931 - PostBuildScript Execute Script Execute Shell Textbox Formatting Broken\n\n### Version 2.2.1\n\nRemoving deprecated fields from configuration\n\nUsing default values for results and roles on newly created script items.\n\n### Version 2.2.0\n\nUnified script file handling.\n\nThere are separate messages now, if a script is not run because the build result or the role does not fit.\n\n### Version 2.1.0\n\nDan Clayton added the BUILD_RESULT variable to allow handling script actions depending on the build result.\n\n### Version 2.0.0\n\nRefactored the way, how script files are differentiated. This ensures extensibility and helps removing redundant code.\n\nAlso removed null pointer exception that occurs on executing a postbuild groovy script on an agent.\n\n### Version 1.1.1\n\nFixed some bugs that came in with the release of a new major version. Sorry for the inconvenience.\n\n* JENKINS-48197 - Do not initialize fields already loaded from configuration\n* JENKINS-48177 - Even marking build as unstable when errors during script execution appear\n* JENKINS-48169 - Using better descriptions for role limitations \n\n### Version 1.1.0\n\nAttention: This is a major refactoring of the plugin. It hasn't been updated for years now. The configuration was changed,\nbut your existing configuration will be automatically migrated to the new format. I cannot reproduce every configuration, so\nplease open a bug ticket (and try to be kind, I'm doing this in my free time and don't want to harm anyone).\n\n* JENKINS-11285 - Ability to run postbuild script on a given node\n\n### Version 1.0.0\n* JENKINS-30011 - Allow multiple instances of Post Build Scripts as a post build action\n* Fix JENKINS-28825 - Confusing error message when leaving script path empty\n* Major refactoring, but still trying to be downwards compatible\n* Added help files and translations\n* JENKINS-24308 - Expost build variable, the AbstractBuild\n\n### Version 0.18\n* Fix JENKINS-43637 - Arbitrary code execution vulnerability:\nhttps://github.com/jenkinsci/postbuildscript-plugin/pull/15\n* Fix JENKINS-19873 - Batch or a shell script files to execute doesn't run with arguments\n\n### Version 0.17\n* Added an option to set the build to unstable instead of failed\n\n### Version 0.16\n* Fix JENKINS-16789 - Concurrent builds using postbuildscript plugin will wait for all the instances to finish\n\n### Version 0.15\n* Fix JENKINS-19954 - PostBuildScript runs for each matrix configuration rather than after they are all completed when\nset to MATRIX\n\n### Version 0.14\n* Fix JENKINS-19326 - Groovy script should execute with workspace dir as working directory.\n* Fix JENKINS-19072 - No Such Field: 'executeOnMatrixNodes'\n* Fix JENKINS-18936 - checkbox is not staying checked\n* Fix JENKINS-19033 - execution is always last, rather than where placed in the post-build actions list\n* Fix JENKINS-18530 - Postbuild script plugin not respecting order in Post-build Action\n\n### Version 0.13\n* Fix JENKINS-11219 - execution is always last, rather than where placed in the post-build actions list\n\n### Version 0.12\n* Let user configure script to be executed either on matrix head or axes nodes. Hidden for non-matrix projects\n\n### Version 0.11\n* Fix JENKINS-15395 - Add checkbox to run script when build fails (as well as when it passes)\n\n### Version 0.10\n* Fix JENKINS-14668 - failure to load without ivy plugin installed\n\n### Version 0.9\n* Merge pull request - Make dependency to Ivy plugin optional\n\n### Version 0.8\n* Fixed JENKINS-13418 - PostBuildScript plugin does not load its configuration properly\n* Change default value for condition to run scripts if the build is not on success.\n\n### Version 0.7\n* Fixed a bug where this plugin breaks Promoted Builds Plugin\n\n### Version 0.6\n* Added support of Ivy job type\n\n### Version 0.5\n* Built for 1.409 (LTS series)\n* Added an option to run this build scripts only on success (merge pull request)\n\n### Version 0.4\n* Fixed JENKINS-11219 - Add the option to run the script after all the sub elements of a matrix project build have\nfinished\n\n### Version 0.3\n* Added job build steps to post-build actions\n\n### Version 0.2\n* Fixed JENKINS-10889 - PostBuildScript plugin fails with Maven2 jobs\n\n### Version 0.1\n* Initial Version\n","funding_links":["https://github.com/sponsors/dheid","https://ko-fi.com/dheid"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fpostbuildscript-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fpostbuildscript-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fpostbuildscript-plugin/lists"}