├── job-dsl-plugin
├── .mvn_exec_node
├── src
│ ├── main
│ │ ├── js
│ │ │ ├── package.json
│ │ │ ├── app.js
│ │ │ ├── components
│ │ │ │ └── Router.js
│ │ │ └── views
│ │ │ │ ├── ContextView.js
│ │ │ │ ├── PluginDetailView.js
│ │ │ │ └── RootView.js
│ │ ├── json
│ │ │ ├── static
│ │ │ │ └── config.json
│ │ │ └── embedded
│ │ │ │ └── config.json
│ │ ├── hbs
│ │ │ ├── tree.hbs
│ │ │ ├── plugins.hbs
│ │ │ └── searchResults.hbs
│ │ ├── resources
│ │ │ ├── index.jelly
│ │ │ └── javaposse
│ │ │ │ └── jobdsl
│ │ │ │ └── plugin
│ │ │ │ ├── ExecuteDslScripts
│ │ │ │ ├── help-scriptText.html
│ │ │ │ ├── help-unstableOnDeprecation.html
│ │ │ │ ├── help-ignoreMissingFiles.html
│ │ │ │ ├── help-failOnMissingPlugin.html
│ │ │ │ ├── help-ignoreExisting.html
│ │ │ │ ├── help-additionalClasspath.html
│ │ │ │ ├── help-sandbox.html
│ │ │ │ ├── help-failOnSeedCollision.html
│ │ │ │ ├── help-targets.html
│ │ │ │ ├── help-removedViewAction.html
│ │ │ │ └── help-removedConfigFilesAction.html
│ │ │ │ ├── casc
│ │ │ │ ├── FromFileScriptSource
│ │ │ │ │ └── schema.jelly
│ │ │ │ ├── FromUrlScriptSource
│ │ │ │ │ └── schema.jelly
│ │ │ │ ├── InlineGroovyScriptSource
│ │ │ │ │ └── schema.jelly
│ │ │ │ └── SeedJobConfigurator
│ │ │ │ │ └── schema.jelly
│ │ │ │ └── GlobalJobDslSecurityConfiguration
│ │ │ │ └── config.groovy
│ │ ├── html
│ │ │ └── index.html
│ │ ├── groovy
│ │ │ └── javaposse
│ │ │ │ └── jobdsl
│ │ │ │ └── plugin
│ │ │ │ ├── RemovedViewAction.groovy
│ │ │ │ ├── RemovedJobAction.groovy
│ │ │ │ ├── RemovedConfigFilesAction.groovy
│ │ │ │ ├── actions
│ │ │ │ ├── ApiViewerAction.groovy
│ │ │ │ ├── GeneratedConfigFilesAction.groovy
│ │ │ │ └── GeneratedUserContentsAction.groovy
│ │ │ │ └── SeedReferenceDigestPredicate.groovy
│ │ └── java
│ │ │ └── javaposse
│ │ │ └── jobdsl
│ │ │ └── plugin
│ │ │ └── casc
│ │ │ └── ScriptSource.java
│ └── test
│ │ ├── resources
│ │ ├── view-extension.xml
│ │ ├── javaposse
│ │ │ └── jobdsl
│ │ │ │ └── plugin
│ │ │ │ ├── deprecation.groovy
│ │ │ │ ├── missingPlugin.groovy
│ │ │ │ ├── gstring.groovy
│ │ │ │ ├── testjob.groovy
│ │ │ │ ├── security1342.groovy
│ │ │ │ └── configFiles.groovy
│ │ ├── folder.xml
│ │ ├── extension.xml
│ │ ├── minimal-job.xml
│ │ ├── organizationfolder.xml
│ │ └── minimal-view.xml
│ │ └── java
│ │ ├── ScriptHelper.java
│ │ └── javaposse
│ │ └── jobdsl
│ │ └── plugin
│ │ └── fixtures
│ │ ├── TestContext.java
│ │ ├── BrokenContext.java
│ │ ├── NoPublicConstructorContext.java
│ │ ├── InvalidContext.java
│ │ ├── UnsupportedConstructorArgContext.java
│ │ ├── InvalidTrigger.java
│ │ ├── InvalidConstructorCountContext.java
│ │ ├── SubTrigger.java
│ │ ├── TestAbstractContext.java
│ │ ├── ABean.java
│ │ ├── ADuplicateBean.java
│ │ └── other
│ │ └── ADuplicateBean.java
└── webpack.plugin.mjs
├── .github
├── CODEOWNERS
├── release-drafter.yml
└── workflows
│ └── release-drafter.yml
├── docs
├── Automatically-Generated-DSL.md
├── images
│ ├── Build1.png
│ ├── newjob.png
│ ├── pipeline.png
│ ├── result.png
│ ├── EmptySeed.png
│ ├── build-step.png
│ ├── createjob.png
│ ├── AddBuildStep.png
│ ├── DslBuildStep.png
│ ├── create-seed-job.png
│ └── AddBuildStepSelected.png
└── _Footer.md
├── job-dsl-core
└── src
│ ├── test
│ ├── resources
│ │ ├── foo
│ │ │ └── test.dsl
│ │ ├── java.dsl
│ │ ├── simple2.dsl
│ │ ├── deprecation.groovy
│ │ ├── simple.dsl
│ │ ├── test-script.dsl
│ │ ├── file.dsl
│ │ ├── javaposse
│ │ │ └── jobdsl
│ │ │ │ └── dsl
│ │ │ │ ├── TestView-template.xml
│ │ │ │ ├── TestJob-template.xml
│ │ │ │ ├── TestProject-template.xml
│ │ │ │ └── views
│ │ │ │ └── SectionedViewSpec-defaults.xml
│ │ ├── caller.dsl
│ │ ├── deprecation-subject.groovy
│ │ ├── userContent.dsl
│ │ ├── configfiles.dsl
│ │ ├── test-script-with-method.dsl
│ │ ├── Callee.groovy
│ │ └── JENKINS_32941.groovy
│ └── groovy
│ │ └── javaposse
│ │ └── jobdsl
│ │ └── dsl
│ │ ├── helpers
│ │ └── step
│ │ │ └── ArbitraryCategory.groovy
│ │ ├── TestView.groovy
│ │ ├── TestProject.groovy
│ │ ├── TestJob.groovy
│ │ └── DeprecationWarningASTTransformationSpec.groovy
│ └── main
│ ├── docs
│ └── examples
│ │ └── javaposse
│ │ └── jobdsl
│ │ └── dsl
│ │ ├── Job
│ │ ├── disabled.groovy
│ │ ├── quietPeriod.groovy
│ │ ├── compressBuildLog.groovy
│ │ ├── keepDependencies.groovy
│ │ ├── using.groovy
│ │ ├── description.groovy
│ │ ├── displayName.groovy
│ │ ├── previousNames.groovy
│ │ ├── configure.groovy
│ │ ├── parameters.groovy
│ │ ├── logRotator.groovy
│ │ ├── blockOn.groovy
│ │ ├── deliveryPipelineConfiguration.groovy
│ │ ├── properties.groovy
│ │ ├── environmentVariables.groovy
│ │ ├── notifications.groovy
│ │ └── throttleConcurrentBuilds.groovy
│ │ ├── Project
│ │ ├── jdk.groovy
│ │ ├── weight.groovy
│ │ ├── label.groovy
│ │ ├── concurrentBuild.groovy
│ │ ├── checkoutRetryCount.groovy
│ │ ├── authenticationToken.groovy
│ │ ├── blockOnUpstreamProjects.groovy
│ │ ├── blockOnDownstreamProjects.groovy
│ │ ├── customWorkspace.groovy
│ │ ├── triggers.groovy
│ │ ├── scm.groovy
│ │ ├── steps.groovy
│ │ ├── wrappers.groovy
│ │ ├── publishers.groovy
│ │ └── batchTask.groovy
│ │ ├── views
│ │ ├── ListView
│ │ │ ├── recurse.groovy
│ │ │ ├── filterExecutors.groovy
│ │ │ ├── filterBuildQueue.groovy
│ │ │ ├── description.groovy
│ │ │ ├── statusFilter.groovy
│ │ │ ├── configure.groovy
│ │ │ ├── jobs.groovy
│ │ │ ├── columns.groovy
│ │ │ └── jobFilters.groovy
│ │ ├── BuildMonitorView
│ │ │ ├── recurse.groovy
│ │ │ ├── filterExecutors.groovy
│ │ │ ├── filterBuildQueue.groovy
│ │ │ ├── description.groovy
│ │ │ ├── statusFilter.groovy
│ │ │ ├── configure.groovy
│ │ │ ├── jobs.groovy
│ │ │ └── jobFilters.groovy
│ │ ├── NestedView
│ │ │ ├── filterBuildQueue.groovy
│ │ │ ├── filterExecutors.groovy
│ │ │ ├── description.groovy
│ │ │ ├── columns.groovy
│ │ │ ├── configure.groovy
│ │ │ └── views.groovy
│ │ ├── CategorizedJobsView
│ │ │ ├── recurse.groovy
│ │ │ ├── filterBuildQueue.groovy
│ │ │ ├── filterExecutors.groovy
│ │ │ ├── description.groovy
│ │ │ ├── statusFilter.groovy
│ │ │ ├── configure.groovy
│ │ │ ├── categorizationCriteria.groovy
│ │ │ ├── jobs.groovy
│ │ │ ├── columns.groovy
│ │ │ └── jobFilters.groovy
│ │ ├── DeliveryPipelineView
│ │ │ ├── columns.groovy
│ │ │ ├── showAvatars.groovy
│ │ │ ├── allowRebuild.groovy
│ │ │ ├── showChangeLog.groovy
│ │ │ ├── sorting.groovy
│ │ │ ├── showDescription.groovy
│ │ │ ├── showPromotions.groovy
│ │ │ ├── updateInterval.groovy
│ │ │ ├── allowPipelineStart.groovy
│ │ │ ├── showTotalBuildTime.groovy
│ │ │ ├── enableManualTriggers.groovy
│ │ │ ├── showAggregatedPipeline.groovy
│ │ │ ├── configure.groovy
│ │ │ ├── pipelineInstances.groovy
│ │ │ └── pipelines.groovy
│ │ ├── SectionedView
│ │ │ ├── filterExecutors.groovy
│ │ │ ├── filterBuildQueue.groovy
│ │ │ ├── description.groovy
│ │ │ ├── configure.groovy
│ │ │ └── sections.groovy
│ │ ├── BuildPipelineView
│ │ │ ├── displayedBuilds.groovy
│ │ │ ├── filterBuildQueue.groovy
│ │ │ ├── filterExecutors.groovy
│ │ │ ├── title.groovy
│ │ │ ├── refreshFrequency.groovy
│ │ │ ├── selectedJob.groovy
│ │ │ ├── startsWithParameters.groovy
│ │ │ ├── triggerOnlyLatestJob.groovy
│ │ │ ├── alwaysAllowManualTrigger.groovy
│ │ │ ├── description.groovy
│ │ │ ├── showPipelineParameters.groovy
│ │ │ ├── customCssUrl.groovy
│ │ │ ├── showPipelineDefinitionHeader.groovy
│ │ │ ├── showPipelineParametersInHeaders.groovy
│ │ │ ├── consoleOutputLinkStyle.groovy
│ │ │ └── configure.groovy
│ │ ├── JobFiltersContext
│ │ │ ├── all.groovy
│ │ │ ├── release.groovy
│ │ │ ├── allRelease.groovy
│ │ │ ├── unclassified.groovy
│ │ │ ├── mostRecent.groovy
│ │ │ ├── status.groovy
│ │ │ ├── regex.groovy
│ │ │ └── buildTrend.groovy
│ │ ├── JobsContext
│ │ │ ├── regex.groovy
│ │ │ ├── names.groovy
│ │ │ └── name.groovy
│ │ ├── ColumnsContext
│ │ │ ├── cronTrigger.groovy
│ │ │ └── progressBar.groovy
│ │ ├── PipelineAggregatorView
│ │ │ ├── fontSize.groovy
│ │ │ ├── onlyLastBuild.groovy
│ │ │ ├── buildHistorySize.groovy
│ │ │ ├── filterRegex.groovy
│ │ │ ├── useCondensedTables.groovy
│ │ │ ├── description.groovy
│ │ │ ├── showBuildDuration.groovy
│ │ │ └── useScrollingCommits.groovy
│ │ ├── DeliveryPipelinesContext
│ │ │ ├── regex.groovy
│ │ │ └── component.groovy
│ │ ├── CategorizationCriteriaContext
│ │ │ └── regexGroupingRule.groovy
│ │ ├── portlets
│ │ │ └── DashboardPortletContext
│ │ │ │ ├── testStatisticsChart.groovy
│ │ │ │ └── testStatisticsGrid.groovy
│ │ └── SectionsContext
│ │ │ ├── text.groovy
│ │ │ ├── jobGraphs.groovy
│ │ │ ├── testResult.groovy
│ │ │ ├── viewListing.groovy
│ │ │ └── listView.groovy
│ │ ├── Folder
│ │ ├── displayName.groovy
│ │ ├── description.groovy
│ │ ├── icon.groovy
│ │ └── configure.groovy
│ │ ├── jobs
│ │ ├── MavenJob
│ │ │ ├── runHeadless.groovy
│ │ │ ├── incrementalBuild.groovy
│ │ │ ├── rootPOM.groovy
│ │ │ ├── archivingDisabled.groovy
│ │ │ ├── resolveDependencies.groovy
│ │ │ ├── siteArchivingDisabled.groovy
│ │ │ ├── fingerprintingDisabled.groovy
│ │ │ ├── disableDownstreamTrigger.groovy
│ │ │ ├── mavenInstallation.groovy
│ │ │ ├── providedSettings.groovy
│ │ │ ├── providedGlobalSettings.groovy
│ │ │ ├── localRepository.groovy
│ │ │ ├── preBuildSteps.groovy
│ │ │ ├── goals.groovy
│ │ │ ├── mavenOpts.groovy
│ │ │ └── postBuildSteps.groovy
│ │ ├── IvyJob
│ │ │ ├── ivyBranch.groovy
│ │ │ ├── ivySettingsFile.groovy
│ │ │ ├── ivyFileExcludesPattern.groovy
│ │ │ ├── ivySettingsPropertyFiles.groovy
│ │ │ └── ivyBuilder.groovy
│ │ ├── MatrixJob
│ │ │ ├── runSequentially.groovy
│ │ │ ├── touchStoneFilter.groovy
│ │ │ ├── combinationFilter.groovy
│ │ │ ├── childCustomWorkspace.groovy
│ │ │ └── axes.groovy
│ │ └── WorkflowJob
│ │ │ └── definition.groovy
│ │ ├── helpers
│ │ ├── ScmContext
│ │ │ ├── github.groovy
│ │ │ ├── perforceP4.groovy
│ │ │ ├── rtc.groovy
│ │ │ └── hg.groovy
│ │ ├── triggers
│ │ │ ├── ItemTriggerContext
│ │ │ │ ├── cron.groovy
│ │ │ │ └── dos.groovy
│ │ │ ├── TriggerContext
│ │ │ │ ├── bitbucketPush.groovy
│ │ │ │ ├── githubPush.groovy
│ │ │ │ ├── upstream.groovy
│ │ │ │ ├── scm.groovy
│ │ │ │ ├── buildResult.groovy
│ │ │ │ ├── gerrit.groovy
│ │ │ │ └── gitlabPush.groovy
│ │ │ └── MavenTriggerContext
│ │ │ │ └── snapshotDependencies.groovy
│ │ ├── wrapper
│ │ │ └── WrapperContext
│ │ │ │ ├── golang.groovy
│ │ │ │ ├── rvm.groovy
│ │ │ │ ├── timestamps.groovy
│ │ │ │ ├── buildUserVars.groovy
│ │ │ │ ├── maskPasswords.groovy
│ │ │ │ ├── colorizeOutput.groovy
│ │ │ │ ├── nodejs.groovy
│ │ │ │ ├── sshAgent.groovy
│ │ │ │ ├── toolenv.groovy
│ │ │ │ ├── runOnSameNodeAs.groovy
│ │ │ │ ├── xvfb.groovy
│ │ │ │ ├── deliveryPipelineVersion.groovy
│ │ │ │ ├── injectPasswords.groovy
│ │ │ │ ├── xvnc.groovy
│ │ │ │ ├── customTools.groovy
│ │ │ │ ├── rbenv.groovy
│ │ │ │ ├── buildName.groovy
│ │ │ │ ├── keychains.groovy
│ │ │ │ ├── phabricator.groovy
│ │ │ │ ├── credentialsBinding.groovy
│ │ │ │ ├── preScmSteps.groovy
│ │ │ │ ├── exclusionResources.groovy
│ │ │ │ ├── environmentVariables.groovy
│ │ │ │ ├── generateJiraReleaseNotes.groovy
│ │ │ │ ├── configFiles.groovy
│ │ │ │ ├── sauceOnDemand.groovy
│ │ │ │ ├── release.groovy
│ │ │ │ ├── buildInDocker.groovy
│ │ │ │ ├── logSizeChecker.groovy
│ │ │ │ └── preBuildCleanup.groovy
│ │ ├── properties
│ │ │ └── PropertiesContext
│ │ │ │ ├── priority.groovy
│ │ │ │ ├── zenTimestamp.groovy
│ │ │ │ ├── rebuild.groovy
│ │ │ │ ├── wallDisplay.groovy
│ │ │ │ ├── githubProjectUrl.groovy
│ │ │ │ ├── customIcon.groovy
│ │ │ │ ├── buildFailureAnalyzer.groovy
│ │ │ │ ├── ownership.groovy
│ │ │ │ └── sidebarLinks.groovy
│ │ ├── publisher
│ │ │ ├── PublisherContext
│ │ │ │ ├── emotional.groovy
│ │ │ │ ├── chucknorris.groovy
│ │ │ │ ├── fingerprint.groovy
│ │ │ │ ├── jiraIssueUpdater.groovy
│ │ │ │ ├── associatedFiles.groovy
│ │ │ │ ├── githubCommitNotifier.groovy
│ │ │ │ ├── mailer.groovy
│ │ │ │ ├── downstream.groovy
│ │ │ │ ├── allowBrokenBuildClaiming.groovy
│ │ │ │ ├── mavenDeploymentLinker.groovy
│ │ │ │ ├── publishCloneWorkspace.groovy
│ │ │ │ ├── flog.groovy
│ │ │ │ ├── publishBuild.groovy
│ │ │ │ ├── archiveJavadoc.groovy
│ │ │ │ ├── mantis.groovy
│ │ │ │ ├── postBuildTask.groovy
│ │ │ │ ├── publishScp.groovy
│ │ │ │ ├── seleniumHtmlReport.groovy
│ │ │ │ ├── seleniumReport.groovy
│ │ │ │ ├── debianPackage.groovy
│ │ │ │ ├── railsNotes.groovy
│ │ │ │ ├── railsStats.groovy
│ │ │ │ ├── createJiraVersion.groovy
│ │ │ │ ├── releaseJiraVersion.groovy
│ │ │ │ ├── cucumberTestResults.groovy
│ │ │ │ ├── textFinder.groovy
│ │ │ │ ├── groovyPostBuild.groovy
│ │ │ │ ├── retryBuild.groovy
│ │ │ │ ├── rcov.groovy
│ │ │ │ ├── crittercismDsymUpload.groovy
│ │ │ │ ├── warnings.groovy
│ │ │ │ ├── archiveGatling.groovy
│ │ │ │ ├── publishRobotFrameworkReports.groovy
│ │ │ │ ├── createJiraIssue.groovy
│ │ │ │ ├── publishJabber.groovy
│ │ │ │ ├── slocCount.groovy
│ │ │ │ ├── moveJiraIssues.groovy
│ │ │ │ ├── downstreamParameterized.groovy
│ │ │ │ ├── phabricatorNotifier.groovy
│ │ │ │ ├── sonar.groovy
│ │ │ │ ├── archiveArtifacts.groovy
│ │ │ │ ├── stashNotifier.groovy
│ │ │ │ ├── analysisCollector.groovy
│ │ │ │ ├── violations.groovy
│ │ │ │ ├── emma.groovy
│ │ │ │ ├── publishHtml.groovy
│ │ │ │ ├── aggregateDownstreamTestResults.groovy
│ │ │ │ ├── cobertura.groovy
│ │ │ │ ├── irc.groovy
│ │ │ │ ├── archiveJunit.groovy
│ │ │ │ ├── buildDescription.groovy
│ │ │ │ ├── buildPipelineTrigger.groovy
│ │ │ │ └── cloverPHP.groovy
│ │ │ └── MavenPublisherContext
│ │ │ │ └── deployArtifacts.groovy
│ │ ├── step
│ │ │ ├── StepContext
│ │ │ │ ├── setBuildResult.groovy
│ │ │ │ ├── exportRuntimeParameters.groovy
│ │ │ │ ├── prerequisite.groovy
│ │ │ │ ├── vSpherePowerOff.groovy
│ │ │ │ ├── vSpherePowerOn.groovy
│ │ │ │ ├── extractJiraEnvironmentVariables.groovy
│ │ │ │ ├── nodejsCommand.groovy
│ │ │ │ ├── python.groovy
│ │ │ │ ├── ruby.groovy
│ │ │ │ ├── vSphereRevertToSnapshot.groovy
│ │ │ │ ├── debianPackage.groovy
│ │ │ │ ├── sbt.groovy
│ │ │ │ ├── managedScript.groovy
│ │ │ │ ├── batchFile.groovy
│ │ │ │ ├── buildDescription.groovy
│ │ │ │ ├── jython.groovy
│ │ │ │ ├── powerShell.groovy
│ │ │ │ ├── systemGroovyScriptFile.groovy
│ │ │ │ ├── virtualenv.groovy
│ │ │ │ ├── systemGroovyCommand.groovy
│ │ │ │ ├── gradle.groovy
│ │ │ │ ├── groovyScriptFile.groovy
│ │ │ │ ├── criticalBlock.groovy
│ │ │ │ ├── groovyCommand.groovy
│ │ │ │ ├── environmentVariables.groovy
│ │ │ │ ├── publishOverSsh.groovy
│ │ │ │ ├── progressJiraIssues.groovy
│ │ │ │ ├── shell.groovy
│ │ │ │ ├── vSphereDeployFromTemplate.groovy
│ │ │ │ ├── httpRequest.groovy
│ │ │ │ ├── jsLint.groovy
│ │ │ │ ├── phing.groovy
│ │ │ │ ├── remoteShell.groovy
│ │ │ │ ├── nant.groovy
│ │ │ │ ├── msBuild.groovy
│ │ │ │ ├── dockerBuildAndPublish.groovy
│ │ │ │ ├── rake.groovy
│ │ │ │ ├── copyArtifacts.groovy
│ │ │ │ ├── ant.groovy
│ │ │ │ └── clangScanBuild.groovy
│ │ │ └── CopyArtifactSelectorContext
│ │ │ │ └── multiJobBuild.groovy
│ │ ├── JobAuthorizationContext
│ │ │ ├── blocksInheritance.groovy
│ │ │ └── permissionAll.groovy
│ │ ├── AxisContext
│ │ │ └── python.groovy
│ │ ├── BuildParametersContext
│ │ │ ├── fileParam.groovy
│ │ │ ├── booleanParam.groovy
│ │ │ ├── nonStoredPasswordParam.groovy
│ │ │ ├── runParam.groovy
│ │ │ ├── textParam.groovy
│ │ │ ├── stringParam.groovy
│ │ │ ├── choiceParam.groovy
│ │ │ ├── globalVariableParam.groovy
│ │ │ ├── matrixCombinationsParam.groovy
│ │ │ ├── gitParam.groovy
│ │ │ ├── credentialsParam.groovy
│ │ │ ├── activeChoiceParam.groovy
│ │ │ ├── labelParam.groovy
│ │ │ └── listTagsParam.groovy
│ │ ├── toplevel
│ │ │ ├── EnvironmentVariableContext
│ │ │ │ ├── envs.groovy
│ │ │ │ ├── scriptFile.groovy
│ │ │ │ ├── keepBuildVariables.groovy
│ │ │ │ ├── keepSystemVariables.groovy
│ │ │ │ ├── env.groovy
│ │ │ │ ├── overrideBuildParameters.groovy
│ │ │ │ ├── propertiesFile.groovy
│ │ │ │ ├── contributors.groovy
│ │ │ │ ├── groovy.groovy
│ │ │ │ └── script.groovy
│ │ │ └── EnvironmentVariableContributorsContext
│ │ │ │ └── populateToolInstallations.groovy
│ │ ├── workflow
│ │ │ ├── CpsContext
│ │ │ │ └── script.groovy
│ │ │ ├── OrphanedItemStrategyContext
│ │ │ │ └── discardOldItems.groovy
│ │ │ ├── WorkflowDefinitionContext
│ │ │ │ ├── cps.groovy
│ │ │ │ └── cpsScm.groovy
│ │ │ └── BranchSourcesContext
│ │ │ │ ├── github.groovy
│ │ │ │ ├── git.groovy
│ │ │ │ └── gitlab.groovy
│ │ └── IvyBuilderContext
│ │ │ └── ant.groovy
│ │ └── DslFactory
│ │ ├── pipelineAggregatorView.groovy
│ │ ├── userContent.groovy
│ │ ├── buildMonitorView.groovy
│ │ ├── pipelineJob.groovy
│ │ ├── queue.groovy
│ │ ├── folder.groovy
│ │ ├── streamFileFromWorkspace.groovy
│ │ ├── organizationFolder.groovy
│ │ ├── mavenJob.groovy
│ │ ├── buildPipelineView.groovy
│ │ ├── ivyJob.groovy
│ │ ├── categorizedJobsView.groovy
│ │ ├── job.groovy
│ │ ├── freeStyleJob.groovy
│ │ ├── matrixJob.groovy
│ │ ├── deliveryPipelineView.groovy
│ │ ├── multibranchPipelineJob.groovy
│ │ └── nestedView.groovy
│ ├── groovy
│ └── javaposse
│ │ └── jobdsl
│ │ └── dsl
│ │ ├── views
│ │ ├── jobfilter
│ │ │ ├── Status.groovy
│ │ │ ├── UnclassifiedJobsFilter.groovy
│ │ │ ├── RegexMatchValue.groovy
│ │ │ ├── AmountType.groovy
│ │ │ ├── BuildCountType.groovy
│ │ │ ├── JobStatusesFilter.groovy
│ │ │ ├── MatchType.groovy
│ │ │ └── AbstractJobFilter.groovy
│ │ └── portlets
│ │ │ ├── BuildStatisticsContext.groovy
│ │ │ ├── JenkinsJobsListContext.groovy
│ │ │ └── TestStatisticsChartContext.groovy
│ │ ├── ExtensibleContext.groovy
│ │ ├── NameNotProvidedException.groovy
│ │ ├── ConfigurationMissingException.groovy
│ │ ├── GeneratedItems.groovy
│ │ ├── JobConfigurationNotFoundException.groovy
│ │ ├── JobTemplateMissingException.groovy
│ │ ├── UserContent.groovy
│ │ ├── helpers
│ │ ├── ConfigFilesContext.groovy
│ │ ├── wrapper
│ │ │ └── ExclusionContext.groovy
│ │ ├── scm
│ │ │ └── SvnDepth.groovy
│ │ ├── triggers
│ │ │ ├── MultibranchWorkflowTriggerContext.groovy
│ │ │ └── ScmTriggerContext.groovy
│ │ ├── publisher
│ │ │ ├── FailureCountExtendedEmailTriggerContext.groovy
│ │ │ ├── CloverPhpHtmlReportContext.groovy
│ │ │ ├── DebianPackagePublisherContext.groovy
│ │ │ ├── PlotPropertiesSeriesContext.groovy
│ │ │ ├── ArchiveXUnitCustomToolContext.groovy
│ │ │ ├── SonarTriggersContext.groovy
│ │ │ ├── PlotSeriesContext.groovy
│ │ │ └── SeleniumReportContext.groovy
│ │ ├── step
│ │ │ ├── SystemGroovyContext.groovy
│ │ │ └── AbstractGroovyContext.groovy
│ │ ├── LocalRepositoryLocation.groovy
│ │ └── parameter
│ │ │ └── ActiveChoiceReactiveContext.groovy
│ │ ├── JobTypeMismatchException.groovy
│ │ ├── jobs
│ │ └── FreeStyleJob.groovy
│ │ ├── Context.groovy
│ │ ├── DslScriptLoader.groovy
│ │ ├── AbstractContext.groovy
│ │ ├── ContextType.groovy
│ │ ├── DslContext.groovy
│ │ ├── SnitchingClassLoader.java
│ │ └── DslException.groovy
│ └── resources
│ └── javaposse
│ └── jobdsl
│ └── dsl
│ ├── views
│ ├── NestedView-template.xml
│ ├── SectionedView-template.xml
│ └── ListView-template.xml
│ └── jobs
│ └── WorkflowJob-template.xml
├── .mvn
├── maven.config
└── extensions.xml
├── .git-blame-ignore-revs
├── Jenkinsfile
├── config
└── codenarc
│ ├── ignored-field-names.txt
│ └── rules-examples.groovy
├── job-dsl-ast
└── src
│ └── main
│ └── resources
│ └── META-INF
│ └── services
│ └── org.codehaus.groovy.transform.ASTTransformation
└── .gitignore
/job-dsl-plugin/.mvn_exec_node:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @jenkinsci/job-dsl-plugin-developers
2 |
--------------------------------------------------------------------------------
/docs/Automatically-Generated-DSL.md:
--------------------------------------------------------------------------------
1 | See [[Dynamic DSL]].
2 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/foo/test.dsl:
--------------------------------------------------------------------------------
1 | job('test') {
2 | }
3 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/java.dsl:
--------------------------------------------------------------------------------
1 | job('test') {
2 | }
3 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/simple2.dsl:
--------------------------------------------------------------------------------
1 | job('test2') {
2 | }
3 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/deprecation.groovy:
--------------------------------------------------------------------------------
1 | jm.testMethod()
2 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/simple.dsl:
--------------------------------------------------------------------------------
1 |
2 | job('test') {
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/test-script.dsl:
--------------------------------------------------------------------------------
1 | job('test') {
2 | }
3 |
--------------------------------------------------------------------------------
/.mvn/maven.config:
--------------------------------------------------------------------------------
1 | -Pconsume-incrementals
2 | -Pmight-produce-incrementals
3 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/file.dsl:
--------------------------------------------------------------------------------
1 | println "Script: ${ __FILE__}"
2 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module"
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/json/static/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "embedded": false
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/javaposse/jobdsl/dsl/TestView-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/json/embedded/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "embedded": true
3 | }
4 |
--------------------------------------------------------------------------------
/docs/images/Build1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/Build1.png
--------------------------------------------------------------------------------
/docs/images/newjob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/newjob.png
--------------------------------------------------------------------------------
/docs/images/pipeline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/pipeline.png
--------------------------------------------------------------------------------
/docs/images/result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/result.png
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/caller.dsl:
--------------------------------------------------------------------------------
1 | job('test') {
2 | }
3 |
4 | Callee.makeJob(this, 'test2')
5 |
--------------------------------------------------------------------------------
/docs/images/EmptySeed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/EmptySeed.png
--------------------------------------------------------------------------------
/docs/images/build-step.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/build-step.png
--------------------------------------------------------------------------------
/docs/images/createjob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/createjob.png
--------------------------------------------------------------------------------
/docs/images/AddBuildStep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/AddBuildStep.png
--------------------------------------------------------------------------------
/docs/images/DslBuildStep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/DslBuildStep.png
--------------------------------------------------------------------------------
/docs/images/create-seed-job.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/create-seed-job.png
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/disabled.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | disabled()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/jdk.groovy:
--------------------------------------------------------------------------------
1 | job('jdk') {
2 | jdk('Java 8')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/weight.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | weight(2)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/deprecation-subject.groovy:
--------------------------------------------------------------------------------
1 | // test script
2 |
3 | jm.testMethodWithCustomSubject()
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/userContent.dsl:
--------------------------------------------------------------------------------
1 | userContent('foo.txt', new ByteArrayInputStream('lorem ipsum'.bytes))
2 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/hbs/tree.hbs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/view-extension.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/images/AddBuildStepSelected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jenkinsci/job-dsl-plugin/HEAD/docs/images/AddBuildStepSelected.png
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/quietPeriod.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | quietPeriod(120)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/compressBuildLog.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | compressBuildLog()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/keepDependencies.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | keepDependencies()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/using.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | using('project-template')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/label.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | label('x86 && ubuntu')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/recurse.groovy:
--------------------------------------------------------------------------------
1 | listView('project-A') {
2 | recurse()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/javaposse/jobdsl/plugin/deprecation.groovy:
--------------------------------------------------------------------------------
1 | jm.logPluginDeprecationWarning('matrix-auth', '999999.0')
2 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/description.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | description('My first job')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/concurrentBuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | concurrentBuild()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/configfiles.dsl:
--------------------------------------------------------------------------------
1 | customConfigFile('foo') {
2 | comment('lorem ipsum')
3 | content('')
4 | }
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/javaposse/jobdsl/dsl/TestJob-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/folder.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.git-blame-ignore-revs:
--------------------------------------------------------------------------------
1 | # .git-blame-ignore-revs
2 | # Enable Spotless for code formatting (#1305)
3 | 724aa6928f872c6437c8f1d02fc9fe6ae3a45d99
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Folder/displayName.groovy:
--------------------------------------------------------------------------------
1 | folder('project-a') {
2 | displayName('Project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/checkoutRetryCount.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | checkoutRetryCount(10)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/runHeadless.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | runHeadless(true)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/javaposse/jobdsl/dsl/TestProject-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/test-script-with-method.dsl:
--------------------------------------------------------------------------------
1 | def doSomething(def test) {
2 | println test
3 | }
4 |
5 | doSomething('foo')
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/displayName.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | displayName('Job DSL Example Project')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/IvyJob/ivyBranch.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivyBranch('myproduct/1.2')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MatrixJob/runSequentially.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | runSequentially()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/incrementalBuild.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | incrementalBuild()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/filterExecutors.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | filterExecutors()
3 | }
4 |
--------------------------------------------------------------------------------
/Jenkinsfile:
--------------------------------------------------------------------------------
1 | buildPlugin(useContainerAgent: true, configurations: [
2 | [platform: 'linux', jdk: 25],
3 | [platform: 'windows', jdk: 21],
4 | ])
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Folder/description.groovy:
--------------------------------------------------------------------------------
1 | folder('project-a') {
2 | description('Folder for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/authenticationToken.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | authenticationToken('secret')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/blockOnUpstreamProjects.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | blockOnUpstreamProjects()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/rootPOM.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example-1') {
2 | rootPOM('sub-project/pom.xml')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/recurse.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('project-A') {
2 | recurse()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/filterBuildQueue.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | filterBuildQueue()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/NestedView/filterBuildQueue.groovy:
--------------------------------------------------------------------------------
1 | nestedView('example') {
2 | filterBuildQueue()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/NestedView/filterExecutors.groovy:
--------------------------------------------------------------------------------
1 | nestedView('example') {
2 | filterExecutors()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/js/app.js:
--------------------------------------------------------------------------------
1 | import App from './components/App.js';
2 |
3 | $(function() {
4 | var app = new App();
5 | app.start();
6 | });
7 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/index.jelly:
--------------------------------------------------------------------------------
1 |
2 | This plugin allows Jobs and Views to be defined via DSLs
3 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/ScriptHelper.java:
--------------------------------------------------------------------------------
1 | public class ScriptHelper {
2 | public static String foo() {
3 | return "foo";
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/blockOnDownstreamProjects.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | blockOnDownstreamProjects()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/customWorkspace.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | customWorkspace('/tmp/my-workspace')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/triggers.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | scm('@daily')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/archivingDisabled.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | archivingDisabled(true)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/resolveDependencies.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | resolveDependencies()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/siteArchivingDisabled.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | siteArchivingDisabled()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/recurse.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('project-A') {
2 | recurse()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/columns.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | columns(2)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionedView/filterExecutors.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | filterExecutors()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/fingerprintingDisabled.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | fingerprintingDisabled()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/filterExecutors.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('example') {
2 | filterExecutors()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/showAvatars.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | showAvatars()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/description.groovy:
--------------------------------------------------------------------------------
1 | listView('project-a') {
2 | description('View for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/statusFilter.groovy:
--------------------------------------------------------------------------------
1 | listView('project-A') {
2 | statusFilter(StatusFilter.ENABLED)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionedView/filterBuildQueue.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | filterBuildQueue()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/scm.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | scm {
3 | github('jenkinsci/job-dsl-plugin')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MatrixJob/touchStoneFilter.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | touchStoneFilter('label=="linux"')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/disableDownstreamTrigger.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | disableDownstreamTrigger()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/mavenInstallation.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example-1') {
2 | mavenInstallation('Maven 3.2.5')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/providedSettings.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | providedSettings('central-mirror')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/filterBuildQueue.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('example') {
2 | filterBuildQueue()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/displayedBuilds.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | displayedBuilds(5)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/filterBuildQueue.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | filterBuildQueue()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/filterExecutors.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | filterExecutors()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/title.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | title('Project A CI Pipeline')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/allowRebuild.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | allowRebuild()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/showChangeLog.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | showChangeLog()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/sorting.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | sorting(Sorting.TITLE)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/all.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | all()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/NestedView/description.groovy:
--------------------------------------------------------------------------------
1 | nestedView('project-a') {
2 | description('View for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/javaposse/jobdsl/plugin/missingPlugin.groovy:
--------------------------------------------------------------------------------
1 | job('a') {
2 | publishers {
3 | extendedEmail {
4 | }
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/IvyJob/ivySettingsFile.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivySettingsFile('build/ivy/ivysettings.xml')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/refreshFrequency.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | refreshFrequency(60)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/filterBuildQueue.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | filterBuildQueue()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/filterExecutors.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | filterExecutors()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/showDescription.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | showDescription()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/showPromotions.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | showPromotions()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/updateInterval.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | updateInterval(60)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobsContext/regex.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobs {
3 | regex('project-A-.+')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionedView/description.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('project-a') {
2 | description('View for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | # https://github.com/jenkinsci/.github/blob/master/.github/release-drafter.adoc
2 | _extends: .github
3 | tag-template: job-dsl-$NEXT_MINOR_VERSION
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/providedGlobalSettings.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | providedGlobalSettings('central-mirror')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/description.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('project-a') {
2 | description('View for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/selectedJob.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | selectedJob('project-a-compile')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/startsWithParameters.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | startsWithParameters()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/triggerOnlyLatestJob.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | triggerOnlyLatestJob()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ColumnsContext/cronTrigger.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | columns {
3 | cronTrigger()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ColumnsContext/progressBar.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | columns {
3 | progressBar()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/allowPipelineStart.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | allowPipelineStart()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/showTotalBuildTime.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | showTotalBuildTime()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/release.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | release()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobsContext/names.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobs {
3 | names('build', 'test')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/ScmContext/github.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | scm {
3 | github('jenkinsci/job-dsl-plugin')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/ItemTriggerContext/cron.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | cron('@daily')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/golang.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | golang('Go 1.3.3')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/rvm.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | rvm('ruby-1.9.3')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/timestamps.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | timestamps()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/IvyJob/ivyFileExcludesPattern.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivyFileExcludesPattern('moduleX/**,moduleZ/**')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/statusFilter.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('project-A') {
2 | statusFilter(StatusFilter.ENABLED)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/alwaysAllowManualTrigger.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | alwaysAllowManualTrigger()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/description.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('project-a') {
2 | description('View for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/showPipelineParameters.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | showPipelineParameters()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/description.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('project-a') {
2 | description('View for project A')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/enableManualTriggers.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | enableManualTriggers()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/allRelease.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | allRelease()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/fontSize.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | fontSize(10)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/steps.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | shell('echo START')
4 | gradle('check')
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/wrappers.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | colorizeOutput()
4 | timestamps()
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/priority.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | priority(5)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/emotional.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | emotional()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/bitbucketPush.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | bitbucketPush()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/githubPush.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | triggers {
3 | githubPush()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/buildUserVars.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | buildUserVars()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/maskPasswords.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | maskPasswords()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MatrixJob/combinationFilter.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | combinationFilter('jdk=="jdk-8" || label=="linux"')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/localRepository.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | localRepository(LocalRepositoryLocation.LOCAL_TO_WORKSPACE)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/customCssUrl.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | customCssUrl('url/to/custom/css/files')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/statusFilter.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('project-A') {
2 | statusFilter(StatusFilter.ENABLED)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/showAggregatedPipeline.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | showAggregatedPipeline()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/onlyLastBuild.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | onlyLastBuild()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/chucknorris.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | chucknorris()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/setBuildResult.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | setBuildResult('UNSTABLE')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/colorizeOutput.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | colorizeOutput()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/nodejs.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | nodejs('NodeJS 0.10.26')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/sshAgent.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | sshAgent('deployment-key')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/showPipelineDefinitionHeader.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | showPipelineDefinitionHeader()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobsContext/name.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobs {
3 | name('build')
4 | name('test')
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/NestedView/columns.groovy:
--------------------------------------------------------------------------------
1 | nestedView('project-A') {
2 | columns {
3 | status()
4 | weather()
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/exportRuntimeParameters.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | exportRuntimeParameters()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/prerequisite.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | prerequisite('project-a, project-b')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/upstream.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | upstream('other', 'UNSTABLE')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/IvyJob/ivySettingsPropertyFiles.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivySettingsPropertyFiles('branch.properties,deps.properties')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/preBuildSteps.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | preBuildSteps {
3 | shell("echo 'run before Maven'")
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/showPipelineParametersInHeaders.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | showPipelineParametersInHeaders()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/buildHistorySize.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | buildHistorySize(10)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/filterRegex.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | filterRegex('.*Pipeline')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/useCondensedTables.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | useCondensedTables()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Folder/icon.groovy:
--------------------------------------------------------------------------------
1 | // use the stock icon
2 | // see https://github.com/jenkinsci/custom-folder-icon-plugin for custom icons
3 | folder('stock')
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/JobAuthorizationContext/blocksInheritance.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | authorization {
3 | blocksInheritance()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/fingerprint.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | fingerprint('**/*.jar')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/jiraIssueUpdater.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | jiraIssueUpdater()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/toolenv.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | toolenv('Ant 1.8.2', 'Maven 3.1')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/consoleOutputLinkStyle.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | consoleOutputLinkStyle(OutputStyle.Lightbox)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelinesContext/regex.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | pipelines {
3 | regex(/compile-(.*)/)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/description.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | description('View description')
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/showBuildDuration.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | showBuildDuration(false)
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/PipelineAggregatorView/useScrollingCommits.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | useScrollingCommits()
3 | }
4 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Folder/configure.groovy:
--------------------------------------------------------------------------------
1 | folder('example-2') {
2 | configure { folder ->
3 | folder / icon(class: 'org.example.MyFolderIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/AxisContext/python.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | axes {
3 | python('System-CPython-2.7', 'System-CPython-3.3')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/associatedFiles.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | associatedFiles('/tmp/logs')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/githubCommitNotifier.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | githubCommitNotifier()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/mailer.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | mailer('me@example.com', true, true)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/vSpherePowerOff.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | vSpherePowerOff('vsphere.acme.org', 'foo')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/vSpherePowerOn.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | vSpherePowerOn('vsphere.acme.org', 'foo')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/runOnSameNodeAs.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | runOnSameNodeAs('project-a', true)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/zenTimestamp.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | zenTimestamp('yyyy-MM-dd-HH-mm')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/downstream.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | downstream('project-a', 'UNSTABLE')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/configure.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/previousNames.groovy:
--------------------------------------------------------------------------------
1 | // keep the build history when re-numbering jobs
2 | job('04-project-a-deploy') {
3 | previousNames(/\d+-project-a-deploy/)
4 | }
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/fileParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | fileParam('test/upload.zip', 'my description')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/allowBrokenBuildClaiming.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | allowBrokenBuildClaiming()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/extractJiraEnvironmentVariables.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | extractJiraEnvironmentVariables()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/envs.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | envs(FOO: 'bar', TEST: '123')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/scriptFile.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | scriptFile('env.sh')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/MavenTriggerContext/snapshotDependencies.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | triggers {
3 | snapshotDependencies(true)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/NestedView/configure.groovy:
--------------------------------------------------------------------------------
1 | nestedView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/mavenDeploymentLinker.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | mavenDeploymentLinker('.*.tar.gz')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/nodejsCommand.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | nodejsCommand('console.log("Hello World!")', 'Node 0.12.0')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/python.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | python {
4 | command('python setup.py')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionedView/configure.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/TestContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.Context;
4 |
5 | public class TestContext implements Context {}
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/rebuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | rebuild {
4 | autoRebuild()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/publishCloneWorkspace.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | publishCloneWorkspace('build/libs/**')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/ruby.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | ruby("puts 'Hello'")
4 | ruby(readFileFromWorkspace('build.rb'))
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/keepBuildVariables.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | keepBuildVariables(true)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/keepSystemVariables.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | keepSystemVariables(true)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/configure.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildPipelineView/configure.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/booleanParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | booleanParam('RUN_TESTS', true, 'uncheck to disable tests')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/vSphereRevertToSnapshot.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | vSphereRevertToSnapshot('vsphere.acme.org', 'foo', 'clean')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/env.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | env('ONE', '1')
4 | env('TWO', '2')
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/overrideBuildParameters.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | overrideBuildParameters()
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/propertiesFile.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | propertiesFile('build.properties')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/xvfb.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | xvfb('default') {
4 | screen('1920x1080x24')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/configure.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/debianPackage.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | debianPackage('module') {
4 | generateChangelog()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/sbt.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | sbt('SBT 0.12.3', 'test', '-Dsbt.log.noformat=true', '-Xmx2G -Xms512M', 'subproject')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/deliveryPipelineVersion.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | deliveryPipelineVersion('1.0.${BUILD_NUMBER}', true)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/configure.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/helpers/step/ArbitraryCategory.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.step
2 |
3 | class ArbitraryCategory {
4 | def sayHello(String who) {
5 | "Hi $who !"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/html/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | <%= htmlWebpackPlugin.options.title %>
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/javaposse/jobdsl/plugin/gstring.groovy:
--------------------------------------------------------------------------------
1 | def TRIGGER = '@midnight'
2 |
3 | job('a') {
4 | triggers {
5 | timerTrigger {
6 | spec("${TRIGGER}")
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/pipelineAggregatorView.groovy:
--------------------------------------------------------------------------------
1 | pipelineAggregatorView('pipeline-aggregator-view') {
2 | filterRegex('.*Pipeline')
3 | onlyLastBuild()
4 | useCondensedTables()
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/nonStoredPasswordParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | nonStoredPasswordParam('myParameterName', 'my description')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/runParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | runParam('myParameterName', 'myJobName', 'my description', 'SUCCESSFUL')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/wallDisplay.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | wallDisplay {
4 | name('job example')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/flog.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | flog {
4 | rubyDirectories('folderA', 'folderB')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/managedScript.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | managedScript('my-script') {
4 | arguments('World')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/pipelineInstances.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | configure { view ->
3 | view / icon(class: 'org.example.MyViewIcon')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/userContent.groovy:
--------------------------------------------------------------------------------
1 | // save the file images/logo.png from the seed job's workspace as user content
2 | userContent('company-logo.png', streamFileFromWorkspace('images/logo.png'))
3 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/configure.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | configure { project ->
3 | project / 'properties' / 'com.example.Test' {
4 | 'switch'('on')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/textParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | textParam('myParameterName', 'my default textParam value', 'my description')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/githubProjectUrl.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | githubProjectUrl('https://github.com/jenkinsci/job-dsl-plugin')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/publishBuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | publishBuild {
4 | discardOldBuilds(7, 10)
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/batchFile.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | batchFile('echo Hello World!')
4 | batchFile(readFileFromWorkspace('build.bat'))
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/buildDescription.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | buildDescription(/.*\[INFO\] Uploading project information for [^\s]* ([^\s]*)/)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/jython.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | jython('print "Hello" + "Goodbye"')
4 | jython(readFileFromWorkspace('build.py'))
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/injectPasswords.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | injectPasswords {
4 | injectGlobalPasswords()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/Status.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | enum Status {
4 | UNSTABLE,
5 | FAILED,
6 | ABORTED,
7 | DISABLED,
8 | STABLE
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/TestView.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class TestView extends View {
4 | TestView(JobManagement jobManagement, String name) {
5 | super(jobManagement, name)
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/parameters.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | booleanParam('FLAG', true)
4 | choiceParam('OPTION', ['option 1 (default)', 'option 2', 'option 3'])
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/stringParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | stringParam('myParameterName', 'my default stringParam value', 'my description')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/xvnc.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | xvnc {
4 | takeScreenshot()
5 | useXauthority(false)
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MatrixJob/childCustomWorkspace.groovy:
--------------------------------------------------------------------------------
1 | // Reuse the same custom workspace for every axis.
2 | matrixJob('example') {
3 | customWorkspace('example')
4 | childCustomWorkspace('.')
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/categorizationCriteria.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | categorizationCriteria {
3 | regexGroupingRule(/^configuration_([^_]+).*$/)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/TestProject.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class TestProject extends Project {
4 | TestProject(JobManagement jobManagement) {
5 | super(jobManagement, 'test')
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/publishers.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | archiveArtifacts('build/test-output/**/*.html')
4 | archiveJunit('**/target/surefire-reports/*.xml')
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/archiveJavadoc.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | archiveJavadoc {
4 | javadocDir('target/javadoc')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizationCriteriaContext/regexGroupingRule.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | categorizationCriteria {
3 | regexGroupingRule(/^configuration_([^_]+).*$/)
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/unclassified.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | unclassified {
4 | matchType(MatchType.INCLUDE_UNMATCHED)
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-scriptText.html:
--------------------------------------------------------------------------------
1 |
2 | DSL Script, which is groovy code. Look at
documentation for details on the syntax.
3 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/powerShell.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | powerShell('Write-Output "Hello World!"')
4 | powerShell(readFileFromWorkspace('build.ps1'))
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/customTools.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | customTools(['NodeJS', 'figlet']) {
4 | skipMasterInstallation()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/mostRecent.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | mostRecent {
4 | maxToInclude(5)
5 | checkStartTime()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/jobs.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobs {
3 | name('build')
4 | name('test')
5 | names('compile', 'deploy')
6 | regex('project-A-.+')
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/choiceParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | choiceParam('myParameterName', ['option 1 (default)', 'option 2', 'option 3'], 'my description')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/mantis.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | mantis {
4 | keepNotePrivate()
5 | recordChangelogToNote()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/postBuildTask.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | postBuildTask {
4 | task('BUILD SUCCESSFUL', 'git clean -fdx')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/contributors.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | contributors {
4 | populateToolInstallations()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/CpsContext/script.groovy:
--------------------------------------------------------------------------------
1 | pipelineJob('example') {
2 | definition {
3 | cps {
4 | script(readFileFromWorkspace('project-a-workflow.groovy'))
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/hbs/plugins.hbs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/buildMonitorView.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('project-A') {
2 | description('All jobs for project A')
3 | jobs {
4 | name('release-projectA')
5 | regex(/project-A-.+/)
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/logRotator.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | logRotator(30, -1, 1, -1)
3 | }
4 |
5 | job('example-2') {
6 | logRotator {
7 | numToKeep(5)
8 | artifactNumToKeep(1)
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Project/batchTask.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | batchTask('upload', 'curl --upload-file build/dist.zip http://www.example.com/upload')
3 | batchTask('release', readFileFromWorkspace('scripts/release.sh'))
4 | }
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/globalVariableParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | globalVariableParam('myParameterName', '${MY_DEFAULT_GLOBAL_VARIABLE}', 'my description')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/rbenv.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | rbenv('2.1.2') {
4 | ignoreLocalVersion()
5 | gems('bundler', 'rake')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/publishScp.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | publishScp('docs.acme.org') {
4 | entry('build/docs/**', 'project-a', true)
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/seleniumHtmlReport.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | seleniumHtmlReport('target/test-output') {
4 | failOnExceptions()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/jobs.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('example') {
2 | jobs {
3 | name('build')
4 | name('test')
5 | names('compile', 'deploy')
6 | regex('project-A-.+')
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelinesContext/component.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | pipelines {
3 | component('Sub System A', 'compile-a')
4 | component('Sub System B', 'compile-b')
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/status.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | status {
4 | matchType(MatchType.INCLUDE_MATCHED)
5 | status(Status.FAILED)
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/UnclassifiedJobsFilter.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | /**
4 | * Filter job not classified in others views.
5 | */
6 | class UnclassifiedJobsFilter extends AbstractJobFilter {
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-unstableOnDeprecation.html:
--------------------------------------------------------------------------------
1 |
2 | If checked, marks the build as unstable when using deprecated features. If not checked, a warning will be
3 | printed to the build log only.
4 |
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/pipelineJob.groovy:
--------------------------------------------------------------------------------
1 | pipelineJob('example') {
2 | definition {
3 | cps {
4 | script(readFileFromWorkspace('project-a-workflow.groovy'))
5 | sandbox()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/customIcon.groovy:
--------------------------------------------------------------------------------
1 | userContent('customIcon/job.png', streamFileFromWorkspace('icons/job.png'))
2 |
3 | job('example') {
4 | properties {
5 | customIcon('job.png')
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/seleniumReport.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | seleniumReport('myproject/target/test-reports/*.html') {
4 | useTestCommands()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/groovy.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | groovy('''
4 | def a = 1
5 | return [TWO: 2 * a]
6 | ''')
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/ItemTriggerContext/dos.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | dos('@daily') {
4 | triggerScript('set CAUSE=Build successfully triggered by dostrigger.')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/OrphanedItemStrategyContext/discardOldItems.groovy:
--------------------------------------------------------------------------------
1 | multibranchPipelineJob('example') {
2 | orphanedItemStrategy {
3 | discardOldItems {
4 | numToKeep(20)
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/goals.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example-1') {
2 | goals('clean install -DskipTests')
3 | }
4 |
5 | mavenJob('example-2') {
6 | goals('clean')
7 | goals('install')
8 | goals('-DskipTests')
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/jobs.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | jobs {
3 | name('build')
4 | name('test')
5 | names('compile', 'deploy')
6 | regex('project-A-.+')
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/ExtensibleContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | /**
4 | * Marker interface to indicate that this is a {@link Context} which can be extended at runtime.
5 | */
6 | interface ExtensibleContext extends Context {
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-ignoreMissingFiles.html:
--------------------------------------------------------------------------------
1 |
2 | Ignore missing DSL scripts. If not checked, the build step will fail if a configured script is missing or if
3 | a wildcard does not match any files.
4 |
5 |
--------------------------------------------------------------------------------
/config/codenarc/ignored-field-names.txt:
--------------------------------------------------------------------------------
1 | Custom
2 | MavenSettings
3 | GlobalMavenSettings
4 | ManagedScript
5 | change
6 | json
7 | text
8 | xml
9 | NewWindow
10 | ThisWindow
11 | Lightbox
12 | status
13 | etag
14 | lastModified
15 | DoNothing
16 | MarkUnstable
17 | MarkFailed
18 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/matrixCombinationsParam.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | parameters {
3 | matrixCombinationsParam('COMBINATIONS', "axis1 != 'value3'", 'choose which combinations to run')
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/debianPackage.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | debianPackage('precise-default') {
4 | commitMessage('automatic commit by Jenkins')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/railsNotes.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | railsNotes {
4 | rakeVersion('v10.2.2')
5 | rakeWorkingDirectory('src')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/railsStats.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | railsStats {
4 | rakeVersion('v10.2.2')
5 | rakeWorkingDirectory('src')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContext/script.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | script('''
4 | mkdir -p tests
5 | rm -rf /tmp/tests.tmp
6 | ''')
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/WorkflowJob/definition.groovy:
--------------------------------------------------------------------------------
1 | pipelineJob('example') {
2 | definition {
3 | cps {
4 | script(readFileFromWorkspace('project-a-workflow.groovy'))
5 | sandbox()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/portlets/DashboardPortletContext/testStatisticsChart.groovy:
--------------------------------------------------------------------------------
1 | dashboardView('example') {
2 | topPortlets {
3 | testStatisticsChart {
4 | displayName('Project A Test Stats')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/queue.groovy:
--------------------------------------------------------------------------------
1 | def example1 = job('example-1') {
2 | displayName('first example')
3 | }
4 |
5 | queue(example1)
6 |
7 | job('example-2') {
8 | displayName('second example')
9 | }
10 |
11 | queue('example-2')
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/createJiraVersion.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | createJiraVersion {
4 | projectKey('PROJECT')
5 | version('VersionA')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/releaseJiraVersion.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | releaseJiraVersion {
4 | projectKey('PROJECT')
5 | release('$JiraBuild')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/systemGroovyScriptFile.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | systemGroovyScriptFile('disconnect-slave.groovy') {
4 | binding('computerName', 'ubuntu-04')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/virtualenv.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | virtualenv {
4 | name('venv')
5 | command('pip install tox')
6 | clear()
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/toplevel/EnvironmentVariableContributorsContext/populateToolInstallations.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | environmentVariables {
3 | contributors {
4 | populateToolInstallations()
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/NameNotProvidedException.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class NameNotProvidedException extends RuntimeException {
4 | NameNotProvidedException() {
5 | super('No name was provided for the Job or View.')
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/RegexMatchValue.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | enum RegexMatchValue {
4 | NAME,
5 | DESCRIPTION,
6 | SCM,
7 | EMAIL,
8 | MAVEN,
9 | SCHEDULE,
10 | NODE
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/folder.groovy:
--------------------------------------------------------------------------------
1 | folder('project-a') {
2 | displayName('Project A')
3 | description('Folder for project A')
4 | }
5 |
6 | folder('project-a/testing') {
7 | description('Folder containing all QA jobs for project A')
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/streamFileFromWorkspace.groovy:
--------------------------------------------------------------------------------
1 | // read the file images/logo.png from the seed job's workspace
2 | // and save the as user content
3 | def image = streamFileFromWorkspace('images/logo.png')
4 | userContent('company-logo.png', image)
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/blockOn.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | blockOn('project-a')
3 | }
4 |
5 | job('example-2') {
6 | blockOn(['project-a', 'project-b']) {
7 | blockLevel('GLOBAL')
8 | scanQueueFor('ALL')
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/cucumberTestResults.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | cucumberTestResults {
4 | jsonReportFiles('files.json')
5 | ignoreBadSteps()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/casc/FromFileScriptSource/schema.jelly:
--------------------------------------------------------------------------------
1 |
2 |
3 | "io.jenkins.plugins.casc.support.jobdsl.FromFileScriptSource": { "type": "string" }
4 |
5 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/casc/FromUrlScriptSource/schema.jelly:
--------------------------------------------------------------------------------
1 |
2 |
3 | "io.jenkins.plugins.casc.support.jobdsl.FromUrlScriptSource": { "type": "string" }
4 |
5 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/BrokenContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.Context;
4 | import javaposse.jobdsl.dsl.ContextType;
5 |
6 | @ContextType("a.Foo")
7 | public class BrokenContext implements Context {}
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/extension.xml:
--------------------------------------------------------------------------------
1 |
2 | foo
3 | 42
4 | true
5 |
6 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/buildName.groovy:
--------------------------------------------------------------------------------
1 | // define the build name based on the build number and an environment variable
2 | job('example') {
3 | wrappers {
4 | buildName('#${BUILD_NUMBER} on ${ENV,var="BRANCH"}')
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/keychains.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | keychains {
4 | keychain('test1', 'test2')
5 | delete()
6 | overwrite()
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/textFinder.groovy:
--------------------------------------------------------------------------------
1 | // marks a build as unstable if "[ERROR]" has been in found in any log file
2 | job('example') {
3 | publishers {
4 | textFinder(/[ERROR]/, '**/*.log', false, false, true)
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/systemGroovyCommand.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | systemGroovyCommand(readFileFromWorkspace('disconnect-slave.groovy')) {
4 | binding('computerName', 'ubuntu-04')
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/WorkflowDefinitionContext/cps.groovy:
--------------------------------------------------------------------------------
1 | pipelineJob('example') {
2 | definition {
3 | cps {
4 | script(readFileFromWorkspace('project-a-workflow.groovy'))
5 | sandbox()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/DeliveryPipelineView/pipelines.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('example') {
2 | pipelines {
3 | component('Sub System A', 'compile-a')
4 | component('Sub System B', 'compile-b')
5 | regex(/compile-(.*)/)
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/casc/InlineGroovyScriptSource/schema.jelly:
--------------------------------------------------------------------------------
1 |
2 |
3 | "io.jenkins.plugins.casc.support.jobdsl.InlineGroovyScriptSource": { "type": "string" }
4 |
5 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/NoPublicConstructorContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.Context;
4 |
5 | public class NoPublicConstructorContext implements Context {
6 | private NoPublicConstructorContext() {}
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/organizationFolder.groovy:
--------------------------------------------------------------------------------
1 | organizationFolder('example') {
2 | description('This contains branch source jobs for Bitbucket and GitHub')
3 | displayName('Organization Folder')
4 | triggers {
5 | cron('@midnight')
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/phabricator.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | phabricator {
4 | createCommit()
5 | applyToMaster()
6 | showBuildStartedMessage()
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/InvalidContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.Context;
4 | import javaposse.jobdsl.dsl.ContextType;
5 |
6 | @ContextType("java.util.TimeZone")
7 | public class InvalidContext implements Context {}
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/groovyPostBuild.groovy:
--------------------------------------------------------------------------------
1 | // run a groovy script and if that fails will mark the build as failed
2 | job('example') {
3 | publishers {
4 | groovyPostBuild('println "hello, world"', Behavior.MarkFailed)
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/retryBuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | retryBuild {
4 | rerunIfUnstable()
5 | retryLimit(3)
6 | progressiveDelay(60, 600)
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/CopyArtifactSelectorContext/multiJobBuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | copyArtifacts('upstream') {
4 | buildSelector {
5 | multiJobBuild()
6 | }
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/gradle.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | gradle('check')
4 | gradle {
5 | tasks('clean')
6 | tasks('check')
7 | switches('--info')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MatrixJob/axes.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | axes {
3 | label('label', 'linux', 'windows')
4 | jdk('jdk8', 'jdk11')
5 | configure { axes ->
6 | axes << 'org.acme.FooAxis'()
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/javaposse/jobdsl/plugin/testjob.groovy:
--------------------------------------------------------------------------------
1 | job('testJob2') {
2 | scm {
3 | git('git://github.com/quidryan/aws-sdk-test.git')
4 | }
5 | triggers {
6 | scm('H/15 * * * *')
7 | }
8 | steps {
9 | maven('-e clean test')
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/rcov.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | rcov {
4 | reportDirectory('folder')
5 | totalCoverage(80, 50, 0)
6 | codeCoverage(80, 50, 0)
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/groovyScriptFile.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | groovyScriptFile('generateReports.groovy') {
4 | groovyInstallation('groovy-2.4.2')
5 | scriptParam('target/reports')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/columns.groovy:
--------------------------------------------------------------------------------
1 | listView('project-A') {
2 | columns {
3 | status()
4 | weather()
5 | name()
6 | lastSuccess()
7 | lastFailure()
8 | lastDuration()
9 | buildButton()
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/js/components/Router.js:
--------------------------------------------------------------------------------
1 | import Backbone from 'backbone';
2 |
3 | export default Backbone.Router.extend({
4 | routes: {
5 | 'path/:path': 'path',
6 | 'method/:path': 'path',
7 | 'plugin/:name': 'plugin',
8 | '*path': 'home'
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/gitParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | gitParam('sha') {
4 | description('Revision commit SHA')
5 | type('REVISION')
6 | branch('master')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/buildFailureAnalyzer.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | properties {
3 | buildFailureAnalyzer()
4 | }
5 | }
6 |
7 | job('example-2') {
8 | properties {
9 | buildFailureAnalyzer(false)
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/criticalBlock.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | exclusionResources('first', 'second')
4 | }
5 | steps {
6 | criticalBlock {
7 | shell('echo Hello World!')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/credentialsBinding.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | credentialsBinding {
4 | file('KEYSTORE', 'keystore.jks')
5 | usernamePassword('PASSWORD', 'keystore password')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/preScmSteps.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | preScmSteps {
4 | steps {
5 | shell('echo Hello World')
6 | }
7 | failOnError()
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/ConfigurationMissingException.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class ConfigurationMissingException extends RuntimeException {
4 | ConfigurationMissingException() {
5 | super('The provided job or view configuration was lacking somewhat.')
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/Callee.groovy:
--------------------------------------------------------------------------------
1 | import javaposse.jobdsl.dsl.JobParent
2 |
3 | /**
4 | * External class referenced by a Caller
5 | */
6 | class Callee {
7 | static def makeJob(JobParent jobParent, String nameOfJob) {
8 | jobParent.freeStyleJob(nameOfJob) {
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/mavenJob.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example') {
2 | logRotator(-1, 10)
3 | jdk('Java 8')
4 | scm {
5 | github('jenkinsci/jenkins', 'master')
6 | }
7 | triggers {
8 | githubPush()
9 | }
10 | goals('clean verify')
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/UnsupportedConstructorArgContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.Context;
4 |
5 | public class UnsupportedConstructorArgContext implements Context {
6 | public UnsupportedConstructorArgContext(String arg) {}
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/minimal-job.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | false
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/deliveryPipelineConfiguration.groovy:
--------------------------------------------------------------------------------
1 | // use job name as task name
2 | job('example-1') {
3 | deliveryPipelineConfiguration('qa')
4 | }
5 |
6 | // use custom task name
7 | job('example-2') {
8 | deliveryPipelineConfiguration('qa', 'integration-tests')
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/groovyCommand.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | groovyCommand(readFileFromWorkspace('generateReports.groovy')) {
4 | groovyInstallation('groovy-2.4.2')
5 | scriptParam('target/reports')
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/WorkflowDefinitionContext/cpsScm.groovy:
--------------------------------------------------------------------------------
1 | pipelineJob('example') {
2 | definition {
3 | cpsScm {
4 | scm {
5 | git('https://github.com/jenkinsci/job-dsl-plugin.git')
6 | }
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/exclusionResources.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | exclusionResources('FIRST', 'SECOND')
4 | }
5 | steps {
6 | criticalBlock {
7 | shell('echo Hello World!')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/GeneratedItems.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class GeneratedItems {
4 | final Set jobs = []
5 | final Set views = []
6 | final Set configFiles = []
7 | final Set userContents = []
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/JobConfigurationNotFoundException.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class JobConfigurationNotFoundException extends RuntimeException {
4 | JobConfigurationNotFoundException(String jobName) {
5 | super("The job with name $jobName could not be found.")
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/JobTemplateMissingException.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class JobTemplateMissingException extends RuntimeException {
4 | JobTemplateMissingException(String templateName) {
5 | super("The template job with name ${templateName} does not exist.")
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/UserContent.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class UserContent {
4 | final String path
5 | final InputStream content
6 |
7 | UserContent(String path, InputStream content) {
8 | this.path = path
9 | this.content = content
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-failOnMissingPlugin.html:
--------------------------------------------------------------------------------
1 |
2 | If checked, the build will be marked as failed if a plugin must be installed or updated to support all features used
3 | in the DSL scripts. If not checked, the build will be marked as unstable instead.
4 |
5 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-ignoreExisting.html:
--------------------------------------------------------------------------------
1 | Ignore previously generated jobs and views. By default, this plugin will always regenerate all jobs and views, thus updating previously generated jobs and views. Check this box if you wish to leave previous jobs and views as is.
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/environmentVariables.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | environmentVariables {
4 | env('ONE', '1')
5 | envs(FOO: 'bar', TEST: '123')
6 | propertiesFile('env.properties')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/scm.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | triggers {
3 | scm('@daily')
4 | }
5 | }
6 |
7 | job('example-2') {
8 | triggers {
9 | scm('@midnight') {
10 | ignorePostCommitHooks()
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/regex.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | regex {
4 | matchType(MatchType.EXCLUDE_MATCHED)
5 | matchValue(RegexMatchValue.DESCRIPTION)
6 | regex('.*project-a.*')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/AmountType.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | enum AmountType {
4 | HOURS('Hours'), DAYS('Days'), BUILDS('Builds')
5 |
6 | final String value
7 |
8 | AmountType(String value) {
9 | this.value = value
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/TestJob.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class TestJob extends Job {
4 | TestJob(JobManagement jobManagement) {
5 | super(jobManagement, 'test')
6 | }
7 |
8 | @SuppressWarnings('EmptyMethod')
9 | @Deprecated
10 | void foo() {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/organizationfolder.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | false
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/job-dsl-ast/src/main/resources/META-INF/services/org.codehaus.groovy.transform.ASTTransformation:
--------------------------------------------------------------------------------
1 | javaposse.jobdsl.dsl.transform.ContextASTTransformation
2 | javaposse.jobdsl.dsl.transform.PluginASTTransformation
3 | javaposse.jobdsl.dsl.transform.CoreVersionASTTransformation
4 | javaposse.jobdsl.dsl.transform.DeprecationWarningASTTransformation
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/crittercismDsymUpload.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | crittercismDsymUpload {
4 | apiKey('secret')
5 | appID('c001abb')
6 | filePath('build/myapp.dSYM.zip')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/warnings.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | warnings(['Java Compiler (javac)'], ['Java Compiler (javac)': '**/*.log']) {
4 | excludePattern('**/test**')
5 | resolveRelativePaths()
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/columns.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('project-A') {
2 | columns {
3 | status()
4 | weather()
5 | name()
6 | lastSuccess()
7 | lastFailure()
8 | lastDuration()
9 | buildButton()
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | target
2 |
3 | # mvn hpi:run
4 | work
5 |
6 | # IntelliJ IDEA project files
7 | *.iml
8 | *.iws
9 | *.ipr
10 | .idea
11 |
12 | # Eclipse project files
13 | .settings
14 | .classpath
15 | .project
16 |
17 | # Web application
18 | job-dsl-plugin/node
19 | job-dsl-plugin/node_modules
20 | job-dsl-plugin/src/main/webapp/api-viewer
21 |
--------------------------------------------------------------------------------
/config/codenarc/rules-examples.groovy:
--------------------------------------------------------------------------------
1 | ruleset {
2 | ruleset('file:config/codenarc/rules.groovy') {
3 | // that's OK for examples
4 | exclude 'NoDef'
5 | // causes false positives
6 | exclude 'UnnecessarySetter'
7 | // that's OK for examples
8 | exclude 'VariableTypeRequired'
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/archiveGatling.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | publishers {
3 | archiveGatling()
4 | }
5 | }
6 |
7 | job('example-2') {
8 | publishers {
9 | archiveGatling {
10 | enabled(false)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/environmentVariables.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | environmentVariables {
4 | env('ONE', '1')
5 | envs(FOO: 'bar', TEST: '123')
6 | propertiesFile('env.properties')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/properties.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | customIcon('job.png')
4 | sidebarLinks {
5 | link('https://jira.acme.org/', 'JIRA', 'notepad.png')
6 | }
7 | rebuild {
8 | autoRebuild()
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/publishRobotFrameworkReports.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | publishRobotFrameworkReports {
4 | passThreshold(80.0)
5 | unstableThreshold(20.0)
6 | onlyCritical()
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/ConfigFilesContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers
2 |
3 | import javaposse.jobdsl.dsl.ContextType
4 | import javaposse.jobdsl.dsl.ExtensibleContext
5 |
6 | @ContextType('org.jenkinsci.lib.configprovider.model.Config')
7 | class ConfigFilesContext implements ExtensibleContext {
8 | }
9 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/RemovedViewAction.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin
2 |
3 | enum RemovedViewAction {
4 | IGNORE('Ignore'),
5 | DELETE('Delete')
6 |
7 | final String displayName
8 |
9 | RemovedViewAction(String displayName) {
10 | this.displayName = displayName
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-additionalClasspath.html:
--------------------------------------------------------------------------------
1 |
2 | Newline separated list of additional classpath entries for the Job DSL scripts. All entries must be relative to the
3 | workspace root, e.g. build/classes/main. Supports Ant-style patterns like lib/*.jar.
4 |
5 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/environmentVariables.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | environmentVariables(FOO: 'bar', TEST: '123')
3 | }
4 |
5 | job('example-2') {
6 | environmentVariables {
7 | env('ONE', '1')
8 | propertiesFile('env.properties')
9 | keepBuildVariables(true)
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/JobAuthorizationContext/permissionAll.groovy:
--------------------------------------------------------------------------------
1 | // add all permissions
2 | job('example-1') {
3 | authorization {
4 | permissionAll('joe')
5 | // requires matrix-auth > 3.0
6 | userPermissionAll('user1')
7 | groupPermissionAll('group1')
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionsContext/text.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | sections {
3 | text {
4 | name('project-A')
5 | width('HALF')
6 | alignment('LEFT')
7 | style('TIP')
8 | text('Helpful tip')
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/BuildCountType.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | enum BuildCountType {
4 | LATEST('Latest'), AT_LEAST_ONE('AtLeastOne'), ALL('All')
5 |
6 | final String value
7 |
8 | BuildCountType(String value) {
9 | this.value = value
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/notifications.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | notifications {
3 | endpoint('http://example.com:8080/monitor')
4 | endpoint('10.100.2.3:3434', 'TCP', 'XML') {
5 | event('started')
6 | timeout(60000)
7 | logLines(100)
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/publishOverSsh.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | publishOverSsh {
4 | server('server-name') {
5 | transferSet {
6 | sourceFiles('file')
7 | }
8 | }
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/wrapper/ExclusionContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.wrapper
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class ExclusionContext implements Context {
6 | List names = []
7 |
8 | void resource(String name) {
9 | this.names << name
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/ownership.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | properties {
3 | ownership {
4 | primaryOwnerId('User_ID')
5 | coOwnerIds('User1', 'User2')
6 | coOwnerIds('User3')
7 | coOwnerIds('User4')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/MavenPublisherContext/deployArtifacts.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example-1') {
2 | publishers {
3 | deployArtifacts()
4 | }
5 | }
6 |
7 | mavenJob('example-2') {
8 | publishers {
9 | deployArtifacts {
10 | evenIfUnstable()
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/createJiraIssue.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | createJiraIssue {
4 | projectKey('PROJECT')
5 | testDescription('bla')
6 | assignee('Bob')
7 | component('ComponentA')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/progressJiraIssues.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | progressJiraIssues {
4 | jqlSearch('project = PROJECT and fixVersion = "$JiraBuild"')
5 | workflowActionName('Closed')
6 | comment('Comment')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/shell.groovy:
--------------------------------------------------------------------------------
1 | // execute echo command
2 | job('example-1') {
3 | steps {
4 | shell('echo Hello World!')
5 | }
6 | }
7 |
8 | // read file from workspace
9 | job('example-2') {
10 | steps {
11 | shell(readFileFromWorkspace('build.sh'))
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/vSphereDeployFromTemplate.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | vSphereDeployFromTemplate {
4 | server('vsphere.acme.org')
5 | template('template')
6 | clone('clone')
7 | cluster('cluster')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/mavenOpts.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example-1') {
2 | mavenOpts('-Xmx1536m -XX:MaxPermSize=384m -XX:ReservedCodeCacheSize=64m')
3 | }
4 |
5 | mavenJob('example-2') {
6 | mavenOpts('-Xmx1536m')
7 | mavenOpts('-XX:MaxPermSize=384m')
8 | mavenOpts('-XX:ReservedCodeCacheSize=64m')
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/JobTypeMismatchException.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class JobTypeMismatchException extends RuntimeException {
4 | JobTypeMismatchException(String jobName, String templateName) {
5 | super("The type of job '${jobName}' does not match the type of its template '${templateName}'.")
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/jobs/FreeStyleJob.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.jobs
2 |
3 | import javaposse.jobdsl.dsl.JobManagement
4 | import javaposse.jobdsl.dsl.Project
5 |
6 | class FreeStyleJob extends Project {
7 | FreeStyleJob(JobManagement jobManagement, String name) {
8 | super(jobManagement, name)
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/publishJabber.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | publishJabber('*room@example.org') {
4 | strategyName('STATECHANGE_ONLY')
5 | notifySuspects()
6 | channelNotificationName('BuildParameters')
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/httpRequest.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | httpRequest('http://www.example.com') {
4 | httpMode('POST')
5 | authentication('Credentials')
6 | returnCodeBuildRelevant()
7 | logResponseBody()
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/jsLint.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | jsLint {
4 | includePattern('**/*.js')
5 | excludePattern('**/*Tests.js')
6 | logFile('target/jslint.xml')
7 | arguments('-Dadsafe=true, -Dcontinue=true')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/resources/javaposse/jobdsl/dsl/views/NestedView-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionsContext/jobGraphs.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | sections {
3 | jobGraphs {
4 | name('project-A')
5 | width('HALF')
6 | alignment('LEFT')
7 | jobs {
8 | regex('project-A-.*')
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/RemovedJobAction.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin
2 |
3 | enum RemovedJobAction {
4 | IGNORE('Ignore'),
5 | DISABLE('Disable'),
6 | DELETE('Delete')
7 |
8 | final String displayName
9 |
10 | RemovedJobAction(String displayName) {
11 | this.displayName = displayName
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/InvalidTrigger.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import hudson.model.Job;
4 | import hudson.triggers.Trigger;
5 | import org.kohsuke.stapler.DataBoundConstructor;
6 |
7 | public class InvalidTrigger extends Trigger {
8 | @DataBoundConstructor
9 | public InvalidTrigger() {}
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/slocCount.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | slocCount {
4 | pattern('build/result.xml')
5 | encoding('UTF-8')
6 | commentIsCode()
7 | buildsInGraph(2)
8 | ignoreBuildFailure()
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionsContext/testResult.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | sections {
3 | testResult {
4 | name('project-A')
5 | width('HALF')
6 | alignment('LEFT')
7 | jobs {
8 | regex('project-A-.*')
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/hbs/searchResults.hbs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/buildPipelineView.groovy:
--------------------------------------------------------------------------------
1 | buildPipelineView('project-A') {
2 | filterBuildQueue()
3 | filterExecutors()
4 | title('Project A CI Pipeline')
5 | displayedBuilds(5)
6 | selectedJob('project-A-compile')
7 | alwaysAllowManualTrigger()
8 | showPipelineParameters()
9 | refreshFrequency(60)
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/moveJiraIssues.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | moveJiraIssues {
4 | projectKey('PROJECT')
5 | release('$JiraBuild')
6 | replaceVersion('PROJECT-01')
7 | query('status in (Resolved, Closed)')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionsContext/viewListing.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | sections {
3 | viewListing {
4 | name('project-A')
5 | width('HALF')
6 | alignment('LEFT')
7 | columns(2)
8 | view('view-a')
9 | view('view-b')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/Context.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | /**
4 | * Marker interface to indicate that implementations are used as DSL contexts.
5 | *
6 | * Use {@link ContextHelper#executeInContext(groovy.lang.Closure, javaposse.jobdsl.dsl.Context)} to call a
7 | * {@link Closure} in a DSL context.
8 | */
9 | interface Context {
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/resources/javaposse/jobdsl/dsl/views/SectionedView-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/MavenJob/postBuildSteps.groovy:
--------------------------------------------------------------------------------
1 | mavenJob('example-1') {
2 | postBuildSteps {
3 | shell("echo 'run after Maven'")
4 | }
5 | }
6 |
7 | // run post build steps only when the build succeeds
8 | mavenJob('example-2') {
9 | postBuildSteps('SUCCESS') {
10 | shell("echo 'run after Maven'")
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/javaposse/jobdsl/dsl/views/SectionedViewSpec-defaults.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/ivyJob.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivyBuilder {
3 | ant {
4 | target('clean')
5 | targets(['test', 'publish'])
6 | buildFile('build.xml')
7 | antInstallation('Ant 1.9')
8 | prop('key', 'value')
9 | javaOpt('-Xmx=1G')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/Job/throttleConcurrentBuilds.groovy:
--------------------------------------------------------------------------------
1 | // throttle one job on its own
2 | job('example-1') {
3 | throttleConcurrentBuilds {
4 | maxPerNode(1)
5 | maxTotal(2)
6 | }
7 | }
8 |
9 | // throttle as part of a category
10 | job('example-2') {
11 | throttleConcurrentBuilds {
12 | categories(['cat-1'])
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/js/views/ContextView.js:
--------------------------------------------------------------------------------
1 | import { View } from 'backbone.marionette';
2 |
3 | import Context from '../../hbs/context.hbs';
4 |
5 | export default View.extend({
6 | className: 'context-view',
7 |
8 | template: Context,
9 |
10 | serializeData: function() {
11 | return {
12 | signatures: this.options.signatures
13 | };
14 | }
15 | });
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/categorizedJobsView.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | jobs {
3 | regex(/configuration_.*/)
4 | }
5 | categorizationCriteria {
6 | regexGroupingRule(/^configuration_([^_]+).*$/)
7 | }
8 | columns {
9 | status()
10 | categorizedJob()
11 | buildButton()
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/jobs/IvyJob/ivyBuilder.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivyBuilder {
3 | ant {
4 | target('clean')
5 | targets(['test', 'publish'])
6 | buildFile('build.xml')
7 | antInstallation('Ant 1.9')
8 | prop('key', 'value')
9 | javaOpt('-Xmx=1G')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/portlets/DashboardPortletContext/testStatisticsGrid.groovy:
--------------------------------------------------------------------------------
1 | dashboardView('example') {
2 | rightPortlets {
3 | testStatisticsGrid {
4 | displayName('Project A Test Stats')
5 | skippedColor('7F7F7F')
6 | failureColor('FF0000')
7 | successColor('00FF00')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/RemovedConfigFilesAction.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin
2 |
3 | /**
4 | * @since 1.62
5 | */
6 | enum RemovedConfigFilesAction {
7 | IGNORE('Ignore'),
8 | DELETE('Delete')
9 |
10 | final String displayName
11 |
12 | RemovedConfigFilesAction(String displayName) {
13 | this.displayName = displayName
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/javaposse/jobdsl/plugin/security1342.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin
2 |
3 | import hudson.model.FreeStyleProject
4 | import jenkins.model.Jenkins
5 |
6 | class Foo extends JenkinsJobParent {
7 | Foo() { Jenkins.get().createProject(FreeStyleProject, 'should-not-exist') }
8 |
9 | @Override
10 | Object run() {
11 | return null
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/generateJiraReleaseNotes.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | generateJiraReleaseNotes {
4 | environmentVariable('JiraReleaseNotes')
5 | projectKey('PROJECT')
6 | release('$JiraBuild')
7 | filter('status in (Resolved, Closed)')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/DslScriptLoader.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | /**
4 | * Runs provided DSL scripts via an external {@link JobManagement}.
5 | */
6 | class DslScriptLoader extends AbstractDslScriptLoader {
7 | DslScriptLoader(JobManagement jobManagement) {
8 | super(jobManagement, JobParent, GeneratedItems)
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-sandbox.html:
--------------------------------------------------------------------------------
1 |
2 | If checked, runs the DSL scripts in a sandbox with limited abilities.
3 | You will also need to configure this job to run with the identity of a particular user.
4 | If unchecked, and you are not a Jenkins administrator,
5 | you will need to wait for an administrator to approve the scripts.
6 |
7 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/casc/SeedJobConfigurator/schema.jelly:
--------------------------------------------------------------------------------
1 |
2 |
3 | "[javaposse.jobdsl.dsl.GeneratedItems;": {
4 | "type": "array",
5 | "items": {
6 | "type": "#/definitions/io.jenkins.plugins.casc.support.jobdsl.ScriptSource"
7 | }
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/IvyBuilderContext/ant.groovy:
--------------------------------------------------------------------------------
1 | ivyJob('example') {
2 | ivyBuilder {
3 | ant {
4 | target('clean')
5 | targets(['test', 'publish'])
6 | buildFile('build.xml')
7 | antInstallation('Ant 1.9')
8 | prop('key', 'value')
9 | javaOpt('-Xmx=1G')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/phing.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | phing {
4 | properties('KEY', 'VALUE')
5 | targets('test')
6 | options('--debug')
7 | buildFile('dir1/build.xml')
8 | phingInstallation('Phing 1.8')
9 | useModuleRoot(false)
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/scm/SvnDepth.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.scm
2 |
3 | enum SvnDepth {
4 | INFINITY('infinity'),
5 | IMMEDIATES('immediates'),
6 | EMPTY('empty'),
7 | FILES('files'),
8 | AS_IT_IS('unknown')
9 |
10 | final String xmlValue
11 |
12 | SvnDepth(String xmlValue) {
13 | this.xmlValue = xmlValue
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/actions/ApiViewerAction.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.actions
2 |
3 | import hudson.model.Action
4 |
5 | class ApiViewerAction implements Action {
6 | final String iconFileName = 'symbol-directory plugin-job-dsl'
7 | final String displayName = 'Job DSL API Reference'
8 | final String urlName = '/plugin/job-dsl/api-viewer/index.html'
9 | }
10 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/js/views/PluginDetailView.js:
--------------------------------------------------------------------------------
1 | import { View } from 'backbone.marionette';
2 |
3 | import PluginDetail from '../../hbs/pluginDetail.hbs';
4 |
5 | export default View.extend({
6 | template: PluginDetail,
7 |
8 | serializeData: function() {
9 | return {
10 | plugin: this.options.plugin,
11 | usages: this.options.usages
12 | };
13 | }
14 | });
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/java/javaposse/jobdsl/plugin/casc/ScriptSource.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.casc;
2 |
3 | import hudson.ExtensionPoint;
4 | import hudson.model.AbstractDescribableImpl;
5 | import java.io.IOException;
6 |
7 | public abstract class ScriptSource extends AbstractDescribableImpl implements ExtensionPoint {
8 |
9 | public abstract String getScript() throws IOException;
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/remoteShell.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | remoteShell('root@example.com:22') {
4 | command('echo Hello', 'echo World!')
5 | command('echo How are you?')
6 | command(["echo I'm fine!", 'echo And you?'])
7 | command(readFileFromWorkspace('script.sh'))
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/BranchSourcesContext/github.groovy:
--------------------------------------------------------------------------------
1 | multibranchPipelineJob('example') {
2 | branchSources {
3 | github {
4 | id('23232323') // IMPORTANT: use a constant and unique identifier
5 | scanCredentialsId('github-ci')
6 | repoOwner('OwnerName')
7 | repository('job-dsl-plugin')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/configFiles.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | configFiles {
4 | file('myCustomConfigFile') {
5 | variable('CONFIG_FILE')
6 | }
7 | mavenSettings('myJenkinsSettingsFile') {
8 | targetLocation('settings.xml')
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/sauceOnDemand.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | sauceOnDemand {
4 | webDriverBrowsers('Linuxchrome43', 'Linuxchrome44')
5 | appiumBrowsers('Amazon_Kindle_Fire_Emulatorlandscapeandroid2_3_7_')
6 | useLatestVersion()
7 | launchSauceConnectOnSlave()
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/js/views/RootView.js:
--------------------------------------------------------------------------------
1 | import { View } from 'backbone.marionette';
2 |
3 | import Root from '../../hbs/root.hbs';
4 |
5 | export default View.extend({
6 | template: Root,
7 |
8 | regions: {
9 | contextRegion: ".context-methods-section",
10 | detailRegion: ".detail-wrapper",
11 | pluginRegion: ".plugins-body",
12 | treeRegion: ".tree-wrapper",
13 | },
14 | });
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/JobStatusesFilter.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | class JobStatusesFilter extends AbstractJobFilter {
4 | Set status = []
5 |
6 | /**
7 | * Selects the status of the jobs to be included or excluded.
8 | */
9 | void status(Status... status) {
10 | this.status.addAll(status as Collection)
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/downstreamParameterized.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | downstreamParameterized {
4 | trigger('Project1, Project2') {
5 | condition('UNSTABLE_OR_BETTER')
6 | parameters {
7 | currentBuild()
8 | }
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/.mvn/extensions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | io.jenkins.tools.incrementals
4 | git-changelist-maven-extension
5 | 1.13
6 |
7 |
8 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/ScmContext/perforceP4.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | scm {
3 | perforceP4('p4_credentials') {
4 | workspace {
5 | manual('ws_name', '//depot/Tools/build/... //ws_name/build/...')
6 | }
7 | configure { node ->
8 | node / workspace / spec / clobber('true')
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/JobFiltersContext/buildTrend.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | buildTrend {
4 | matchType(MatchType.INCLUDE_UNMATCHED)
5 | buildCountType(BuildCountType.AT_LEAST_ONE)
6 | amountType(AmountType.DAYS)
7 | amount(2.5)
8 | status(BuildStatusType.TRIGGERED_BY_REMOTE)
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/InvalidConstructorCountContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.Context;
4 | import javaposse.jobdsl.dsl.JobManagement;
5 |
6 | public class InvalidConstructorCountContext implements Context {
7 | public InvalidConstructorCountContext() {}
8 |
9 | public InvalidConstructorCountContext(JobManagement jobManagement) {}
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/job.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | logRotator(-1, 10)
3 | jdk('Java 8')
4 | scm {
5 | github('jenkinsci/job-dsl-plugin', 'master')
6 | }
7 | triggers {
8 | githubPush()
9 | }
10 | steps {
11 | gradle('clean build')
12 | }
13 | publishers {
14 | archiveArtifacts('job-dsl-plugin/build/libs/job-dsl.hpi')
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/nant.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | nant {
4 | target('test')
5 | targets(['publish', 'deploy'])
6 | prop('logging', 'info')
7 | props('test.threads': 10, 'input.status': 'release')
8 | buildFile('dir1/build.xml')
9 | nantInstallation('NAnt 1.8')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/BranchSourcesContext/git.groovy:
--------------------------------------------------------------------------------
1 | multibranchPipelineJob('example') {
2 | branchSources {
3 | git {
4 | id('12121212') // IMPORTANT: use a constant and unique identifier
5 | remote('https://github.com/jenkinsci/job-dsl-plugin.git')
6 | credentialsId('github-ci')
7 | includes('JENKINS-*')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/msBuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | msBuild {
4 | msBuildInstallation('MSBuild 1.8')
5 | buildFile('dir1/build.proj')
6 | args('check')
7 | args('another')
8 | passBuildVariables()
9 | continueOnBuildFailure()
10 | unstableIfWarnings()
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/triggers/MultibranchWorkflowTriggerContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.triggers
2 |
3 | import javaposse.jobdsl.dsl.Item
4 | import javaposse.jobdsl.dsl.JobManagement
5 |
6 | class MultibranchWorkflowTriggerContext extends ItemTriggerContext {
7 | MultibranchWorkflowTriggerContext(JobManagement jobManagement, Item item) {
8 | super(jobManagement, item)
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/MatchType.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | enum MatchType {
4 | INCLUDE_MATCHED('includeMatched'),
5 | INCLUDE_UNMATCHED('includeUnmatched'),
6 | EXCLUDE_MATCHED('excludeMatched'),
7 | EXCLUDE_UNMATCHED('excludeUnmatched')
8 |
9 | final String value
10 |
11 | MatchType(String value) {
12 | this.value = value
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-failOnSeedCollision.html:
--------------------------------------------------------------------------------
1 | Fail build if generated item(s) have the same name as existing items already managed by another seed job. By default, this plugin will always regenerate all jobs and views, thus updating previously generated jobs and views even if managed by another seed job. Check this box if you wish to fail the job if a generated item name collision is detected.
2 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/ScmContext/rtc.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | scm {
3 | rtc {
4 | buildDefinition('buildDefinitionInRTC')
5 | }
6 | }
7 | }
8 |
9 | job('example-2') {
10 | scm {
11 | rtc {
12 | buildWorkspace('some-workspace')
13 | connection('my-build-tool', 'build-user', 'https://localhost:9444/ccm', 60)
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/phabricatorNotifier.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | phabricatorNotifier {
4 | commentOnSuccess()
5 | enableUberalls()
6 | commentFile('.contributor-guide')
7 | preserveFormatting()
8 | commentSize(2000)
9 | commentWithConsoleLinkOnFailure()
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/sonar.groovy:
--------------------------------------------------------------------------------
1 | // run Sonar analysis for feature-xy branch,
2 | // but skip if SKIP_SONAR environment variable is set to true
3 | job('example') {
4 | publishers {
5 | sonar {
6 | branch('feature-xy')
7 | overrideTriggers {
8 | skipIfEnvironmentVariable('SKIP_SONAR')
9 | }
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/ListView/jobFilters.groovy:
--------------------------------------------------------------------------------
1 | listView('example') {
2 | jobFilters {
3 | regex {
4 | matchType(MatchType.EXCLUDE_MATCHED)
5 | matchValue(RegexMatchValue.DESCRIPTION)
6 | regex('.*project-a.*')
7 | }
8 | status {
9 | matchType(MatchType.INCLUDE_MATCHED)
10 | status(Status.FAILED)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/FailureCountExtendedEmailTriggerContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | class FailureCountExtendedEmailTriggerContext extends ExtendedEmailTriggerContext {
4 | int failureCount = 3
5 |
6 | /**
7 | * Specifies the failure count.
8 | */
9 | void failureCount(int failureCount) {
10 | this.failureCount = failureCount
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/credentialsParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | credentialsParam('DEPLOY_KEY') {
4 | type('com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey')
5 | required()
6 | defaultValue('ssh-key-staging')
7 | description('SSH Key for deploying build artifacts')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/AbstractContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | /**
4 | * Abstract base class for {@link Context} implementations which provides access to {@link JobManagement}.
5 | */
6 | class AbstractContext implements Context {
7 | protected final JobManagement jobManagement
8 |
9 | protected AbstractContext(JobManagement jobManagement) {
10 | this.jobManagement = jobManagement
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/resources/javaposse/jobdsl/dsl/jobs/WorkflowJob-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | false
6 |
7 |
8 |
9 | false
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/actions/GeneratedConfigFilesAction.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.actions
2 |
3 | import hudson.model.Job
4 | import javaposse.jobdsl.dsl.GeneratedConfigFile
5 |
6 | class GeneratedConfigFilesAction extends GeneratedObjectsAction {
7 | GeneratedConfigFilesAction(Job job) {
8 | super(job, GeneratedConfigFilesBuildAction)
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/minimal-view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/freeStyleJob.groovy:
--------------------------------------------------------------------------------
1 | freeStyleJob('example') {
2 | logRotator(-1, 10)
3 | jdk('Java 8')
4 | scm {
5 | github('jenkinsci/job-dsl-plugin', 'master')
6 | }
7 | triggers {
8 | githubPush()
9 | }
10 | steps {
11 | gradle('clean build')
12 | }
13 | publishers {
14 | archiveArtifacts('job-dsl-plugin/build/libs/job-dsl.hpi')
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/matrixJob.groovy:
--------------------------------------------------------------------------------
1 | matrixJob('example') {
2 | axes {
3 | jdk('jdk8', 'jdk11')
4 | }
5 | scm {
6 | github('jenkinsci/job-dsl-plugin', 'master')
7 | }
8 | triggers {
9 | githubPush()
10 | }
11 | steps {
12 | gradle('clean build')
13 | }
14 | publishers {
15 | archiveArtifacts('job-dsl-plugin/build/libs/job-dsl.hpi')
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/buildResult.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | buildResult('H/10 * * * *') {
4 | combinedJobs()
5 | triggerInfo('job-1, job-2', BuildResult.SUCCESS, BuildResult.UNSTABLE, BuildResult.FAILURE)
6 | triggerInfo('job-3', BuildResult.SUCCESS, BuildResult.UNSTABLE)
7 | triggerInfo('job-4, job-5')
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/workflow/BranchSourcesContext/gitlab.groovy:
--------------------------------------------------------------------------------
1 | multibranchPipelineJob('example') {
2 | branchSources {
3 | gitlab {
4 | id('23232323') // IMPORTANT: use a constant and unique identifier
5 | serverName('GitLab')
6 | credentialsId('gitlab-ci')
7 | projectOwner('ownerName')
8 | projectPath('ownerName/projectName')
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/BuildMonitorView/jobFilters.groovy:
--------------------------------------------------------------------------------
1 | buildMonitorView('example') {
2 | jobFilters {
3 | regex {
4 | matchType(MatchType.EXCLUDE_MATCHED)
5 | matchValue(RegexMatchValue.DESCRIPTION)
6 | regex('.*project-a.*')
7 | }
8 | status {
9 | matchType(MatchType.INCLUDE_MATCHED)
10 | status(Status.FAILED)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/step/SystemGroovyContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.step
2 |
3 | class SystemGroovyContext extends AbstractGroovyContext {
4 | Map bindings = [:]
5 |
6 | /**
7 | * Adds a variable binding for the script. Can be called multiple times to add more bindings.
8 | */
9 | void binding(String name, String value) {
10 | bindings[name] = value
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/ScmContext/hg.groovy:
--------------------------------------------------------------------------------
1 | // checkout feature_branch1
2 | job('example-1') {
3 | scm {
4 | hg('http://scm', 'feature_branch1')
5 | }
6 | }
7 |
8 | // clean checkout module1 from feature_branch1
9 | job('example-2') {
10 | scm {
11 | hg('http://scm') {
12 | branch('feature_branch1')
13 | modules('module1')
14 | clean(true)
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/CategorizedJobsView/jobFilters.groovy:
--------------------------------------------------------------------------------
1 | categorizedJobsView('example') {
2 | jobFilters {
3 | regex {
4 | matchType(MatchType.EXCLUDE_MATCHED)
5 | matchValue(RegexMatchValue.DESCRIPTION)
6 | regex('.*project-a.*')
7 | }
8 | status {
9 | matchType(MatchType.INCLUDE_MATCHED)
10 | status(Status.FAILED)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/dockerBuildAndPublish.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | dockerBuildAndPublish {
4 | repositoryName('example/project-a')
5 | tag('${BUILD_TIMESTAMP}-${GIT_REVISION,length=7}')
6 | registryCredentials('docker-hub')
7 | forcePull(false)
8 | createFingerprints(false)
9 | skipDecorate()
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/release.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | wrappers {
3 | release {
4 | doNotKeepLog()
5 | overrideBuildParameters()
6 | parameters {
7 | booleanParam('param', false, 'some boolean build parameter')
8 | }
9 | preBuildSteps {
10 | shell("echo 'hello'")
11 | }
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/actions/GeneratedUserContentsAction.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.actions
2 |
3 | import hudson.model.Job
4 | import javaposse.jobdsl.dsl.GeneratedUserContent
5 |
6 | class GeneratedUserContentsAction
7 | extends GeneratedObjectsAction {
8 | GeneratedUserContentsAction(Job job) {
9 | super(job, GeneratedUserContentsBuildAction)
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/archiveArtifacts.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | publishers {
3 | archiveArtifacts('build/test-output/**/*.html')
4 | }
5 | }
6 |
7 | job('example-2') {
8 | publishers {
9 | archiveArtifacts {
10 | pattern('build/test-output/**/*.html')
11 | pattern('build/test-output/**/*.xml')
12 | onlyIfSuccessful()
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/stashNotifier.groovy:
--------------------------------------------------------------------------------
1 | // notify Stash using the global Jenkins settings
2 | job('example-1') {
3 | publishers {
4 | stashNotifier()
5 | }
6 | }
7 |
8 | // notify Stash using the global Jenkins settings and sets keepRepeatedBuilds to true
9 | job('example-2') {
10 | publishers {
11 | stashNotifier {
12 | keepRepeatedBuilds()
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/SubTrigger.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import hudson.Extension;
4 | import org.jenkinsci.Symbol;
5 | import org.kohsuke.stapler.DataBoundConstructor;
6 |
7 | public class SubTrigger extends FooTrigger {
8 | @DataBoundConstructor
9 | public SubTrigger() {}
10 |
11 | @Extension
12 | @Symbol("sub")
13 | public static class DescriptorImpl extends FooTrigger.DescriptorImpl {}
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/analysisCollector.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | analysisCollector {
4 | checkstyle()
5 | dry()
6 | findbugs()
7 | pmd()
8 | tasks()
9 | warnings()
10 | thresholds(
11 | unstableTotal: [all: 1, high: 2, normal: 3, low: 4]
12 | )
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/violations.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | violations(50) {
4 | sourcePathPattern('source pattern')
5 | fauxProjectPath('faux path')
6 | perFileDisplayLimit(51)
7 | checkstyle(10, 11, 10, 'test-report/*.xml')
8 | findbugs(12, 13, 12)
9 | jshint(10, 11, 10, 'test-report/*.xml')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/gerrit.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | gerrit {
4 | events {
5 | changeMerged()
6 | draftPublished()
7 | }
8 | project('reg_exp:myProject', ['ant:feature-branch', 'plain:origin/refs/mybranch'])
9 | project('test-project', '**')
10 | buildSuccessful(10, null)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/resources/javaposse/jobdsl/dsl/views/ListView-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | false
4 | false
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/GlobalJobDslSecurityConfiguration/config.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.GlobalJobDslSecurityConfiguration
2 |
3 | import lib.FormTagLib
4 |
5 | def f = namespace(FormTagLib)
6 |
7 | f.section(_('Job DSL Security')) {
8 | f.optionalBlock(
9 | field: 'useScriptSecurity',
10 | title: 'Enable script security for Job DSL scripts',
11 | checked: descriptor.useScriptSecurity
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/rake.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | rake('task')
4 | rake('first') {
5 | task('second')
6 | tasks(['third', 'fourth'])
7 | file('/opt/app/Rakefile')
8 | installation('ruby-2.0.0-p481')
9 | libDir('./rakelib')
10 | workingDir('/opt/app')
11 | bundleExec()
12 | silent()
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/LocalRepositoryLocation.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers
2 |
3 | /**
4 | * @since 1.31
5 | */
6 | enum LocalRepositoryLocation {
7 | LOCAL_TO_EXECUTOR('hudson.maven.local_repo.PerExecutorLocalRepositoryLocator'),
8 | LOCAL_TO_WORKSPACE('hudson.maven.local_repo.PerJobLocalRepositoryLocator')
9 |
10 | final String type
11 |
12 | LocalRepositoryLocation(String type) {
13 | this.type = type
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/resources/JENKINS_32941.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | conditionalSteps {
4 | condition {
5 | stringsMatch('${SOME_PARAMETER}', 'pants', false)
6 | }
7 | }
8 | }
9 | configure { project ->
10 | project / builders / 'org.jenkinsci.plugins.conditionalbuildstep.ConditionalBuilder' / conditionalbuilders << 'hudson.tasks.Shell' {
11 | command('echo Hello')
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/properties/PropertiesContext/sidebarLinks.groovy:
--------------------------------------------------------------------------------
1 | userContent('wiki.png', streamFileFromWorkspace('images/wiki.png'))
2 |
3 | job('example') {
4 | properties {
5 | sidebarLinks {
6 | // use built-in image
7 | link('https://jira.acme.org/', 'JIRA', 'notepad.png')
8 | // use uploaded image
9 | link('https://wiki.acme.org/', 'Wiki', '/userContent/wiki.png')
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/ContextType.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | import java.lang.annotation.ElementType
4 | import java.lang.annotation.Inherited
5 | import java.lang.annotation.Retention
6 | import java.lang.annotation.RetentionPolicy
7 | import java.lang.annotation.Target
8 |
9 | /**
10 | * @since 1.46
11 | */
12 | @Retention(RetentionPolicy.RUNTIME)
13 | @Target([ElementType.TYPE])
14 | @Inherited
15 | @interface ContextType {
16 | String value()
17 | }
18 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/CloverPhpHtmlReportContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class CloverPhpHtmlReportContext implements Context {
6 | boolean disableArchiving
7 |
8 | /**
9 | * If set, does not archive HTML reports. Defaults to {@code false}.
10 | */
11 | void disableArchiving(boolean change = true) {
12 | this.disableArchiving = change
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/copyArtifacts.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | copyArtifacts('upstream') {
4 | includePatterns('*.xml', '*.properties')
5 | excludePatterns('test.xml', 'test.properties')
6 | targetDirectory('files')
7 | flatten()
8 | optional()
9 | buildSelector {
10 | latestSuccessful(true)
11 | }
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/DslContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | import java.lang.annotation.ElementType
4 | import java.lang.annotation.Retention
5 | import java.lang.annotation.RetentionPolicy
6 | import java.lang.annotation.Target
7 |
8 | /**
9 | * Marks a {@link Closure} parameter as nested DSL context.
10 | */
11 | @Retention(RetentionPolicy.SOURCE)
12 | @Target([ElementType.PARAMETER])
13 | @interface DslContext {
14 | Class extends Context> value()
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/parameter/ActiveChoiceReactiveContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.parameter
2 |
3 | class ActiveChoiceReactiveContext extends ActiveChoiceContext {
4 | Set referencedParameters = []
5 |
6 | /**
7 | * Specifies a list of job parameters that trigger an auto-refresh.
8 | */
9 | void referencedParameter(String referencedParameters) {
10 | this.referencedParameters << referencedParameters
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/step/AbstractGroovyContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.step
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | abstract class AbstractGroovyContext implements Context {
6 | List classpathEntries = []
7 |
8 | /**
9 | * Specifies the script classpath. Can be called multiple times to add more entries.
10 | */
11 | void classpath(String classpath) {
12 | classpathEntries << classpath
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/groovy/javaposse/jobdsl/plugin/SeedReferenceDigestPredicate.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin
2 |
3 | import com.google.common.base.Predicate
4 |
5 | class SeedReferenceDigestPredicate implements Predicate {
6 | private final String digest
7 |
8 | SeedReferenceDigestPredicate(String digest) {
9 | this.digest = digest
10 | }
11 |
12 | @Override
13 | boolean apply(SeedReference input) {
14 | digest != input.digest
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-targets.html:
--------------------------------------------------------------------------------
1 |
2 | Newline separated list of DSL scripts, located in
the Workspace.
3 | Can use wildcards like 'jobs/**/*.groovy'. See
4 |
the @includes of Ant fileset
5 | for the exact format.
6 |
7 |
8 | Scripts are executed in the same order as specified. The execution order of expanded wildcards is unspecified.
9 |
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/SnitchingClassLoader.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl;
2 |
3 | import org.kohsuke.accmod.Restricted;
4 | import org.kohsuke.accmod.restrictions.DoNotUse;
5 |
6 | @Restricted(DoNotUse.class)
7 | public class SnitchingClassLoader extends ClassLoader {
8 | public SnitchingClassLoader(ClassLoader parent) {
9 | super(parent);
10 | }
11 |
12 | @Override
13 | public Package[] getPackages() {
14 | return super.getPackages();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/portlets/BuildStatisticsContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.portlets
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class BuildStatisticsContext implements Context {
6 | String displayName = 'Build statistics'
7 |
8 | /**
9 | * Sets the display name for the portlet. Defaults to {@code 'Build statistics'}.
10 | */
11 | void displayName(String displayName) {
12 | this.displayName = displayName
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/portlets/JenkinsJobsListContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.portlets
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class JenkinsJobsListContext implements Context {
6 | String displayName = 'Jenkins jobs list'
7 |
8 | /**
9 | * Sets the display name for the portlet. Defaults to {@code 'Jenkins jobs list'}.
10 | */
11 | void displayName(String displayName) {
12 | this.displayName = displayName
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/TestAbstractContext.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import javaposse.jobdsl.dsl.AbstractContext;
4 | import javaposse.jobdsl.dsl.JobManagement;
5 |
6 | public class TestAbstractContext extends AbstractContext {
7 | public TestAbstractContext(JobManagement jobManagement) {
8 | super(jobManagement);
9 | }
10 |
11 | public JobManagement getJobManagement() {
12 | return this.jobManagement;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/emma.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | emma('coverage-results/coverage.xml') {
4 | minClass(20)
5 | maxClass(80)
6 | minMethod(20)
7 | maxMethod(50)
8 | minBlock(30)
9 | maxBlock(70)
10 | minLine(30)
11 | maxLine(70)
12 | minCondition(30)
13 | maxCondition(90)
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/publishHtml.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | publishHtml {
4 | report('build/test-output') {
5 | reportName('Test Output')
6 | }
7 | report('test') {
8 | reportName('Gradle Tests')
9 | keepAll()
10 | allowMissing()
11 | alwaysLinkToLastBuild()
12 | }
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext/gitlabPush.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | triggers {
3 | gitlabPush {
4 | buildOnMergeRequestEvents(false)
5 | buildOnPushEvents(false)
6 | enableCiSkip(false)
7 | setBuildDescription(false)
8 | rebuildOpenMergeRequest('never')
9 | includeBranches('include1,include2')
10 | excludeBranches('exclude1,exclude2')
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/DslException.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | class DslException extends RuntimeException {
4 | DslException(String message) {
5 | super(message)
6 | }
7 |
8 | /**
9 | * @since 1.36
10 | */
11 | DslException(String message, Throwable cause) {
12 | super(message, cause)
13 | }
14 |
15 | /**
16 | * @since 1.62
17 | */
18 | DslException(Throwable cause) {
19 | super(cause)
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/resources/javaposse/jobdsl/plugin/configFiles.groovy:
--------------------------------------------------------------------------------
1 | configFiles {
2 | customConfig {
3 | id('one')
4 | name('Config 1')
5 | comment('lorem')
6 | content('ipsum')
7 | providerId('???')
8 | }
9 | powerShellConfig {
10 | id('two')
11 | name('Config 2')
12 | comment('foo')
13 | content('bar')
14 | args {
15 | arg {
16 | name('arg1')
17 | }
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/activeChoiceParam.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | parameters {
3 | activeChoiceParam('CHOICE-1') {
4 | description('Allows user choose from multiple choices')
5 | filterable()
6 | choiceType('SINGLE_SELECT')
7 | groovyScript {
8 | script('["choice1", "choice2"]')
9 | fallbackScript('"fallback choice"')
10 | }
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/docs/_Footer.md:
--------------------------------------------------------------------------------
1 | [Stack Overflow](https://stackoverflow.com/questions/tagged/jenkins-job-dsl) |
2 | [Mailing List](https://groups.google.com/d/forum/job-dsl-plugin) |
3 | [API Reference](https://jenkinsci.github.io/job-dsl-plugin/) |
4 | [Issue Tracker](https://issues.jenkins-ci.org/secure/Dashboard.jspa?selectPageId=15341) |
5 | [Playground](http://job-dsl.herokuapp.com/) |
6 | [Plugin](https://plugins.jenkins.io/job-dsl) |
7 | [Wiki](https://github.com/jenkinsci/job-dsl-plugin/wiki) |
8 | [GitHub](https://github.com/jenkinsci/job-dsl-plugin)
9 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/deliveryPipelineView.groovy:
--------------------------------------------------------------------------------
1 | deliveryPipelineView('project-a') {
2 | pipelineInstances(5)
3 | showAggregatedPipeline()
4 | columns(2)
5 | sorting(Sorting.TITLE)
6 | updateInterval(60)
7 | enableManualTriggers()
8 | showAvatars()
9 | showChangeLog()
10 | pipelines {
11 | component('Sub System A', 'compile-a')
12 | component('Sub System B', 'compile-b')
13 | regex(/compile-subsystem-(.*)/)
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/DebianPackagePublisherContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class DebianPackagePublisherContext implements Context {
6 | String commitMessage
7 |
8 | /**
9 | * If set, commits changes made to package back to SCM with the specified commit message.
10 | */
11 | void commitMessage(String commitMessage) {
12 | this.commitMessage = commitMessage
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/portlets/TestStatisticsChartContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.portlets
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class TestStatisticsChartContext implements Context {
6 | String displayName = 'Test Statistics Chart'
7 |
8 | /**
9 | * Sets the display name for the portlet. Defaults to {@code 'Test Statistics Chart'}.
10 | */
11 | void displayName(String displayName) {
12 | this.displayName = displayName
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/labelParam.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | parameters {
3 | labelParam('MY_LABEL')
4 | }
5 | }
6 |
7 | // runs on all nodes which are labeled with "linux" and are online
8 | job('example-2') {
9 | parameters {
10 | labelParam('MY_LABEL') {
11 | defaultValue('linux')
12 | description('Select nodes')
13 | allNodes('allCases', 'IgnoreOfflineNodeEligibility')
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/buildInDocker.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | wrappers {
3 | buildInDocker {
4 | image('centos:7')
5 | volume('/dev/urandom', '/dev/random')
6 | verbose()
7 | }
8 | }
9 | }
10 |
11 | job('example-2') {
12 | wrappers {
13 | buildInDocker {
14 | dockerfile()
15 | volume('/dev/urandom', '/dev/random')
16 | verbose()
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/logSizeChecker.groovy:
--------------------------------------------------------------------------------
1 | // default configuration using the system wide definition
2 | job('example-1') {
3 | wrappers {
4 | logSizeChecker()
5 | }
6 | }
7 |
8 | // using job specific configuration, setting the max log size to 10 MB and fail the build of the log file is larger.
9 | job('example-2') {
10 | wrappers {
11 | logSizeChecker {
12 | maxSize(10)
13 | failBuild()
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/ABean.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import org.kohsuke.stapler.DataBoundConstructor;
4 | import org.kohsuke.stapler.DataBoundSetter;
5 |
6 | public class ABean {
7 | @DataBoundConstructor
8 | public ABean() {}
9 |
10 | public String getProp() {
11 | return prop;
12 | }
13 |
14 | public void setProp(String prop) {
15 | this.prop = prop;
16 | }
17 |
18 | @DataBoundSetter
19 | private String prop;
20 | }
21 |
--------------------------------------------------------------------------------
/job-dsl-plugin/webpack.plugin.mjs:
--------------------------------------------------------------------------------
1 | import { merge } from 'webpack-merge';
2 | import common from './webpack.common.mjs';
3 | import path from 'path';
4 | import CopyPlugin from 'copy-webpack-plugin';
5 |
6 | export default merge(common, {
7 | mode: "production",
8 | plugins: [
9 | new CopyPlugin({
10 | patterns: [
11 | { from: "src/main/json/embedded/config.json" },
12 | ],
13 | }),
14 | ],
15 | output: {
16 | path: path.join(import.meta.dirname, "src/main/webapp/api-viewer"),
17 | },
18 | });
19 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/ant.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | ant {
4 | target('test')
5 | targets(['publish', 'deploy'])
6 | prop('logging', 'info')
7 | props('test.threads': 10, 'input.status': 'release')
8 | buildFile('dir1/build.xml')
9 | javaOpt('-Xmx1g')
10 | javaOpts(['-Dprop2=value2', '-Dprop3=value3'])
11 | antInstallation('Ant 1.8')
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-removedViewAction.html:
--------------------------------------------------------------------------------
1 |
2 | Specifies what to do when a previously generated view is not referenced anymore.
3 |
4 |
5 | Note: when using multiple Job DSL build steps in a single job, set this to "Delete" only for the last Job
6 | DSL build step. Otherwise views may be deleted and re-created. See
7 | JENKINS-44142 for details.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/PlotPropertiesSeriesContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | class PlotPropertiesSeriesContext extends PlotSeriesContext {
4 | String label
5 |
6 | PlotPropertiesSeriesContext(String fileName) {
7 | super(fileName, 'properties', 'PropertiesSeries')
8 | }
9 |
10 | /**
11 | * Specifies the legend label for this data series.
12 | */
13 | void label(String label) {
14 | this.label = label
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/aggregateDownstreamTestResults.groovy:
--------------------------------------------------------------------------------
1 | // aggregates test results from project-A and project-B and includes failed builds in the results
2 | job('example-1') {
3 | publishers {
4 | aggregateDownstreamTestResults('project-A, project-B', true)
5 | }
6 | }
7 |
8 | // aggregates test results from all downstream jobs and ignores failed builds
9 | job('example-2') {
10 | publishers {
11 | aggregateDownstreamTestResults()
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/step/StepContext/clangScanBuild.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | steps {
3 | clangScanBuild {
4 | workspace('Mobile.xcworkspace')
5 | scheme('mobile.de')
6 | clangInstallationName('Clang Static Code Analyzer')
7 | targetSdk('iphonesimulator')
8 | configuration('Debug')
9 | scanBuildArgs('--use-analyzer Xcode')
10 | xcodeBuildArgs('-derivedDataPath $WORKSPACE/build')
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/.github/workflows/release-drafter.yml:
--------------------------------------------------------------------------------
1 | # Automates creation of Release Drafts using Release Drafter
2 | # More Info: https://github.com/jenkinsci/.github/blob/master/.github/release-drafter.adoc
3 |
4 | on:
5 | push:
6 | branches:
7 | - master
8 |
9 | jobs:
10 | update_release_draft:
11 | runs-on: ubuntu-latest
12 | steps:
13 | # Drafts your next Release notes as Pull Requests are merged into "master"
14 | - uses: release-drafter/release-drafter@v6
15 | env:
16 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/multibranchPipelineJob.groovy:
--------------------------------------------------------------------------------
1 | multibranchPipelineJob('example') {
2 | branchSources {
3 | git {
4 | id('123456789') // IMPORTANT: use a constant and unique identifier
5 | remote('https://github.com/jenkinsci/job-dsl-plugin.git')
6 | credentialsId('github-ci')
7 | includes('JENKINS-*')
8 | }
9 | }
10 | orphanedItemStrategy {
11 | discardOldItems {
12 | numToKeep(20)
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/cobertura.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | cobertura('**/target/site/cobertura/coverage.xml') {
4 | failNoReports(true)
5 | sourceEncoding('ASCII')
6 |
7 | // the following targets are added by default to check the method, line and conditional level coverage
8 | methodTarget(80, 0, 0)
9 | lineTarget(80, 0, 0)
10 | conditionalTarget(70, 0, 0)
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/ArchiveXUnitCustomToolContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | class ArchiveXUnitCustomToolContext extends ArchiveXUnitResultFileContext {
4 | String stylesheet = ''
5 |
6 | ArchiveXUnitCustomToolContext() {
7 | super('CustomType')
8 | }
9 |
10 | /**
11 | * Sets the path to a stylesheet for transforming custom reports.
12 | */
13 | void stylesheet(String stylesheet) {
14 | this.stylesheet = stylesheet
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/SonarTriggersContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class SonarTriggersContext implements Context {
6 | String skipIfEnvironmentVariable
7 |
8 | /**
9 | * Skip SonarQube analysis when the value of the given variable is set to {@code true}.
10 | */
11 | void skipIfEnvironmentVariable(String environmentVariable) {
12 | this.skipIfEnvironmentVariable = environmentVariable
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/main/resources/javaposse/jobdsl/plugin/ExecuteDslScripts/help-removedConfigFilesAction.html:
--------------------------------------------------------------------------------
1 |
2 | Specifies what to do when previously generated config files are not referenced anymore.
3 |
4 |
5 | Note: when using multiple Job DSL build steps in a single job, set this to "Delete" only for the last Job
6 | DSL build step. Otherwise config files may be deleted and re-created. See
7 | JENKINS-44142 for details.
8 |
9 |
10 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/PlotSeriesContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | abstract class PlotSeriesContext implements Context {
6 | final String fileName
7 | final String fileType
8 | final String seriesType
9 |
10 | protected PlotSeriesContext(String fileName, String fileType, String seriesType) {
11 | this.fileName = fileName
12 | this.fileType = fileType
13 | this.seriesType = seriesType
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/views/jobfilter/AbstractJobFilter.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.views.jobfilter
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | abstract class AbstractJobFilter implements Context {
6 | MatchType matchType = MatchType.INCLUDE_MATCHED
7 |
8 | /**
9 | * Specifies whether the filter includes or excludes jobs from the view. Defaults to
10 | * {@code MatchType.INCLUDE_MATCHED}.
11 | */
12 | void matchType(MatchType matchType) {
13 | this.matchType = matchType
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/ADuplicateBean.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures;
2 |
3 | import org.kohsuke.stapler.DataBoundConstructor;
4 | import org.kohsuke.stapler.DataBoundSetter;
5 |
6 | public class ADuplicateBean {
7 | @DataBoundConstructor
8 | public ADuplicateBean() {}
9 |
10 | public String getProp() {
11 | return prop;
12 | }
13 |
14 | public void setProp(String prop) {
15 | this.prop = prop;
16 | }
17 |
18 | @DataBoundSetter
19 | private String prop;
20 | }
21 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/irc.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | irc {
4 | channel('#channel1', 'password1', true)
5 | channel(name: '#channel2', password: 'password2', notificationOnly: false)
6 | notifyScmCommitters()
7 | notifyScmCulprits()
8 | notifyUpstreamCommitters(false)
9 | notifyScmFixers()
10 | strategy('ALL')
11 | notificationMessage('SummaryOnly')
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/publisher/SeleniumReportContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.publisher
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class SeleniumReportContext implements Context {
6 | boolean useTestCommands
7 |
8 | /**
9 | * If set, uses the status of test commands instead of suites to determine build result.
10 | * Defaults to {@code false}.
11 | */
12 | void useTestCommands(boolean useTestCommands = true) {
13 | this.useTestCommands = useTestCommands
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/DeprecationWarningASTTransformationSpec.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl
2 |
3 | import spock.lang.Specification
4 |
5 | class DeprecationWarningASTTransformationSpec extends Specification {
6 | private final JobManagement jobManagement = Mock(JobManagement)
7 | private final TestJob testJob = new TestJob(jobManagement)
8 |
9 | def 'logs deprecation warning'() {
10 | when:
11 | testJob.foo()
12 |
13 | then:
14 | 1 * jobManagement.logDeprecationWarning()
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/archiveJunit.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | publishers {
3 | archiveJunit('**/target/surefire-reports/*.xml')
4 | }
5 | }
6 |
7 | job('example-2') {
8 | publishers {
9 | archiveJunit('**/minitest-reports/*.xml') {
10 | allowEmptyResults()
11 | retainLongStdout()
12 | healthScaleFactor(1.5)
13 | testDataPublishers {
14 | publishTestStabilityData()
15 | }
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/buildDescription.groovy:
--------------------------------------------------------------------------------
1 | // sets build description to the project version in case the output contains the line "Building my.project.name 0.4.0"
2 | job('example-1') {
3 | publishers {
4 | buildDescription(/.*Building [^\s]* ([^\s]*)/)
5 | }
6 | }
7 |
8 | //sets the build description to a values defined by a build parameter or environment variable called BRANCH
9 | job('example-2') {
10 | publishers {
11 | buildDescription('', '${BRANCH}')
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/wrapper/WrapperContext/preBuildCleanup.groovy:
--------------------------------------------------------------------------------
1 | // cleanup all files
2 | job('example-1') {
3 | wrappers {
4 | preBuildCleanup()
5 | }
6 | }
7 |
8 | // cleanup all files and directories in target directories, but only if the CLEANUP build parameter is set to 'true'
9 | job('example-2') {
10 | wrappers {
11 | preBuildCleanup {
12 | includePattern('**/target/**')
13 | deleteDirectories()
14 | cleanupParameter('CLEANUP')
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionedView/sections.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | sections {
3 | listView {
4 | name('project-A')
5 | width('HALF')
6 | alignment('LEFT')
7 | jobs {
8 | regex('project-A-.*')
9 | }
10 | columns {
11 | status()
12 | weather()
13 | name()
14 | lastSuccess()
15 | lastFailure()
16 | }
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/SectionsContext/listView.groovy:
--------------------------------------------------------------------------------
1 | sectionedView('example') {
2 | sections {
3 | listView {
4 | name('project-A')
5 | width('HALF')
6 | alignment('LEFT')
7 | jobs {
8 | regex('project-A-.*')
9 | }
10 | columns {
11 | status()
12 | weather()
13 | name()
14 | lastSuccess()
15 | lastFailure()
16 | }
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/job-dsl-plugin/src/test/java/javaposse/jobdsl/plugin/fixtures/other/ADuplicateBean.java:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.plugin.fixtures.other;
2 |
3 | import org.kohsuke.stapler.DataBoundConstructor;
4 | import org.kohsuke.stapler.DataBoundSetter;
5 |
6 | public class ADuplicateBean {
7 | @DataBoundConstructor
8 | public ADuplicateBean() {}
9 |
10 | public String getProp() {
11 | return prop;
12 | }
13 |
14 | public void setProp(String prop) {
15 | this.prop = prop;
16 | }
17 |
18 | @DataBoundSetter
19 | private String prop;
20 | }
21 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/BuildParametersContext/listTagsParam.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | parameters {
3 | listTagsParam('myParameterName', 'http://kenai.com/svn/myProject/tags', /^mytagsfilterregex/, true)
4 | }
5 | }
6 |
7 | job('example-2') {
8 | parameters {
9 | listTagsParam('myParameterName', 'http://kenai.com/svn/myProject/tags') {
10 | tagFilterRegex(/^mytagsfilterregex/)
11 | credentialsId('company-svn-server')
12 | sortNewestFirst()
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/triggers/ScmTriggerContext.groovy:
--------------------------------------------------------------------------------
1 | package javaposse.jobdsl.dsl.helpers.triggers
2 |
3 | import javaposse.jobdsl.dsl.Context
4 |
5 | class ScmTriggerContext implements Context {
6 | boolean ignorePostCommitHooks
7 |
8 | /**
9 | * Ignore changes notified by SCM post-commit hooks. Defaults to {@code false}.
10 | *
11 | * @since 1.31
12 | */
13 | void ignorePostCommitHooks(boolean ignorePostCommitHooks = true) {
14 | this.ignorePostCommitHooks = ignorePostCommitHooks
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/DslFactory/nestedView.groovy:
--------------------------------------------------------------------------------
1 | nestedView('project-a') {
2 | views {
3 | listView('overview') {
4 | jobs {
5 | regex(/project-A-.*/)
6 | }
7 | columns {
8 | status()
9 | weather()
10 | name()
11 | lastSuccess()
12 | lastFailure()
13 | }
14 | }
15 | buildPipelineView('pipeline') {
16 | selectedJob('project-a-compile')
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/buildPipelineTrigger.groovy:
--------------------------------------------------------------------------------
1 | job('example-1') {
2 | publishers {
3 | buildPipelineTrigger('deploy-cluster-1, deploy-cluster-2')
4 | }
5 | }
6 |
7 | job('example-2') {
8 | publishers {
9 | buildPipelineTrigger('deploy-cluster-1, deploy-cluster-2') {
10 | parameters {
11 | predefinedProp('GIT_COMMIT', '$GIT_COMMIT')
12 | predefinedProp('ARTIFACT_BUILD_NUMBER', '$BUILD_NUMBER')
13 | }
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/helpers/publisher/PublisherContext/cloverPHP.groovy:
--------------------------------------------------------------------------------
1 | job('example') {
2 | publishers {
3 | cloverPHP('coverage.xml') {
4 | publishHtmlReport('reports') {
5 | disableArchiving()
6 | }
7 | healthyMethodCoverage(90)
8 | healthyStatementCoverage(80)
9 | unhealthyMethodCoverage(60)
10 | unhealthyStatementCoverage(50)
11 | unstableMethodCoverage(50)
12 | unstableStatementCoverage(40)
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/job-dsl-core/src/main/docs/examples/javaposse/jobdsl/dsl/views/NestedView/views.groovy:
--------------------------------------------------------------------------------
1 | nestedView('project-a') {
2 | views {
3 | listView('overview') {
4 | jobs {
5 | regex(/project-A-.*/)
6 | }
7 | columns {
8 | status()
9 | weather()
10 | name()
11 | lastSuccess()
12 | lastFailure()
13 | }
14 | }
15 | buildPipelineView('pipeline') {
16 | selectedJob('project-a-compile')
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------