kotlin-dsl/FtpDeployer.xml (113 lines of code) (raw):
<?xml version="1.0" encoding="UTF-8"?>
<dsl-extension kind="buildStep" type="ftp-deploy-runner" generateDslJar="true">
<class name="FTPUpload">
<description>
An FTP Upload build step.
</description>
</class>
<function name="ftpUpload">
<description>
Adds an FTP Upload build step.
@see FTPUpload
</description>
</function>
<params>
<param name="jetbrains.buildServer.deployer.targetUrl" dslName="targetUrl" mandatory="true">
<description>
An FTP server (use a hostname or IP address) and a remote directory (relative to the FTP user's home).
</description>
</param>
<param name="jetbrains.buildServer.deployer.ftp.securityMode" dslName="securityMode" type="SecurityMode">
<description>
Choose between an insecure and a secure connection (FTPS, FTPES).
</description>
</param>
<param name="jetbrains.buildServer.deployer.ftp.dataChannelProtection" dslName="dataChannelProtection" type="DataChannelProtectionMode">
<description>
Choose a data protection scheme if FTPS or FTPES is used.
</description>
</param>
<param name="jetbrains.buildServer.deployer.ftp.authMethod" dslName="authMethod" type="compound">
<description>
Authentication method.
</description>
<option name="anonymous" value="ANONYMOUS"/>
<option name="usernameAndPassword" value="USER_PWD">
<param name="jetbrains.buildServer.deployer.username" dslName="username"/>
<param name="secure:jetbrains.buildServer.deployer.password" dslName="password"/>
</option>
</param>
<param name="jetbrains.buildServer.deployer.ftp.ftpMode" dslName="ftpMode" type="FTPMode">
<description>
FTP Mode.
</description>
</param>
<param name="jetbrains.buildServer.deployer.ftp.transferMethod" dslName="transferMode" type="TransferMode">
<description>
Optional. An FTP transfer mode to force.
</description>
</param>
<param name="jetbrains.buildServer.deployer.sourcePath" dslName="sourcePath" mandatory="true">
<description>
Newline- or comma-separated paths to files/directories to be deployed.
Ant-style wildcards like dir/**/*.zip and target directories like
*.zip => winFiles,unix/distro.tgz => linuxFiles,
where winFiles and linuxFiles are target directories, are supported.
</description>
</param>
</params>
<types>
<enum name="DataChannelProtectionMode">
<option name="DISABLE" value="D"/>
<option name="CLEAR" value="C"/>
<option name="SAFE" value="S"/>
<option name="CONFIDENTIAL" value="E"/>
<option name="PRIVATE" value="P"/>
</enum>
<enum name="SecurityMode">
<option name="NONE" value="0"/>
<option name="FTPS" value="1"/>
<option name="FTPES" value="2"/>
</enum>
<enum name="FTPMode">
<option name="ACTIVE" value="ACTIVE"/>
<option name="PASSIVE" value="PASSIVE"/>
</enum>
<enum name="TransferMode">
<option name="AUTO" value="AUTO"/>
<option name="BINARY" value="BINARY"/>
<option name="ASCII" value="ASCII"/>
</enum>
</types>
<examples>
<example>
<description>
Adds an FTP Upload build step with
FTPS security connection mode,
private protection mode,
authentication via username and password,
binary transfer mode and active FTP mode.
See options in [documentation](https://www.jetbrains.com/help/teamcity/?FTP+Upload).
</description>
<code>
ftpUpload {
name = "My FTP Upload step"
targetUrl = "8.8.8.8"
securityMode = FTPUpload.SecurityMode.FTPS
dataChannelProtection = FTPUpload.DataChannelProtectionMode.PRIVATE
authMethod = usernameAndPassword {
username = "username"
password = "credentialsJSON:******"
}
ftpMode = FTPUpload.FTPMode.ACTIVE
transferMode = FTPUpload.TransferMode.BINARY
sourcePath = """
dir/**/*.zip
*.zip => winFiles
unix/distro.tgz => linuxFile
""".trimIndent()
}
</code>
</example>
</examples>
</dsl-extension>