diff --git a/README.md b/README.md index 0acf8ab..7766982 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ GitScord utilise un maximum de possibilités de mise en forme de Discord pour re Fonctionnalités existantes : * support des commits, tags, issues, notes, merge requests + * mentionne un utilisateur/rôle lors d'une merge request * multilingue * contrôle des aspects du bot dans Discord * 100% PHP, installation simple avec très peu de dépendances @@ -35,6 +36,7 @@ Vous pouvez vous aider des fichiers *gitscord_webhook_config.json.exemple.full* Définition des paramètres : * discord_url : adresse du webhook fourni par Discord * language : langue des messages envoyés par le bot, choisir entre en, es et fr + * MR_manager : nom de l'utilisateur/rôle à mentionner lors d'une merge request * bot_name : nom du bot sur Discord (remplace le nom défini dans Discord) * bot_avatar : image de profil du bot sur Discord (remplace l'image défini dans Discord), mettre une URL absolue @@ -58,6 +60,7 @@ GitScord usa lo máximo posible los formatos de Discord para obtener mensajes a Funcionalidades actuales : * soporte de los commits, tags, issues, notes, merge requests + * menciona un usuario/rol en una merge request * plurilingüe * dominio de los aspectos del bot en Discord * 100% PHP, instalación sencilla con muy poco de dependencias @@ -80,6 +83,7 @@ Ayudase de los archivos *gitscord_webhook_config.json.exemple.full* y *gitscord_ Definición de los parámetros : * discord_url : localización del webhook dado por Discord * language : idioma de los mensajes enviados por el bot, elegir entre en, es y fr + * MR_manager : nombre del usuario/rol que mencionar para una merge request * bot_name : nombre del bot en Discord (remplaza el nombre definido en Discord) * bot_avatar : imagen de perfil del bot en Discord (remplaza la imagen definida en Discord), poner una URL absoluta. @@ -102,6 +106,7 @@ GitScord use the whole formatting possibilities of Discord, to make the messages Existing features : * support commits, tags, issues, notes, merge requests + * mention an user/role for a merge request * multilingual * control bot aspects in Discord * 100% PHP, straightforward installation with few dependencies @@ -124,6 +129,7 @@ You can find help in the example files *gitscord_webhook_config.json.exemple.ful Definition of the parameters : * discord_url : address of the Discord-provided webhook * language : language of messages sent by the bot, choose between en, es and fr + * MR_manager : name of the user/role to be mentioned on a merge request * bot_name : name of the bot on Discord (override the name set in Discord) * bot_avatar : avatar image of the bot on Discord (override the image set in Discord), put an absolute URL diff --git a/gitscord_webhook.php b/gitscord_webhook.php index 73d06c5..7cda230 100644 --- a/gitscord_webhook.php +++ b/gitscord_webhook.php @@ -51,7 +51,10 @@ if ($plainJSON != '') { $messageJSON = note_layout($messageJSON,$JSON,$lang); break; case "merge_request": - $messageJSON = MR_layout($messageJSON,$JSON,$lang); + // if somebody/somerole to hl, add him/it in the message + if ($configJSON['MR_manager'] != '') { $hl = " @".$configJSON['MR_manager']." "; } + else { $hl = ""; } + $messageJSON = MR_layout($messageJSON,$JSON,$lang,$hl); break; case "job": break; @@ -179,7 +182,7 @@ function note_layout($messageJSON,$JSON,$lang) { return($messageJSON); } -function MR_layout($messageJSON,$JSON,$lang) { +function MR_layout($messageJSON,$JSON,$lang,$hl) { $txt_ligne_MR=["fr"=>'Nouvelle merge request',"es"=>'Nueva merge request',"en"=>'New merge request',]; $txt_open_action=["fr"=>'a ouvert une MR dans',"es"=>'abrió una MR en',"en"=>'opened a MR in',]; $txt_merge_action=["fr"=>'a mergé une MR dans',"es"=>'ejecutó una MR en',"en"=>'merged a MR in',]; @@ -196,7 +199,8 @@ function MR_layout($messageJSON,$JSON,$lang) { $txt_action=$txt_unkown_action[$lang]; $txt_action_description="*Problem with GitScord, please report.*"; } - $messageJSON['content'] = $txt_ligne_MR[$lang]; + $messageJSON['content'] = $txt_ligne_MR[$lang].$hl; + $messageJSON['allowed_mentions'] = array('parse'=>array("users","roles","everyone"),); $messageJSON['embeds'] = array(array('title'=> $txt_action.' *'.$JSON['project']['name'].'*', 'description'=> "**".$JSON['object_attributes']['title']."**\n".$txt_action_description, 'url'=> $JSON['object_attributes']['url'], diff --git a/gitscord_webhook_config.json.exemple.full b/gitscord_webhook_config.json.exemple.full index fafee5a..da94202 100644 --- a/gitscord_webhook_config.json.exemple.full +++ b/gitscord_webhook_config.json.exemple.full @@ -1,6 +1,7 @@ { "discord_url":"https://discordapp.com/api/webhooks/000000000000000000/fnksdfiiendkdfnkdfkkfklslC-kkdklskdkfkgkssidfsHDUnkdniiIE-Vm684fduTT", "language":"en", + "MR_manager":"role-in-charge-of-MR", "bot_name":"Git Stalk", "bot_avatar":"https://railsware.com/blog/wp-content/uploads/2014/08/git-housekeeping.png" }