kotlin-dsl/CSharpScriptCustom.xml (59 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8"?>
<dsl-extension kind="buildStep" type="csharpScript" generateDslJar="true" applicable="params['scriptType'] == 'customScript'">
<class name="CSharpScriptCustomBuildStep">
<description>
A build step running a C# script with the specified content
</description>
</class>
<function name="csharpScript">
<description>
Adds a build step running a C# script with the specified content
@see CSharpCustomScriptBuildStep
</description>
</function>
<init>
<param name="scriptType" value="customScript"/>
<param name="csharpToolPath" value="%teamcity.tool.TeamCity.csi.DEFAULT%"/>
</init>
<params>
<param name="teamcity.build.workingDir" dslName="workingDir" yamlName="working-directory">
<description>
[Build working directory](https://www.jetbrains.com/help/teamcity/?Build+Working+Directory) for the script,
specify it if it is different from the [checkout directory](https://www.jetbrains.com/help/teamcity/?Build+Checkout+Directory).
</description>
</param>
<param name="scriptContent" dslName="content" mandatory="true">
<description>
Content of the script to run
</description>
</param>
<param name="scriptArgs" dslName="arguments">
<description>
Space-separated list of additional arguments for C# script
</description>
</param>
<param name="nuget.packageSources" dslName="sources">
<description>
Space-separated list of NuGet package source (URL, UNC/folder path)
</description>
</param>
<param name="csharpToolPath" dslName="tool">
<description>
C# tool path
</description>
</param>
</params>
<examples>
<example>
<description>
Runs a C# script with help of [C# script tool](https://www.nuget.org/packages/TeamCity.csi).
</description>
<code>
csharpScript {
content = """WriteLine("Hello World!");"""
tool = "%teamcity.tool.TeamCity.csi.DEFAULT%"
}
</code>
</example>
</examples>
</dsl-extension>