modules/taskcluster.py (20 lines of code) (raw):

import functools import logging import os import requests from requests.packages.urllib3.util.retry import Retry @functools.lru_cache() def get_tc_secret(secret_name="testrail", level=3): """Returns the Taskcluster secret. Returns False when not running on tc """ if not os.environ.get("TASKCLUSTER_ROOT_URL"): return False tc_home = os.environ.get("TASKCLUSTER_PROXY_URL", "http://taskcluster") session = requests.Session() retry = Retry(total=5, backoff_factor=0.1, status_forcelist=[500, 502, 503, 504]) http_adapter = requests.adapters.HTTPAdapter(max_retries=retry) session.mount("https://", http_adapter) session.mount("http://", http_adapter) secrets_url = f"{tc_home}/secrets/v1/secret/project/mozilla/fx-desktop-qa-automation/level-{level}/{secret_name}" res = session.get(secrets_url, timeout=30) res.raise_for_status() logging.warning("secret is got") return res.json()["secret"]