Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

How to access Confluence use atlassian-python-api and a Personal Access Token

I can use the following for basic auth:

from atlassian import Confluence

confluence = Confluence(url='https://internalconfluenceurl.com', username = 'myusername', password='mypassword')

This also works if I use an API token value instead of password.

How do I alter this to use a Personal Access Token (as created within Confluence) instead? I tried substituting that in for the password, but it gives an error.

Is there a further authentication step that I am missing? I have managed to do something similar in Jira, but the same approach does not work for Confluence. 

2 answers

1 accepted

1 vote
Answer accepted

I found a different approach:

import requests

response = requests.post(base_url, data=page_data_json, headers={'Authorization': f'Bearer {pat}',"Accept": "application/json",'Content-Type': 'application/json'})

if response.status_code == 200:
print("Child page created successfully")
else:
print("Failed to create the child page. Status code:", response.status_code)

It is not quite as convenient as using the inbuilt Confluence function, but it seems to work. 

0 votes
Sagar
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
Oct 20, 2023

Hi @nirabe Welcome to the Atlassian community.

Have you check the below document for how to use the PAT in Jira/Confluence instead of basic auth?

https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html

Below is the example of using PAT same way you need to modify to use in Python script

 

curl -H "Authorization: Bearer <yourToken>" https://{baseUrlOfYourInstance}/rest/api/content

Hi @Sagar and thanks for the prompt reply.

Yes, I had seen the link you shared. I cannot use cURL. There have been some suggestions of using requests instead.

I may go down this route, but it seems much more complicated than the approach for Jira, which is odd.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events