I am trying to use oauth to access jira, and I am reading this document: Welcome to jira-python\'s documentation.
But in this oauth part, I cannot figure out how I can g
First you need to add an application link to JIRA for your application: https://confluence.atlassian.com/display/JIRA060/Configuring+Application+Links
For the case when the application accessing JIRA is not a web application, you can use arbitrary URL as the application URL, but that url will be used to retrieve the application icon when it's displayed in the list of Application Links in administrative UI of JIRA.
Then you would need to do a so called "oauth dance" to get an OAuth token and its corresponding secret. Please take a look at Atlassian examples here: https://bitbucket.org/atlassian_tutorial/atlassian-oauth-examples/src
Those examples are mostly covering the dance itself, while the authentication using OAuth token+secret (which is received during the dance) is documented here: http://jira.readthedocs.io/en/latest/examples.html#oauth. I hope this helps.
At least it worked for me (also in Python for my case). :)
I too am using jira-python. Since jira-python uses requests and requests-oauthlib I used those same libraries to implement the OAuth 1 dance necessary to get the tokens.
First, setup JIRA:
rsa.pub
and rsa.pem
files). Your Python code will need access to the private key rsa.pem
.consumer_key
needed by jira-pythonNext, the OAuth dance. It's pretty simple with OAuth1Session
from requests-oauthlib. Here is a simple example (CLI): JIRA Oauth in Python.
The workflow is described in the requests-oauthlib docs: OAuth 1 Workflow.
So, to summarize:
rsa.pem
file (private key). The public key is also added when setting up the "Application Link" in JIRA admin.Unfortunately, other answers don't work with Python 3. I found that https://github.com/rkadam/jira-oauth-generator fully covers Jira OAuth in Python 3.