Implements a resource that reports new versions when the current time matches the crontab expression
Update your pipeline to include this new declaration of resource types. See the example pipeline yml snippet below or the Concourse docs for more details here.
---
resource_types:
- name: cron-resource
type: docker-image
source:
repository: cftoolsmiths/cron-resource
resources:
- name: 10-min-trigger
type: cron-resource
source:
expression: "*/10 * * * *"
location: "America/New_York"
fire_immediately: true
-
expression
: Required. The crontab expression:field allowed values minute 0-59 hour 0-23 day of month 1-31 month 1-12 (or names, see below) day of week 0-7 (0 or 7 is Sun, or use names) e.g.
0 23 * * 1-5
# Run at 11:00pm from Monday to Friday -
location
: Optional. Defaults to UTC. Accepts any timezone that can be parsed by https://godoc.org/time#LoadLocatione.g.
America/New_York
America/Vancouver
-
fire_immediately
: Optional. Defaults to false. Immediately triggers the resource the first time it is checked.
Returns time.Now()
as the version only if a minute since we last
fired matches the crontab expression. The first time the script runs
it will fire if a minute in the last hour matches the crontab
expression.
None.
If triggered by check
, returns the original version as the resulting
version.
- Output directory. The directory where the in script will store the requested version
You can test the behavior by simulating Concourse's invocations. For example:
$ echo '{"source":{"expression":"* * * * *","location":"America/New_York"}}' \
| go run ./check
[{"time":"2016-08-19T10:15:27.183011117-04:00"}]