downloadService.post('org.jenkinsci.plugins.scriptler.CentralScriptJsonCatalog',{"list": [ { "authors": [{"name": "Andrew Bayer"}], "comment": "Runs the log rotator for each job, purging old builds if needed.", "core": "1.409", "name": "Purge Old Builds", "parameters": [], "script": "purgeOldBuilds.groovy" }, { "authors": [ { "email": "Andrei.Pozolotin@gmail.com", "name": "Andrei Pozolotin" }], "comment": "returns reverse sorted git tag list, assuming X.Y.Z version format in the tag; for use with https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Dynamic+Parameter+Plug-in", "core": "1.450", "name": "Barchart : Git Tag List", "parameters": ["paramTag"], "script": "barchartGitTagList.groovy" }, { "authors": [{"name": "Thomas LÉVEIL"}], "comment": "Modify the password for an existing credential identified by username", "core": "1.609", "name": "Change credential password", "parameters": [ "username", "password" ], "script": "changeCredentialPassword.groovy" }, { "authors": [{"name": "Arun Sangal"}], "comment": "For a given job and a given build numnber, delete all build except the user provided one.", "core": "1.410", "name": "Bulk Delete Builds except the given build number", "parameters": [ "jobName", "buildNumber" ], "script": "bulkDeleteJenkinsBuildsExceptOne.groovy" }, { "authors": [{"name": "EJ Ciramella"}], "comment": "This script will go through all workspaces for any/all jobs and remove them.", "core": "1.300", "name": "Workspace Cleaner", "parameters": [], "script": "workspace-cleaner.groovy" }, { "authors": [{"name": "Thomas Froehlich - mail@thomas-froehlich.net"}], "comment": "This allows you to manipulate the build parameters and also add new ones depending on existing ones.", "core": "1.300", "name": "inject and manipulate build parameters", "parameters": [], "script": "injectAndManipulateBuildParameters.groovy" }, { "authors": [{"name": "Sebastian Schuberth"}], "comment": "Searches job names and configurations for a matching plain text for regexp pattern", "core": "1.300", "name": "Search Job Configuration", "parameters": [ "pattern", "details", "disabled" ], "script": "searchJobConfiguration.groovy" }, { "authors": [{"name": "Andrew Bayer"}], "comment": "For a given job and a given range of possible build numbers, delete those builds.", "core": "1.409", "name": "Bulk Delete Builds", "parameters": [ "jobName", "buildRange" ], "script": "bulkDeleteBuilds.groovy" }, { "authors": [{"name": "EJ Ciramella"}], "comment": "This script came about because there were many jobs that were both scheduled to run @midnight AND were polling the scm truth server. Doing one or the other makes sense, but having polling AND @midnight doesn't. This script will iterate over all the projects and pull out the timer based trigger as well as set the minute interval for how often it should poll. Initially, I used this to move from a really slopply written polling interval string to */5 (run every 5 minutes).", "core": "1.300", "name": "Trigger Manipulator", "parameters": [], "script": "trigger-manipulator.groovy" }, { "authors": [{"name": "Ben Walding (kuisathaverat)"}], "comment": "It lists name and java version installed on each Agents", "core": "1.609", "name": "Show Agent Java Version", "parameters": [], "script": "showAgentJavaVersion.groovy" }, { "authors": [{"name": "Thomas Froehlich - mail@thomas-froehlich.net"}], "comment": "This allows you to download a remote workspace folder and extract it to your present Jenkins.", "core": "1.300", "name": "sync two jenkins servers", "parameters": [], "script": "downloadRemoteWorkspace.groovy" }, { "authors": [{"name": "Niels Harremoes"}], "comment": "If you accidently trigger a lot of unneeded builds, it is useful to be able to cancel<\/b> them all", "core": "1.300", "name": "Clear build queue", "parameters": [], "script": "clearBuildQueue.groovy" }, { "authors": [ {"name": "thosor"}, {"name": "AVee"} ], "comment": "Batch switch svn jobs to a different branch. JobFilter and URL filter are regular expression to select Job/SVN urls to replace. newBranch is the new value to set, oldBranch is the expression to replace (defaults to '/branches/[^/]* /' which replaces the url part after branches. No actual changes will be made unless applyChanges is set to 'true'", "core": "1.499", "name": "svnChangeBranch", "parameters": [ "jobFilter", "urlFilter", "newBranch", "oldBranch", "applyChanges" ], "script": "svnChangeBranch.groovy" }, { "authors": [{"name": "EJ Ciramella"}], "comment": "This script came about because there were many jobs that were disabled and interlaced between active jobs in the hundreds. If you don't want to set up a new view that lists out just the disabled (or never run) jobs, this is a quick fix that will provide counts at the end of the run.", "core": "1.300", "name": "List Disabled Jobs", "parameters": [], "script": "listdisabledjobs.groovy" }, { "authors": [{"name": "Thomas Froehlich - mail@thomas-froehlich.net"}], "comment": "zip a folder using AntBuilder", "core": "1.300", "name": "zip a folder", "parameters": [], "script": "zipFolder.groovy" }, { "authors": [{"name": "Kristian Kraljic"}], "comment": "Find all jobs with names matching the given pattern and builds them.", "core": "1.409", "name": "Build Jobs Matching Pattern", "parameters": ["jobPattern"], "script": "buildJobsMatchingPattern.groovy" }, { "authors": [{"name": "Dmitriy Slupytskyi"}], "comment": "Disable and clean up workspace for jobs that were built more than 90 day ago", "core": "1.300", "name": "disable and clean up workspace for old jobs", "parameters": [], "script": "disableAndCleanUpOldJobs.groovy" }, { "authors": [ {"name": "Gareth Bowles"}, {"name": "Benjamin Francisoud"} ], "comment": "Disable jobs that haven't had a successful build for at least X days (default 90).", "core": "1.409", "name": "Disable Broken Jobs", "parameters": [ "dryRun", "jobName", "numberOfDays" ], "script": "disableBrokenJobs.groovy" }, { "authors": [{"name": "Radek Antoniuk"}], "comment": "check Plugin Update Server - workaround for JENKINS-27694", "core": "1.300", "name": "Check Update Server", "parameters": [], "script": "checkPluginUpdateServer.groovy" }, { "authors": [{"name": "Julien Carsique"}], "comment": "Activate the Jira plugin<\/a> publisher", "core": "1.424", "name": "Jira issue update publisher", "parameters": [ "dryRun", "jobs", "jobsPattern" ], "script": "jira-publisher.groovy" }, { "authors": [ {"name": "GigaAKS"}, {"name": "Arun Sangal"} ], "comment": "Disables Jenkins Hudson slave nodes gracefully - waits until running jobs are complete.", "core": "1.350", "name": "Disable Jenkins Hudson slaves nodes gracefully for all slaves starting with a given value", "parameters": ["slaveStartsWith"], "script": "disableSlaveNodeStartsWith.groovy" }, { "authors": [ {"name": "Mestachs"}, {"name": "Dominik Bartholdi"} ], "comment": "Changes the config of the builds to discard old builds (only if no log rotation is configured).", "core": "1.350", "name": "Discard old builds", "parameters": [ "dryRun", "daysToKeep", "numToKeep", "artifactDaysToKeep", "artifactNumToKeep" ], "script": "discardOldBuilds.groovy" }, { "authors": [{"name": "ITO Hayato"}], "comment": "put disk usage info and check used percentage.", "core": "1.300", "name": "Check Disk Usage", "parameters": [ "root", "threshold" ], "script": "checkDiskUsage.groovy" }, { "authors": [{"name": "Amit Modak"}], "comment": "Delete all global credentials in Jenkins", "core": "1.625", "name": "Delete all global credentials", "parameters": [], "script": "deleteAllGlobalCredentials.groovy" }, { "authors": [{"name": "Eric Dalquist"}], "comment": "Add jabber notifications to the specified jobs", "core": "1.409", "name": "Add Jabber Notification", "parameters": [ "views", "jobs", "targets", "strategy", "notifyOnBuildStart", "notifySCMCommitters", "notifySCMCulprits", "notifyUpstreamCommitters", "notifySCMFixers" ], "script": "addJabberNotification.groovy" }, { "authors": [{"name": "EJ Ciramella"}], "comment": "This script will make sure ALL of your maven jobs are triggered by builds on any snapshot dependencies. There is a basic example of how to exclude jobs by name in the top of this script.", "core": "1.300", "name": "Trigger via Snapshot", "parameters": [], "script": "trigger-via-snapshot-deps.groovy" }, { "authors": [{"name": "Scott Hebert"}], "comment": "This script is used to remove the static list of BuildsByBranch that is uselessly stored for each build by the Git Plugin. This is a workaround for the problem described here: https://issues.jenkins-ci.org/browse/JENKINS-19022 Updated to handle Matrix Project types. Updated to better support SCM Polling", "core": "1.509.4", "name": "Remove Git Plugin BuildsByBranch BuildData", "parameters": [], "script": "removeGitPluginBuildsByBranchBuildData.groovy" }, { "authors": [{"name": "Daniel PETISME "}], "comment": "Export the permissions defined in the role-strategy plugin<\/a> in a CSV format.
Further information in the ticket
JENKINS-8075<\/a>", "core": "1.424.2", "name": "Export role-strategy permissions to CSV", "parameters": [], "script": "export-role-strategy-permissions-to-csv.groovy" }, { "authors": [{"name": "EJ Ciramella"}], "comment": "This script was written to create NEW jobs based on a series of other jobs and append a version string to the name of the job. For instance, if you have foo, bar, bat jobs AND they've all been branched to support 2.0 work, you can feed this script the name and the version you'd like to create the jobs for. This will create the new jobs with the proper name and will make sure the Mercurial scm configuration is pointed at that new branch.", "core": "1.300", "name": "Clone Branches", "parameters": [], "script": "clonebranches.groovy" }, { "authors": [{"name": "Christian Haeussler - https://github.com/cniweb"}], "comment": "Disables all jobs<\/b> in all folders<\/b> in your Jenkins server", "core": "1.300", "name": "Disable all jobs in all folders", "parameters": [], "script": "disableAllJobsInAllFolders.groovy" }, { "authors": [{"name": "Mark Hudson"}], "comment": "print list of plugins (optionally set build.displayName)", "core": "0.601", "name": "plugins lister", "parameters": [], "script": "pluglist_print.groovy" }, { "authors": [{"name": "Giacomo Boccardo"}], "comment": "Removes all the builds (modules included) of a given Maven Multi-module Project job ('jobName') and resets the number of the next build to 'newNextBuildNumber' (default 1). It's possible to conduct a dry run test using a parameter (default true) you could never guess ;)", "name": "Maven Multi-Module Project Batch Builds Remover", "parameters": [ "jobName", "newNextBuildNumber", "dryRun" ], "script": "jMavenMultiModuleProjectBuildsCleaner.groovy" }, { "authors": [ {"name": "Mestachs"}, {"name": "Dominik Bartholdi"} ], "comment": "This script disables artifact archiving for maven projects, if you use an enterprise repository this rarely usefull.", "core": "1.350", "name": "Disable Maven Artifact Archiving", "parameters": ["dryRun"], "script": "disableAutomaticMavenArchiving.groovy" }, { "authors": [{"name": "Emily Bache"}], "comment": "remove specified packages from m2 repo. Pass parameters to narrow down what's deleted: 'com.example.package1 com.example.package2'", "core": "1.300", "name": "Purge M2 repo", "parameters": ["packages"], "script": "purgeM2Repo.groovy" }, { "authors": [{"name": "Andrew Bayer"}], "comment": "Find all jobs with names matching the given pattern and either disables or enables them, depending on the flag.", "core": "1.409", "name": "Disable/Enable Jobs Matching Pattern", "parameters": [ "jobPattern", "disableOrEnable" ], "script": "disableEnableJobsMatchingPattern.groovy" }, { "authors": [{"name": "Emily Bache"}], "comment": "stop and remove all docker containers, remove all dangling and SNAPSHOT images.", "core": "1.300", "name": "Purge Dockers", "parameters": [], "script": "purgeDockers.groovy" }, { "authors": [{"name": "Andy Pemberton"}], "comment": "Shows the total number of nodes and executors on Jenkins", "core": "1.350", "name": "Count executors", "parameters": [], "script": "countExecutors.groovy" }, { "authors": [{"name": "Benjamin Francisoud"}], "comment": "Prevent people from use their own login/password (which expire every X months therefore breaking build/jobs) and forcing usage of service accounts with no expiration limit", "core": "1.642", "name": "List and remove invalid credential not present in a whitelist regexp", "parameters": [ "dryRun", "whitelistRegexp", "moreInfo" ], "script": "removeInvalidCredentials.groovy" }, { "authors": [{"name": "Vincent Dupain"}], "comment": "This script will go through all workspaces for all jobs and wipe them.", "core": "1.499", "name": "Wipeout Workspace", "parameters": ["dryRun"], "script": "wipeout-workspace.groovy" }, { "authors": [{"name": "Gareth Bowles"}], "comment": "Find offline slaves with a given name prefix.", "core": "1.409", "name": "Find Offline Slaves", "parameters": ["namePrefix"], "script": "findOfflineSlaves.groovy" }, { "authors": [{"name": "EJ Ciramella"}], "comment": "This script will warn the user if any jobs have dependencies on other jobs and the trigger flow is a loop.", "core": "1.300", "name": "Warn if looped triggers", "parameters": [], "script": "warn-if-looped-triggers.groovy" }, { "authors": [{"name": "Zamir Ivry - zamir.ivry@gmail.com"}], "comment": "This script will add slack notifications with slack plugin version 1.8 ", "name": "Add Slack notification", "parameters": [], "script": "addSlackNotification-1.8.groovy" }, { "authors": [ {"name": "Wisen Tanasa"}, {"name": "Benjamin Francisoud"} ], "comment": "Hashify all SCM triggers. See JENKINS-17311.", "core": "1.511", "name": "Hashify All SCM Triggers", "parameters": ["dry"], "script": "hashifyAllScmTriggers.groovy" }, { "authors": [{"name": "Thomas Froehlich - mail@thomas-froehlich.net"}], "comment": "Reload the job config of a specific job.", "core": "1.300", "name": "reload job config", "parameters": [], "script": "reloadJobConfig.groovy" }, { "authors": [{"name": "Amit Modak"}], "comment": "Configure maven auto-installer in Jenkins global configuration", "core": "1.625", "name": "Configure Maven Auto Installer", "parameters": [], "script": "configMavenAutoInstaller.groovy" }, { "authors": [{"name": "Eric Dalquist"}], "comment": "Update Email Recipients for multiple jobs/views", "core": "1.409", "name": "Update Email Recipients", "parameters": [ "views", "jobs", "recipients" ], "script": "updateEmailAddress.groovy" }, { "authors": [{"name": "Nicolas Mommaerts"}], "comment": "disables all jobs", "core": "1.300", "name": "disable all jobs", "parameters": [], "script": "disableAllJobs.groovy" }, { "authors": [ {"name": "Stefan Heintz"}, {"name": "Nico Mommaerts"} ], "comment": "Show an overview of all labels defined and which slaves have which labels", "core": "1.300", "name": "Show labels overview", "parameters": [], "script": "show-labels-overview.groovy" }, { "authors": [{"name": "Giacomo Boccardo"}], "comment": "If for any reason (e.g., an incorrect global configuration) many builds of many jobs fail, you'd have to spend a lot of time cleaning them. This plugin removes, for each job, all the builds to the last successful and resets the number of the next build properly (lastSuccessful+1). It seems to work also for multi-configuration multi-module maven projects. It's possible to conduct a dry run test using a parameter (default true) you could never guess;)", "name": "Maven Multi-module Jobs Disaster Recovery", "parameters": ["dryRun"], "script": "jMavenMultiModuleJobsDisasterRecovery.groovy" } ]})