mirror of
https://github.com/mag37/dockcheck.git
synced 2026-04-21 03:40:39 +00:00
File notification and JSON output fixes (#281)
* File notification and JSON output fixes * Truncate notify file(s) on first write and then append * Strip wrapping double quotes from Dockcheck update tempcsv variable before jsonification * Eliminate separate truncate step
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
### DISCLAIMER: This is a third party addition to dockcheck - best effort testing.
|
||||
NOTIFY_FILE_VERSION="v0.1"
|
||||
NOTIFY_FILE_VERSION="v0.2"
|
||||
#
|
||||
# Leave (or place) this file in the "notify_templates" subdirectory within the same directory as the main dockcheck.sh script.
|
||||
# If you instead wish make your own modifications, make a copy in the same directory as the main dockcheck.sh script.
|
||||
@@ -13,10 +13,14 @@ trigger_file_notification() {
|
||||
UpperChannel="FILE"
|
||||
fi
|
||||
|
||||
FileTruncVar="${UpperChannel}_TRUNC"
|
||||
FilePathVar="${UpperChannel}_PATH"
|
||||
|
||||
NotifyFile="${!FilePathVar:=${ScriptWorkDir}/updates_available.txt}"
|
||||
|
||||
echo "${MessageBody}" > ${NotifyFile}
|
||||
|
||||
if [[ ${!FileTruncVar:=0} -eq 0 ]]; then
|
||||
echo "${MessageBody}" > ${NotifyFile}
|
||||
declare -g ${FileTruncVar}=1
|
||||
else
|
||||
echo "${MessageBody}" >> ${NotifyFile}
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -205,7 +205,7 @@ format_output() {
|
||||
FormattedOutput=$(jq --compact-output --null-input --arg updates "${tempcsv}" '($updates | split("\\n")) | map(split(",")) | {"updates": map({"script_name": .[0], "installed_version": .[1], "latest_version": .[2]})}')
|
||||
elif [[ "${UpdateType}" == "dockcheck_update" ]]; then
|
||||
# dockcheck update case
|
||||
FormattedOutput=$(jq --compact-output --null-input --arg updates "${tempcsv}" '($updates | split("\\n")) | map(split(",")) | {"updates": map({"script_name": .[0], "installed_version": .[1], "latest_version": .[2], "release_notes": (.[3:] | join(","))})}')
|
||||
FormattedOutput=$(jq --compact-output --null-input --arg updates "${tempcsv//\"/}" '($updates | split("\\n")) | map(split(",")) | {"updates": map({"script_name": .[0], "installed_version": .[1], "latest_version": .[2], "release_notes": (.[3:] | join(","))})}')
|
||||
else
|
||||
FormattedOutput="Invalid input"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user