diff --git a/main.py b/main.py new file mode 100644 index 0000000..34c4c63 --- /dev/null +++ b/main.py @@ -0,0 +1,50 @@ +from ssl import SSLCertVerificationError +import requests +from requests.auth import HTTPBasicAuth +import json +from dotenv import load_dotenv +import os + +# Before running the script make sure the following: +# 1. The correct root certificate is in the script directory and specified +# under the global variables +# 2. You've created the .env file with the following format: +# JIRA_USER= +# JIRA_PASSWORD= +# 3. You have installed necessary packages from the requirements.txt file + +load_dotenv() + +JIRA_URL = 'https://globaljira.roche.com/rest/api/2/issue/picker' +USERNAME = os.getenv("JIRA_USER") +PASSWORD = os.getenv("JIRA_PASSWORD") +ROOT_CERT = ".\\Roche G3 Root CA.crt" + +headers = { + 'Content-Type': 'application/json' +} + +query = { + 'query': f'assignee = {USERNAME} AND status not in (Closed, Done)' +} + +print(f'{USERNAME}, {PASSWORD}') + +try: + response = requests.get( + JIRA_URL, + auth=HTTPBasicAuth(USERNAME, PASSWORD), + headers=headers, + params=query, + verify=ROOT_CERT + ) +except SSLCertVerificationError: + print("SSL verification failed. Please make sure you're connected to the VPN and the correct root certificate is included.") + +if response.status_code == 200: + print("JQL query executed successfully!") + issues = json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")) + print(issues) +else: + print(f"Failed to execute JQL query. Status code: {response.status_code}") + print("Response:", response.text) \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8db1356 Binary files /dev/null and b/requirements.txt differ