At my place of work, we have concourse jobs which sends us messages on our MS Teams channel whenever a new release appears. Maybe this will be useful for someone else too.
Here’s some sanitised snippets from our release-notification-pipeline.
***
resources:
- name: java-buildpack-release
type: github-release
source:
user: cloudfoundry
repository: java-buildpack
release: true
access_token: ((github_token))
- name: notify-new-java-buildpack-releases
plan:
- do:
- in_parallel:
- get: release-notifications-pipeline
- get: release-repo
resource: java-buildpack-release
params:
globs: [notthisthing] # because we only want to watch for tag changes & data, not the release tgz itself (proxy won't allow download of it)
trigger: true
- task: check-versions
config:
platform: linux
inputs:
- name: release-notifications-pipeline
- name: release-repo
image_resource:
type: docker-image
source:
repository: ((any_docker_image_which_has_curl_and_jq))
tag: latest
run:
path: cf-deployment-notifications/check_versions.sh
params:
RELEASE_NAME: java-buildpack
TEAMS_WEBHOOK_URL: ((ms_teams_webhook_url))
timeout: 15m
***
.. and the source for the check_versions.sh script.
***
#!/bin/bash
set -e
if [[ -f "release-repo/body" ]]; then
split --line-bytes=7500 release-repo/body release-repo/release-body-
for file in $(find release-repo -name "release-body-*" | sort )
do
request_body=$(jq -n --arg body "$(cat "${file}")" --arg title "New $RELEASE_NAME $(cat release-repo/version) release" '{title: $title, text: $body}')
curl -if -X POST --data "${request_body}" -k "${TEAMS_WEBHOOK_URL}"
rm "${file}"
done
else
request_body=$(jq -n --arg body "The author was too lazy to add a release note" --arg title "New $RELEASE_NAME $(cat release-repo/version) release" '{title: $title, text: $body}')
curl -if -X POST --data "${request_body}" -k "${TEAMS_WEBHOOK_URL}"
fi
***
Jim
Hi Carlos,
These need to be read regularly by a human for taking action when necessary, like when some language versions are discontinued.
For newer Paketo buildpacks, I’ve raised some similar concern in the Paketo Slack last year:
What we would need is a way for buildpack consumers like us, to build automation (in Concourse or anything similar) that warns the correct people in the enterprise for taking action when some Buildpack is discontinuing some language version. I don’t know if there has been any progress on this since last year.
I am interested to know about communications whenever a new buildpack is deployed and available in AWS cflinuxfs3 stack, in order to adapt our projects timely fashion, I am interested in Nodejs buildpack in particular, since a new version has been released recently that removed Node 12 and affected our deployments.
Do you know by any chance if such communication exists?
DevOps Lead, Customer Success Automation ES
SAP ESPAÑA, S.A. Torre Diagonal Mar - B1 C/, 08019 Barcelona, Spain
Pflichtangaben/Mandatory Disclosure Statement:
Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie
diese E-Mail irrtümlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der
E-Mail ausdrücklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail.
This e-mail may contain trade secrets or privileged, undisclosed, or otherwise confidential information. If you have received
this e-mail in error, you are hereby notified that any review, copying, or distribution of it is strictly prohibited. Please inform
us immediately and destroy the original transmittal.
Thank you for your cooperation