I am trying to use jira python library to initialise JIRA object using bearer token based authentication. I didn't find anything in the documentation.
Hi, @abhay
Welcome to Atlassian Community!
In my python script, when I connect to Jira, I use next code:
# Load environment variables from .env file
jira_base_url = config("JIRA_BASE_URL")
jira_api_token = config("JIRA_API_TOKEN")
jira_api_email = config("JIRA_API_EMAIL")
# Jira API endpoint for searching issues
jira_api_url = f"{jira_base_url}/rest/api/3/search"
base64_credentials = base64.b64encode(
f"{jira_api_email}:{jira_api_token}".encode()
).decode()
headers = {
"Authorization": f"Basic {base64_credentials}",
"Content-Type": "application/json",
}
Example of function, which I use to get issues by JQL query
def get_jira_issues(query, max_results=50):
issues = []
start_at = 0
while True:
params = {
"jql": query,
"fields": ["comment"],
"startAt": start_at,
"maxResults": max_results,
}
response = requests.get(jira_api_url, headers=headers, params=params)
if response.status_code == 200:
data = response.json()
issues.extend(data["issues"])
# Check if there are more issues to fetch
total = data["total"]
start_at += max_results
if start_at >= total:
break
else:
logger.error(f"Error fetching Jira issues: {response.text}")
raise Exception(f"Error fetching Jira issues: {response.text}")
return issues
As an alternative variant you can use python library to work with Jira
It's atlassian-python-api library, that can work with different products
https://atlassian-python-api.readthedocs.io/
from atlassian import Jira
jira = Jira(url = "https://jira_url/", token = jira_token)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hey @Evgenii thanks for the reply
So you are using the requests library directly. I was asking with respect to jira pypi library in particular. Although I found a way to do it:
headers = {{
"Accept": "application/json",
"Authorization": f'Bearer {{auth["accessToken"]}}',
}}
jira = JIRA(
server=auth["url"],
options={{'server': auth["url"]}}
)
jira._session.headers.update(headers)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.