Created
November 15, 2024 03:21
-
-
Save Roy-Orbison/e7a24ad07475d8af140b6f8900efbb62 to your computer and use it in GitHub Desktop.
Shell script to check for latest ESR version of Mattermost Server Team Edition, including patch releases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
mm_hook=https://you-mm-server.example/hooks/abcdefghijklmnopqrstuvwxyz | |
mm_channel=@your_username | |
read -r latest checksum <<-EOSH | |
$(curl --no-progress-meter https://docs.mattermost.com/about/version-archive.html | \ | |
tr '\r\n' ' ' | \ | |
perl -ne 'print "$1\t$2\n" if m/<dt\b[^<]+?\bTeam\b[^<]+<[^<]+?\bESR\b(?:(?!<dt\b).)+?>\K(https:\/\/releases.mattermost.com\/[^\s<]+).*?\b([[:xdigit:]]{64})\b/' | |
) | |
EOSH | |
if ! [ "$latest" ]; then | |
echo Could not determine latest version >&2 | |
exit 1 | |
fi | |
version_current=$(sudo -u mattermost /opt/mattermost/bin/mattermost version | grep -Pio '^version:\s*\K\S+') | |
version_latest=$(printf '%s\n' "$latest" | grep -Po '/\K\d+\.\d+\.\d+(?=/)') | |
if [ "$version_current" != "$version_latest" ]; then | |
curl -sS --json @- "$mm_hook" <<-EOJSON > /dev/null | |
{ | |
"channel": "$mm_channel", | |
"text": ":information_source: Mattermost upgrade available: [v$version_latest]($latest)\\nChecksum: \`$checksum\`\\n" | |
} | |
EOJSON | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment