Work in progress!
Concourse resource for ical feeds.
resource_types:
- name: ical-resource
type: docker-image
source:
repository: suhlig/concourse-ical-resource
tag: latest
Example usage:
resources:
- name: runtime-pmc-meetings
type: icalendar
source:
url: https://www.google.com/calendar/ical/cloudfoundry.org_8ms13q67p9jjeeilng6dosnu50@group.calendar.google.com/public/basic.ics
range: yesterday
url
: Required. The URL of the iCal feed. Anything that can be parsed by the Icalendar gem should be good.range
: Optional. A string expressing a date range, e.g. "yesterday". Defaults to "today".
The resource will fetch the iCal feed specified in url
and will version items by their TODO
attribute.
Example
As of writing this README, the PostgreSQL versions feed has a number of items with a pubDate
of "Thu, 27 Oct 2016 00:00:00 +0000
" (9.6.1
, 9.5.5
, 9.4.10
, 9.3.15
, 9.2.19
, 9.1.24
, and 9.0.23
), of which 9.6.1
is the first and is being returned from check
.
The resource will select the first item of the feed that has the requested pubDate
. For each attribute of the that item, it writes the attribute value to a file into the destination directory.
Example
Asked for the version with a pubDate
of "Thu, 27 Oct 2016 00:00:00 +0000
" on in
, the resource will write the following files to the destination directory:
File Name | Content |
---|---|
title |
9.6.1 |
link |
https://www.postgresql.org/docs/9.6/static/release-9-6-1.html |
description |
9.6.1 is the latest release in the 9.6 series. |
pubDate |
Thu, 27 Oct 2016 00:00:00 +0000 |
guid |
https://www.postgresql.org/docs/9.6/static/release-9-6-1.html |
You can then read these files in a task and, for example, construct a Slack notification saying which new PostgreSQL version is available.
There is output from this resource.
bundle install
Tests assume you have a running docker daemon:
bundle exec rake
After a git push
to the master branch, if the build was successful, Travis automatically pushes an updated docker image.