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 requests
from oauthlib.oauth1 import SIGNATURE_RSA
from requests_oauthlib import OAuth1Session
from 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 instance
JIRA_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 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 exmaple
for 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
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.