time resource provides cron-like functionality. It is used to to trigger a job in a cron-like manner. This resource can be used used as an IN input for any job. The timezone used for triggering jobs is UTC.

You can create a time resource by adding it to shippable.yml.

  - name:           <string>
    type:           time
    seed:           <object>
  • name -- should be an easy to remember text string

  • type -- is set to time

  • seed -- is an object which contains specific properties that apply to this resource

          interval: "*/2 * * * *"

    The interval follows the standard Cron format. For example, the snippet above will trigger the job at 2 min intervals.

Used in Jobs

This resource is used as an IN for any type of job.

Default Environment Variables

Whenever time is used as an IN or OUT for a runSh or runCI job, a set of environment variables is automatically made available that you can use in your scripts.

<NAME> is the the friendly name of the resource with all letters capitalized and all characters that are not letters, numbers or underscores removed. For example, my-key-1 will be converted to MYKEY1, and my_key_1 will be converted to MY_KEY_1.

Environment variable Description
<NAME>_NAME The name of the resource.
<NAME>_ID The ID of the resource.
<NAME>_TYPE The type of the resource. In this case time.
<NAME>_OPERATION The operation of the resource; either IN or OUT.
<NAME>_PATH The directory containing files for the resource.
<NAME>_SEED_INTERVAL Interval defined in the seed section.
<NAME>_SOURCENAME SourceName defined in the pointer.
<NAME>_VERSIONID The ID of the version of the resource being used.
<NAME>_VERSIONNUMBER The number of the version of the resource being used.

Shippable Utility Functions

To make it easy to use these environment variables, the platform provides a command line utility that can be used to work with these values.

How to use these utility functions is documented here.

Further Reading