We followed https://developer.atlassian.com/server/jira/platform/oauth/ documentation and completed step-1. Howeverwe are unable to proceed with step-2 as mvn clean compile assembly:single is throwing the error.
Hello,
Use python script to generate oauth token
import requestsfrom oauthlib.oauth1 import SIGNATURE_RSAfrom requests_oauthlib import OAuth1Sessionfrom jira.client import JIRAdef read(file_path):""" Read a file and return it's contents. """with open(file_path) as f:return f.read()# The Consumer Key created while setting up the "Incoming Authentication" in# JIRA for the Application Link.CONSUMER_KEY = 'JIRA'VERIFIER = 'jira_verifier'# The contents of the rsa.pem file generated (the private RSA key)RSA_KEY = read('path\\to\\rsa.pem')# The URLs for the JIRA instanceJIRA_SERVER = 'http://jira.com'REQUEST_TOKEN_URL = JIRA_SERVER + '/plugins/servlet/oauth/request-token'AUTHORIZE_URL = JIRA_SERVER + '/plugins/servlet/oauth/authorize'ACCESS_TOKEN_URL = JIRA_SERVER + '/plugins/servlet/oauth/access-token'# Step 1: Get a request tokenoauth = OAuth1Session(CONSUMER_KEY, signature_type='auth_header',signature_method=SIGNATURE_RSA, rsa_key=RSA_KEY, verifier=VERIFIER)request_token = oauth.fetch_request_token(REQUEST_TOKEN_URL,verify=True)print("STEP 1: GET REQUEST TOKEN")print(" oauth_token={}".format(request_token['oauth_token']))print(" oauth_token_secret={}".format(request_token['oauth_token_secret']))print("\n")# Step 2: Get the end-user's authorizationprint("STEP2: AUTHORIZATION")print(" Visit to the following URL to provide authorization:")print(" {}?oauth_token={}".format(AUTHORIZE_URL, request_token['oauth_token']))print("\n")destination= open("linkJira.txt","w+")destination.write(" oauth_token={}".format(request_token['oauth_token']))destination.write(" oauth_token_secret={}".format(request_token['oauth_token_secret']))destination.write(" {}?oauth_token={}".format(AUTHORIZE_URL, request_token['oauth_token']))destination.close()while input("Press any key to continue..."):pass# Step 3: Get the access tokenaccess_token = oauth.fetch_access_token(ACCESS_TOKEN_URL)# print("STEP2: GET ACCESS TOKEN")# print(" oauth_token={}".format(access_token['oauth_token']))# print(" oauth_token_secret={}".format(access_token['oauth_token_secret']))# print("\n")print("STEP2: GET ACCESS TOKEN")print(" oauth_token={}".format(access_token))print(" oauth_token_secret={}".format(access_token))print("\n")# Now you can use the access tokens with the JIRA client. Hooray!jira = JIRA(options={'server': JIRA_SERVER,'verify':True}, oauth={'access_token': access_token['oauth_token'],'access_token_secret': access_token['oauth_token_secret'],'consumer_key': CONSUMER_KEY,'key_cert': RSA_KEY})# print all of the project keys just as an exmaplefor project in jira.projects():print(project.key)
import requestsfrom oauthlib.oauth1 import SIGNATURE_RSAfrom requests_oauthlib import OAuth1Sessionfrom jira.client import JIRA
def read(file_path):""" Read a file and return it's contents. """with open(file_path) as f:return f.read()
# The Consumer Key created while setting up the "Incoming Authentication" in# JIRA for the Application Link.CONSUMER_KEY = 'JIRA'VERIFIER = 'jira_verifier'
# The contents of the rsa.pem file generated (the private RSA key)RSA_KEY = read('path\\to\\rsa.pem')
# The URLs for the JIRA instanceJIRA_SERVER = 'http://jira.com'REQUEST_TOKEN_URL = JIRA_SERVER + '/plugins/servlet/oauth/request-token'AUTHORIZE_URL = JIRA_SERVER + '/plugins/servlet/oauth/authorize'ACCESS_TOKEN_URL = JIRA_SERVER + '/plugins/servlet/oauth/access-token'
# Step 1: Get a request token
oauth = OAuth1Session(CONSUMER_KEY, signature_type='auth_header',signature_method=SIGNATURE_RSA, rsa_key=RSA_KEY, verifier=VERIFIER)request_token = oauth.fetch_request_token(REQUEST_TOKEN_URL,verify=True)
print("STEP 1: GET REQUEST TOKEN")print(" oauth_token={}".format(request_token['oauth_token']))print(" oauth_token_secret={}".format(request_token['oauth_token_secret']))print("\n")
# Step 2: Get the end-user's authorization
print("STEP2: AUTHORIZATION")print(" Visit to the following URL to provide authorization:")print(" {}?oauth_token={}".format(AUTHORIZE_URL, request_token['oauth_token']))print("\n")
destination= open("linkJira.txt","w+")destination.write(" oauth_token={}".format(request_token['oauth_token']))destination.write(" oauth_token_secret={}".format(request_token['oauth_token_secret']))destination.write(" {}?oauth_token={}".format(AUTHORIZE_URL, request_token['oauth_token']))destination.close()
while input("Press any key to continue..."):pass
# Step 3: Get the access token
access_token = oauth.fetch_access_token(ACCESS_TOKEN_URL)
# print("STEP2: GET ACCESS TOKEN")# print(" oauth_token={}".format(access_token['oauth_token']))# print(" oauth_token_secret={}".format(access_token['oauth_token_secret']))# print("\n")
print("STEP2: GET ACCESS TOKEN")print(" oauth_token={}".format(access_token))print(" oauth_token_secret={}".format(access_token))print("\n")
# Now you can use the access tokens with the JIRA client. Hooray!
jira = JIRA(options={'server': JIRA_SERVER,'verify':True}, oauth={'access_token': access_token['oauth_token'],'access_token_secret': access_token['oauth_token_secret'],'consumer_key': CONSUMER_KEY,'key_cert': RSA_KEY})
# print all of the project keys just as an exmaplefor project in jira.projects():print(project.key)
Steps to generate token:
NOTE: Replace the path (line 17 of the mentioned script) with the location of rsa.pem file in your system
It looks like you're new here. Sign in or register to get started.