The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

Publish Over Dropbox

dropbox: Publish to Dropbox folder

  • sourceFiles : String

    Files to upload to the Dropbox location.

    The string is a comma separated list of includes for an Ant fileset eg. '**/*.jar' (see Patterns in the Ant manual).
    The base directory for this fileset is the workspace.

  • remoteDirectory : String

    Destination folder.

    This folder will be below the one in the global configuration. The folder will be created if does not exist.

  • configName : String

    Select an Dropbox location from the list configured in the global configuration of this Jenkins.

    The configuration defines the account properties and base directory of the Dropbox location.

  • cleanRemote : boolean (optional)

    Select to delete all files and directories within the remote directory before transferring files.

  • excludes : String (optional)
  • flatten : boolean (optional)

    Only create files on the server, do not create directories (except for the remote directory).

    All files that have been selected to transfer must have unique filenames. Publishing will stop and fail as soon as a duplicate filename is found when using the flatten option.

  • pruneDays : int (optional)

    Directory created more then this number of days ago are considered old for pruning of root.

  • pruneRoot : boolean (optional)

    Directories older then the max days will be deleted.

    A date format directory format can lead to a long list of directories. Removing old directories in the remote root will allow you to prune that list.

  • remoteDirectorySDF : boolean (optional)

    Select this to include the timestamp in the remote directory.

    The timestamp is the date of build. This setting turns the remote directory option into a java SimpleDateFormat. The SimpleDateFormat(SDF) uses letters to represent components of the date, like the month, year, or day of the week. The SimpleDateFormat documentation has more information about the date patterns. As the SDF reserves all of the letters [A-Z][a-z], any that you want to appear literally in the directory that is created will need to be quoted.

  • removePrefix : String (optional)

    First part of the file path that should not be created on the remote server.

    Directory structures are created relative to the base directory, which is usually the workspace.You normally do not want the full path to these files to be created on the server. For example if Source files were target/deployment/images/**/ then you may want Remove prefix to be target/deployment This would create the images folder under the remote directory, and not target/deployment If you use remove prefix, then ALL source file paths MUST start with the prefix.

step([$class: 'DropboxPublisherPlugin']): Send build artifacts over Dropbox

Send build artifacts to a Dropbox account
  • publishers
      Array / List of Nested Object
    • configName : String

      Select an Dropbox account from the list configured in the global configuration of this Jenkins.

      The configuration defines the connection properties and base directory of the Dropbox publication.

    • verbose : boolean
      Select to enable logging of all commands sent to, and responses received from the Dropbox server in the Jenkins console.
    • transfers
        Array / List of Nested Object
      • sourceFiles : String

        Files to upload to a server.

        The string is a comma separated list of includes for an Ant fileset eg. '**/*.jar' (see Patterns in the Ant manual).
        The base directory for this fileset is the workspace.

      • excludes : String

        Exclude files from the Transfer set.

        The string is a comma separated list of excludes for an Ant fileset eg. '**/*.log,**/*.tmp,.git/' (see Patterns in the Ant manual)

      • remoteDirectory : String

        Optional destination folder.

        This folder will be below the one in the global configuration, if present.
        The folder will be created if does not exist.

      • removePrefix : String

        First part of the file path that should not be created on the remote server.

        Directory structures are created relative to the base directory, which is usually the workspace.
        You normally do not want the full path to these files to be created on the server.
        For example if Source files were target/deployment/images/**/ then you may want Remove prefix to be target/deployment This would create the images folder under the remote directory, and not target/deployment
        Jenkins environment variables can be used in this path.

        If you use remove prefix, then ALL source file paths MUST start with the prefix.

      • remoteDirectorySDF : boolean

        Select this to include the timestamp in the remote directory.

        The timestamp is the date of build. If this publisher is being used during a promotion, then the timestamp is that of the build that is being promoted.
        This setting turns the remote directory option into a java SimpleDateFormat.
        The SimpleDateFormat(SDF) uses letters to represent components of the date, like the month, year, or day of the week. Click here for more information about the date patterns.
        As the SDF reserves all of the letters [A-Z][a-z], any that you want to appear literally in the directory that is created will need to be quoted.

        Some examples follow - all examples are based on a build with a timestamp of 3:45 pm and 55 seconds on the 7th November 2010.

        Remote directory Directories created
        'qa-approved/'yyyyMMddHHmmss qa-approved/20101107154555
        'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}' builds/2010/11/07/build-456 (if the build was number 456)
        yyyy_MM/'build'-EEE-d-HHmmss 2010_11/build-Sun-7-154555
        yyyy-MM-dd_HH-mm-ss 2010-11-07_15-45-55

      • flatten : boolean

        Only create files on the server, don't create directories (except for the remote directory, if present)

        All files that have been selected to transfer must have unique filenames. The publisher will stop and fail as soon as a duplicate filename is found when using the flatten option.

      • cleanRemote : boolean

        Select to delete all files and directories within the remote directory before transferring files.

      • pruneRoot : boolean

        A date format directory format can lead to a long list of directories. Removing old directories in the remote root will allow you to prune that list.

        Directories older then the max days will be deleted.

      • pruneRootDays : int
    • useWorkspaceInPromotion : boolean

      Set the root directory for the Source files to the workspace

      By default this plugin uses the artifacts directory (where archived artifacts are stored). This allows the artifacts from the build number that you are promoting to be sent somewhere else.

      If you run tasks that produce files in the workspace during the promotion and you want to publish them, then set this option.

      If you need to send files from both the workspace and the archive directory, then you need to add a second server, even if you want to send the files to the same place. This is due to the fact that the workspace is not necessarily on the same host as the archive directory

    • usePromotionTimestamp : boolean

      Use the build time of the promotion when the remote directory is a date format

      By default this plugin uses the time of the original build (the one that is being promoted) when formatting the remote directory. Setting this option will mean that if you use the remote directory is a date format option, it will use the time that the promotion process runs, instead of the original build.

    • dropboxRetry

      If publishing to this server fails, try again.

      Files that were successfully transferred will not be re-sent.
      If the Clean remote option is selected, and succeeds, it will not be attempted again.

        Nested Object
      • retries : int
        The number of times to retry this server in the event of failure
      • retryDelay : long
        The time to wait, in milliseconds, before attempting another transfer
    • dropboxLabel

      Set the label for this Server instance - for use with Parameterized publishing

      Expand the help for Parameterized publishing for more details

        Nested Object
      • label : String

        Set the label for this Server instance - for use with Parameterized publishing

        Expand the help for Parameterized publishing for more details

  • continueOnError : boolean
    Select to continue publishing to the other Dropbox accounts after a problem with a previous account
  • failOnError : boolean
    Select to mark the build as a failure if there is a problem publishing to an account. The default is to mark the build as unstable
  • alwaysPublishFromMaster : boolean

    Select to publish from the Jenkins master.

    The default is to publish from the server that holds the files to transfer (workspace on the slave, or artifacts directory on the master)
    Enabling this option could help dealing with strict network configurations and firewall rules.
    This option will cause the files to be transferred through the master before being sent to the remote server, this may increase network traffic, and could increase the build time.

  • masterNodeName : String

    Set the NODE_NAME for the master Jenkins.

    Set this option to give a value to the NODE_NAME environment variable when the value is missing (the Jenkins master).
    This is useful if you use the $NODE_NAME variable in the remoteDirectory option and the build may occur on the master.


Was this page helpful?

Please submit your feedback about this page through this quick form.

Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

    


See existing feedback here.