PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/mattermost.py |
""" Library for interacting with Mattermost Incoming Webhooks :configuration: This module can be used by specifying the name of a configuration profile in the minion config, minion pillar, or master config. For example: .. code-block:: yaml mattermost: hook: 3tdgo8restnxiykdx88wqtxryr api_url: https://example.com """ import http.client import logging import urllib.parse import salt.utils.http from salt.version import __version__ log = logging.getLogger(__name__) def query(hook=None, api_url=None, data=None): """ Mattermost object method function to construct and execute on the API URL. :param api_url: The Mattermost API URL :param hook: The Mattermost hook. :param data: The data to be sent for POST method. :return: The json response from the API call or False. """ method = "POST" ret = {"message": "", "res": True} base_url = urllib.parse.urljoin(api_url, "/hooks/") url = urllib.parse.urljoin(base_url, str(hook)) result = salt.utils.http.query(url, method, data=data, decode=True, status=True) if result.get("status", None) == http.client.OK: ret["message"] = f"Message posted {data} correctly" return ret elif result.get("status", None) == http.client.NO_CONTENT: return True else: log.debug(url) log.debug(data) log.debug(result) if "dict" in result: _result = result["dict"] if "error" in _result: ret["message"] = result["error"] ret["res"] = False return ret ret["message"] = "Message not posted" else: ret["message"] = "invalid_auth" ret["res"] = False return ret