script for pulling issues for the user
This commit is contained in:
		
							
								
								
									
										50
									
								
								main.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								main.py
									
									
									
									
									
										Normal file
									
								
							@@ -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=<your username>
 | 
			
		||||
#    JIRA_PASSWORD=<your 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)
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user