-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathaccess_using_jira_library.py
50 lines (40 loc) · 1.64 KB
/
access_using_jira_library.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from jira import JIRA
from configparser import ConfigParser
import argparse
import os
from pathlib import Path
parser = argparse.ArgumentParser()
parser.add_argument("jira_environment", help = "Enter Jira Environment where you want to run this library. Options: dev/prod")
args = parser.parse_args()
print()
print(f"Reading OAuth from {Path.home()}/.oauthconfig/.oauth_jira_config.{args.jira_environment}")
config = ConfigParser()
config.read(Path.home() / f".oauthconfig/.oauth_jira_config.{args.jira_environment}")
jira_url = config.get("server_info", "jira_base_url")
oauth_token = config.get("oauth_token_config", "oauth_token")
oauth_token_secret=config.get("oauth_token_config", "oauth_token_secret")
consumer_key = config.get("oauth_token_config", "consumer_key")
test_issue_key = config.get("jira_oauth_generator", "test_issue_key")
rsa_private_key = None
# Load RSA Private Key file.
with open( Path.home() /'.oauthconfig/oauth.pem', 'r') as key_cert_file:
rsa_private_key = key_cert_file.read()
if jira_url[-1] == '/':
jira_url = jira_url[0:-1]
oauth_dict = {
'access_token' : oauth_token,
'access_token_secret': oauth_token_secret,
'consumer_key': consumer_key,
'key_cert': rsa_private_key
}
ajira = JIRA(oauth=oauth_dict, server = jira_url)
print("")
print(f"Reteriving Issue: {test_issue_key}")
issue = ajira.issue(test_issue_key, fields ='summary,comment')
print (f"Issue:{test_issue_key}, Summary: {issue.fields.summary}")
print("")
print("Reteriving 1st three Jira Projects available to you:")
projects = ajira.projects()
keys = sorted([project.key for project in projects])[2:5]
print("First 3 Projects are %s" %keys)
print("")