mattermost api

This commit is contained in:
2026-08-09 20:53:25 +02:00
parent 729b5c19a4
commit 88d3bf72b9
+22 -24
View File
@@ -13,7 +13,7 @@ setKazVars
. $KAZ_KEY_DIR/env-sympaServ
. $KAZ_KEY_DIR/env-paheko
VERSION="16-11-2025"
VERSION="09-08-2026"
PRG=$(basename $0)
RACINE=$(echo $PRG | awk '{print $1}')
IFS=' '
@@ -62,8 +62,8 @@ PostMattermost() {
. $KAZ_KEY_DIR/env-mattermostAdmin
PostM=$1
CHANNEL=$2
TEAMID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/teams/name/${EQUIPE}" | jq .id | sed -e 's/"//g')
CHANNELID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" ${URL_AGORA_API}/teams/${TEAMID}/channels/name/${CHANNEL} | jq .id | sed -e 's/"//g')
TEAMID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/teams/name/${EQUIPE}" | jq -r .id )
CHANNELID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" ${URL_AGORA_API}/teams/${TEAMID}/channels/name/${CHANNEL} | jq -r .id )
curl -s i-X POST -i -H "Authorization: Bearer ${mattermost_token}" -d "{\"channel_id\":\"${CHANNELID}\",\"message\":\"${PostM}\"}" "${URL_AGORA_API}/posts" >/dev/null 2>&1
}
@@ -139,7 +139,7 @@ searchEmail() {
searchMattermost() {
#Ici $1 est une adresse email
. $KAZ_KEY_DIR/env-mattermostAdmin
curl -s -H "Authorization: Bearer ${mattermost_token}" "https://${URL_AGORA}/api/v4/users/email/${1}" >${TFILE_CPT_MATTERMOST} 2>/dev/null
curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/api/v4/users/email/${1}" >${TFILE_CPT_MATTERMOST} 2>/dev/null
REP_SEARCH_MATTERMOST=$(jq -r .id ${TFILE_CPT_MATTERMOST})
if [ ! -z ${REP_SEARCH_MATTERMOST} ]
then
@@ -188,16 +188,16 @@ infoEmail() {
printKazMsg " DETAILS DU COMPTE DANS LDAP ET PAHEKO"
echo ""
curl -s ${URL_PAHEKO}/api/sql -d "SELECT nom,adresse,code_postal,ville,email,email_secours,admin_orga,nom_orga,quota_disque,serveur_prod FROM users where email='${CHOIX_MAIL}' LIMIT 1;" >/tmp/$CHOIX_MAIL-paheko.json
jq .results[].nom /tmp/$CHOIX_MAIL-paheko.json
jq .results[].adresse /tmp/$CHOIX_MAIL-paheko.json
jq .results[].code_postal /tmp/$CHOIX_MAIL-paheko.json
jq .results[].ville /tmp/$CHOIX_MAIL-paheko.json
SERVEUR_PROD=$(jq .results[].serveur_prod /tmp/$CHOIX_MAIL-paheko.json)
NOM_ORGA=$(jq .results[].nom_orga /tmp/$CHOIX_MAIL-paheko.json)
jq -r .results[].nom /tmp/$CHOIX_MAIL-paheko.json
jq -r .results[].adresse /tmp/$CHOIX_MAIL-paheko.json
jq -r .results[].code_postal /tmp/$CHOIX_MAIL-paheko.json
jq -r .results[].ville /tmp/$CHOIX_MAIL-paheko.json
SERVEUR_PROD=$(jq -r .results[].serveur_prod /tmp/$CHOIX_MAIL-paheko.json)
NOM_ORGA=$(jq -r .results[].nom_orga /tmp/$CHOIX_MAIL-paheko.json)
[ "${NOM_ORGA}" = "null" ] || echo -e " - ORGA : ${GREEN}${NOM_ORGA}${NC} sur serveur ${GREEN}${SERVEUR_PROD}${NC} "
echo -n " - Quota (Paheko) : "
echo -ne "${GREEN}"
jq .results[].quota_disque /tmp/$CHOIX_MAIL-paheko.json
jq -r .results[].quota_disque /tmp/$CHOIX_MAIL-paheko.json
echo -ne "${NC}"
echo -n " - Quota Mail (Ldap) : "
echo -ne "${GREEN}"
@@ -214,7 +214,7 @@ infoEmail() {
echo -ne "${NC}"
echo -n " - Mail de secours (Paheko ): "
echo -ne "${GREEN}"
jq .results[].email_secours /tmp/$CHOIX_MAIL-paheko.json | sed -e 's/"//g'
jq -r .results[].email_secours /tmp/$CHOIX_MAIL-paheko.json | sed -e 's/"//g'
echo -ne "${NC}"
echo -n " - Mail de secours (Ldap): "
echo -ne "${GREEN}"
@@ -233,7 +233,7 @@ infoEmail() {
echo -e "${NC}"
echo " - L' adresse apparait dans :"
echo -n -e "${GREEN}"
curl -s ${URL_PAHEKO}/api/sql -d "SELECT * FROM users where emails_Rattaches like '%$CHOIX_MAIL%' ;" | jq .results[].nom
curl -s ${URL_PAHEKO}/api/sql -d "SELECT * FROM users where emails_Rattaches like '%$CHOIX_MAIL%' ;" | jq -r .results[].nom
echo -e "${NC}"
read -p " ==> Entrée pour continuer <=="
;;
@@ -298,12 +298,14 @@ searchDestroy() {
if [ "${DOMAINE_EN_COURS}" = "${domain}" ]
then
REP_SEARCH=$(searchMattermost $REP_SEARCH_DESTROY)
printKazMsg "réponse de mattermost : ${REP_SEARCH_DESTROY}"
if [ ! -z ${REP_SEARCH} ]
then
echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans mattermost ${NC}"
docker exec -ti ${mattermostServName} bin/mmctl user delete ${REP_SEARCH_DESTROY} --confirm >/dev/null 2>&1
if [ "$?" -eq "0" ]
echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} trouvé dans mattermost ${NC}"
status_del=$(curl --request DELETE \
-w "%{status}" \
-H "Authorization: Bearer ${mattermost_token}" \
"${URL_AGORA_API}/api/v4/users/${REP_SEARCH_DESTROY}")
if [ "${status_del}" -eq "200" ]
then
printKazMsg "Suppresion ok"
else
@@ -386,12 +388,7 @@ gestPassword() {
#cree un mdp acceptable par postfix/nc/mattermost
PASSWORD=_`apg -n 1 -m 10 -M NCL -d`_
COMPTE_A_MODIFIER=${CHOIX_MAIL}
# On considère le mot de passe de secours de ldap
# FICMAILSECOURS=$(mktemp /tmp/FICMAILSECOURSXXXXX.json)
# curl -s ${URL_PAHEKO}/api/sql -d "SELECT email_secours FROM users where email='${COMPTE_A_MODIFIER}' LIMIT 1 ;" >$FICMAILSECOURS
# MAIL_SECOURS=$(jq .results[].email_secours $FICMAILSECOURS | sed -e 's/\"//g')
MAIL_SECOURS=$(ldapsearch -H ldap://${LDAP_IP} \
-x -D "cn=${LDAP_ADMIN_USERNAME},${ldap_root}" \
-w "${LDAP_ADMIN_PASSWORD}" \
@@ -1117,7 +1114,7 @@ echo -e "${NC}*********"
echo -e "${NC}"
echo -e " ${NC}1 - Information sur un compte (alias ou Mail )"
echo -e " ${YELLOW}2 - Modification d' un compte"
echo -e " ${NC}3 - Changement de mot de passe d' un compte"
#echo -e " ${NC}3 - Changement de mot de passe d' un compte"
echo -e " ${GREEN}4 - Suppression d' un compte "
echo -e " ${NC}5 - Création d' une adresse de messagerie"
echo -e "${NC}"
@@ -1139,7 +1136,8 @@ case "$CHOICE" in
updateUser
;;
'3' )
gestPassword
echo "La fonction est supprimée"
read -p "==> Entrée pour continuer <=="
;;
'4' )
searchDestroy