downloadService.post('org.jenkinsci.plugins.scriptler.CentralScriptJsonCatalog',{"list": [ { "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": "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": "Kuisathaverat"}], "comment": "List Jobs executed in a range of time", "core": "1.609", "name": "List executed Jobs", "script": "jobExecutedInDateRange.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": "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": "Owen Wood"}], "comment": "Add AnsiColor to all jobs", "core": "1.409", "name": "Add AnsiColor to all jobs", "parameters": ["colorMapName"], "script": "addAnsiColorToAllJobs.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": "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": "Allan Burdajewicz"}], "comment": "Simple report of Installed/Disabled/Bundled/Failed/Forced by Pinning/Inactive plugins of a Jenkins Instance", "core": "1.609", "name": "Plugins Manager Simple Report", "parameters": [], "script": "pluginManagerSimpleReport.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": "Allan Burdajewicz"}], "comment": "Report disabled and supported java security algorithms", "core": "1.609", "name": "Get java security algorithms", "parameters": [], "script": "getJavaSecurityAlgorithmReport.groovy" }, { "authors": [{"name": "Kuisathaverat"}], "comment": "Add a pre-build shell script step to all Maven and Frestyle Projects", "core": "1.609", "name": "Add a pre-build shell script step", "parameters": ["filePath"], "script": "addShellPreBuildStepToProject.groovy" }, { "authors": [{"name": "Nicolas Mommaerts"}], "comment": "disables all jobs", "core": "1.300", "name": "disable all jobs", "parameters": [], "script": "disableAllJobs.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": "kuisathaverat"}], "comment": "Show Java Version used on job", "core": "1.609", "name": "Show Java Version of job", "parameters": [], "script": "showJavaVersionUseOnJob.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": "GigaAKS"}, {"name": "Arun Sangal"} ], "comment": "Disables Jenkins agent nodes gracefully - waits until running jobs are complete.", "core": "1.350", "name": "Disable Jenkins agent nodes gracefully for all slaves starting with a given value", "parameters": ["slaveStartsWith"], "script": "disableSlaveNodeStartsWith.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": "Allan Burdajewicz"}], "comment": "Update the definition of Job Parameters (update or override existing)", "core": "1.609", "name": "Update Job Parameters", "parameters": [ "jobName", "paramName", "paramDefaultValue" ], "script": "updateJobParameterDefinition.groovy" }, { "authors": [{"name": "Allan Burdajewicz"}], "comment": "Get information about direct and recursive (JSON object) dependencies of/to a specific plugin.", "core": "1.609", "name": "Plugin Dependencies Report", "parameters": ["pluginShortName"], "script": "pluginDependenciesReport.groovy" }, { "authors": [{"name": "Allan Burdajewicz"}], "comment": "Check Jenkins can reach out to a Server via SSL. The script also reports all trusted certificates", "core": "1.609", "name": "Check SSL handshake with Server", "parameters": ["serverUrl"], "script": "checkSSLConnection.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": "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": "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 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": "Christian Haeussler - https://github.com/cniweb"}], "comment": "List all builds<\/b> from all jobs<\/b> in your Jenkins server", "core": "1.300", "name": "List all builds from all jobs", "parameters": [], "script": "listAllBuilds.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": "Kuisathaverat"}], "comment": "Search for dead executors and throws away them and get a new ones.", "core": "1.609", "name": "Restart Dead Executors", "script": "restartDeadExecutors.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": "Benjamin Francisoud"}], "comment": "Delete jobs disabled and where last build is older than specified param", "core": "2.0", "name": "Bulk Delete Jobs", "parameters": [ "dryRun", "numberOfDays", "excludeRegexp" ], "script": "bulkDeleteJobs.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": "Arnaud Héritier"}], "comment": "Find all pipeline jobs running for at least a given amount of time (delay).", "core": "1.612.1", "name": "Find running pipeline jobs.", "parameters": [], "script": "findRunningPipelineJobs.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": "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": "Ray Kivisto"}], "comment": "Update the Token for a specific credential ID for a VaultTokenCredential of https://plugins.jenkins.io/hashicorp-vault-plugin", "core": "2.107.3", "name": "Update a VaultTokenCredential of hashicorp-vault-plugin", "parameters": [ "vaultCredentialID", "newTokenValue" ], "script": "vaultTokenCredential.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" }, { "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": "Andrew Bayer"}, {"name": "Sam Gleske"} ], "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": [{"name": "Amit Modak"}], "comment": "This script consumes a JSON-formatted input file the lists the next build numbers for a collection of jobs and sets the next build numbers of matching jobs as per the input file. The input JSON can be generated using the getNextBuildNumbers.groovy script. The idea is to ensure that build numbers do not get reset to 1 when migrating jobs from one Jenkins server to another.", "core": "1.625", "name": "Print next build numbers for all jobs", "parameters": ["inputFilePath"], "script": "setNextBuildNumbers.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": "Amit Modak"}], "comment": "This script ouputs a JSON-formatted listing of the next build numbers for all jobs recursively. If you are interested in only a subset of the jobs, please specify the root folder explicitly. The output JSON can be captured in a file, copied over to another Jenkins server and used with the setNextBuildNumbers.groovy script. The idea is to ensure that build numbers do not get reset to 1 when migrating jobs from one Jenkins server to another.", "core": "1.625", "name": "Print next build numbers for all jobs", "parameters": ["rootItem"], "script": "getNextBuildNumbers.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": "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": "Kuisathaverat"}], "comment": "Sample groovy script to add credentials to Jenkins's folder into global domain", "core": "1.609", "name": "add credentials to folder", "script": "addCredentialsToFolder.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": "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": "Zamir Ivry - zamir.ivry@gmail.com"}], "comment": "This script will add git clean after checkout to all Jenkins items ", "name": "add git clean before checkout", "parameters": [], "script": "addGitCleanCheckout.groovy" }, { "authors": [{"name": "Steffen Legler"}], "comment": "Deletes Log-Files for a Job from the Build History.", "core": "1.409", "name": "Delete Logs from Build History", "parameters": [ "jobName", "period" ], "script": "deleteBuildLogHistory.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": "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": "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": "Stefan Heintz"}, {"name": "Nico Mommaerts"}, {"name": "Rob Fagen"} ], "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": "Allan Burdajewicz"}], "comment": "Interrupt Polling Threads running for a certain amount of time. Script based on a comment in JENKINS-5413.", "core": "1.609", "name": "Interrupt Polling Threads", "parameters": ["duration"], "script": "interruptPollingThreads.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": "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": "Allan Burdajewicz"}], "comment": "Disable all the buildable projects inside a Folder (full name must be provided)", "core": "1.609", "name": "Disable All Jobs In Folder", "parameters": ["folderFullName"], "script": "disableJobsInFolder.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": "Luis del Toro"}], "comment": "It will delete all views provided and optionally the jobs inside them (dry run mode available)", "core": "2.0", "name": "Bulk delete of views", "parameters": [ "dry", "views", "deleteJobs" ], "script": "BulkDeleteViews.groovy" }, { "authors": [{"name": "Kuisathaverat"}], "comment": "Sample groovy script to add credentials to Jenkins", "core": "1.609", "name": "add credentials", "script": "addCredentials.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": "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": "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": "Mark Hudson"}], "comment": "print list of plugins (optionally set build.displayName)", "core": "0.601", "name": "plugins lister", "parameters": [], "script": "pluglist_print.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": "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": "kuisathaverat"}], "comment": "Iterate all EC2 Clouds and every template on them, to list the instances running", "core": "2.32", "name": "List EC2 Cloud instances", "parameters": [], "script": "listEC2Instances.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": "Ray Kivisto"}], "comment": "Update the Secret ID for a specific Role ID for a VaultAppRoleCredential of https://plugins.jenkins.io/hashicorp-vault-plugin", "core": "2.107.3", "name": "Update VaultAppRoleCredential of hashicorp-vault-plugin", "parameters": [ "vaultRoleID", "newSecret" ], "script": "vaultAppRoleCredential.groovy" }, { "authors": [ {"name": "Mestachs"}, {"name": "Dominik Bartholdi"}, {"name": "Denys Digtiar"} ], "comment": "Changes the config of the builds to discard old builds (only if no log rotation is configured).", "core": "2.46.2", "name": "Discard old builds", "parameters": [ "dryRun", "daysToKeep", "numToKeep", "artifactDaysToKeep", "artifactNumToKeep" ], "script": "discardOldBuilds.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": "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": "Hans Schulz"}], "comment": "Modify the secret text for an existing credential identified by the ID", "core": "1.609", "name": "Change secret text", "parameters": [ "id", "scope", "secret" ], "script": "changeSecretText.groovy" }, { "authors": [{"name": "Allan Burdajewicz"}], "comment": "Check the .jar version and the java version of the Nodes against the Master versions", "core": "1.609", "name": "Check Nodes Version", "parameters": [], "script": "checkNodesLauncherVersion.groovy" }, { "authors": [{"name": "Allan Burdajewicz"}], "comment": "Print all the Git branches and repositories of jobs that have polling configured", "core": "1.609", "name": "Get all Polling Repos", "parameters": [], "script": "getGitPollingRepositories.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": "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" } ]})