diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index dc71d20e5..721a77fa8 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -631,6 +631,22 @@ def batch(parser, xml_parent, data): XML.SubElement(batch, 'command').text = data +def powershell(parser, xml_parent, data): + """yaml: powershell + Execute a powershell command. Requires the `Powershell Plugin + `_. + + :Parameter: the powershell command to execute + + Example: + + .. literalinclude:: ../../tests/builders/fixtures/powershell.yaml + :language: yaml + """ + ps = XML.SubElement(xml_parent, 'hudson.plugins.powershell.PowerShell') + XML.SubElement(ps, 'command').text = data + + def msbuild(parser, xml_parent, data): """yaml: msbuild Build .NET project using msbuild. Requires the `Jenkins MSBuild Plugin diff --git a/setup.cfg b/setup.cfg index 1f2cdda83..374e11503 100644 --- a/setup.cfg +++ b/setup.cfg @@ -57,6 +57,7 @@ jenkins_jobs.builders = maven-target=jenkins_jobs.modules.builders:maven_target msbuild=jenkins_jobs.modules.builders:msbuild multijob=jenkins_jobs.modules.builders:multijob + powershell=jenkins_jobs.modules.builders:powershell python=jenkins_jobs.modules.builders:python sbt=jenkins_jobs.modules.builders:sbt shell=jenkins_jobs.modules.builders:shell diff --git a/tests/builders/fixtures/powershell.xml b/tests/builders/fixtures/powershell.xml new file mode 100644 index 000000000..873b8449d --- /dev/null +++ b/tests/builders/fixtures/powershell.xml @@ -0,0 +1,8 @@ + + + + + foo/foo.ps1 + + + diff --git a/tests/builders/fixtures/powershell.yaml b/tests/builders/fixtures/powershell.yaml new file mode 100644 index 000000000..502f4f8f7 --- /dev/null +++ b/tests/builders/fixtures/powershell.yaml @@ -0,0 +1,2 @@ +builders: + - powershell: "foo/foo.ps1"