jira python oauth: how to get the parameters for authentication?

Cacheing picture Cacheing · Aug 9, 2013 · Viewed 15.6k times · Source

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 get these parameters:

access_token, access_token_secret, consumer_key, key_cert

Answer

Micah Carrick picture Micah Carrick · Jan 12, 2014

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:

  1. Generate RSA public/private key pair (you end up with rsa.pub and rsa.pem files). Your Python code will need access to the private key rsa.pem.
  2. Configure a JIRA application (done in JIRA admin under "Application Links") with "Incoming Authentication" and use the public key generated above. This is where you specify the consumer_key needed by jira-python

Next, 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:

  • access_token - Obtained at the end of the OAuth 1 Workflow.
  • access_token_secret - Obtained at the end of the OAuth 1 Workflow.
  • consumer_key - Specified when you setup an "Application Link" in JIRA admin.
  • key_cert - The contents of the rsa.pem file (private key). The public key is also added when setting up the "Application Link" in JIRA admin.