51 lines
1.2 KiB
Bash
Executable File
51 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
channel_name=${1}
|
|
if [ "" == "${channel_name}" ]
|
|
then
|
|
echo "Usage: ${0} <channel_name>"
|
|
exit 1
|
|
fi
|
|
|
|
url=$(jq -r '.MATTERMOST.url' ${HOME}/.creds)
|
|
team=$(jq -r '.MATTERMOST.team' ${HOME}/.creds)
|
|
bearer=$(jq -r '.MATTERMOST.bearer' ${HOME}/.creds)
|
|
|
|
#lowercase channel
|
|
channel_name=$(echo "${channel_name}" | awk '{print tolower($0)}')
|
|
# space to '-'
|
|
channel_name=${channel_name//" "/"-"}
|
|
|
|
get_channel_url="${url}/api/v4/teams/name/${team}/channels/name/${channel_name}"
|
|
|
|
Cmd="curl -s"
|
|
Cmd="${Cmd} -X GET"
|
|
Cmd="${Cmd} -H \"Content-Type: Application/JSON\""
|
|
Cmd="${Cmd} -H \"Authorization: Bearer ${bearer}\""
|
|
Cmd="${Cmd} ${get_channel_url}"
|
|
Cmd="${Cmd} | jq -r '.id'"
|
|
|
|
channel_id=$(eval ${Cmd})
|
|
|
|
input="$(cat)"
|
|
|
|
body="{"
|
|
body="${body}\"channel_id\":\"${channel_id}\""
|
|
body="${body}, \"message\":\"${input}\""
|
|
body="${body}}"
|
|
|
|
# replace new line with literal \n
|
|
body=$(echo "${body}" |awk '{printf "%s\\n", $0}')
|
|
|
|
post_url="${url}/api/v4/posts"
|
|
|
|
Cmd="curl -s"
|
|
Cmd="${Cmd} --request POST"
|
|
Cmd="${Cmd} --header \"Content-Type: Application/JSON\""
|
|
Cmd="${Cmd} --header \"Authorization: Bearer ${bearer}\""
|
|
Cmd="${Cmd} --data @-"
|
|
Cmd="${Cmd} ${post_url}"
|
|
|
|
(echo "${body}" | eval ${Cmd}) > /dev/null
|
|
|