downloadService.post('org.jenkinsci.plugins.scriptler.CentralScriptJsonCatalog',{"list": [ { "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": "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": "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": "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": [ { "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "Allan Burdajewicz"}], "comment": "Report disabled and supported java security algorithms", "core": "1.609", "name": "Get java security algorithms", "parameters": [], "script": "getJavaSecurityAlgorithmReport.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": "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": "Mark Hudson"}], "comment": "print list of plugins (optionally set build.displayName)", "core": "0.601", "name": "plugins lister", "parameters": [], "script": "pluglist_print.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": "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": "Amit Modak"}], "comment": "Delete all global credentials in Jenkins", "core": "1.625", "name": "Delete all global credentials", "parameters": [], "script": "deleteAllGlobalCredentials.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": "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": "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": "kuisathaverat"}], "comment": "Show Java Version used on job", "core": "1.609", "name": "Show Java Version of job", "parameters": [], "script": "showJavaVersionUseOnJob.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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "Owen Wood"}], "comment": "Add AnsiColor to all jobs", "core": "1.409", "name": "Add AnsiColor to all jobs", "parameters": ["colorMapName"], "script": "addAnsiColorToAllJobs.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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": [ {"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": "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": "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": "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": "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": "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": "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": "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": "Kuisathaverat"}], "comment": "Sample groovy script to add credentials to Jenkins", "core": "1.609", "name": "add credentials", "script": "addCredentials.groovy" }, { "authors": [{"name": "Nicolas Mommaerts"}], "comment": "disables all jobs", "core": "1.300", "name": "disable all jobs", "parameters": [], "script": "disableAllJobs.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": "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": "Kuisathaverat"}], "comment": "List Jobs executed in a range of time", "core": "1.609", "name": "List executed Jobs", "script": "jobExecutedInDateRange.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": "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 will go through all workspaces for any/all jobs and remove them.", "core": "1.300", "name": "Workspace Cleaner", "parameters": [], "script": "workspace-cleaner.groovy" } ]})