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

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,463,867
Community Members
 
Community Events
176
Community Groups

how to update data from csv file to confluence tables using rest api in python

I wrote the code to put data into existing confluence page. My code is like below.I'm using Python here

import requests
import json


url = 'https://domain.atlassian.net/wiki/rest/api/content/pageid'

headers ={
'Accept':'application/json',
'Authorization': 'basic <access token>',
'content_type':'application/json'}

payload = json.dumps({
'version':{
number:version number},
'title':'title of existing page',
'type':'page',
'status':'current',
'body':{
'storage':{
'value':'''
<tbody><tr><th><p><strong>header1</strong></p></th><th><p><strong>header2</strong></p></th>

<th><p><strong>header3</strong></p></th><th><p><strong>header4</strong></p></th>

<th><p><strong>Remarks</strong></p></th></tr><tr><td><p>DRLT</p></td><td><p>Drogas Lithuania</p></td>

<td><p>i want to update data here from csv file</p></td>

<td><p>csv data</p></td>

<td><p></p></td></tr><tr><td><p>branch</p></td><td><p>csv data</p></td>

<td><p>csv data</p></td>
<td><p>csv data</p></td>

html code of confluence page. It has 5 tables.'''
'representation':'storage'}}})

response = requests.request(
"put"
url,
data = payload
headers = headers)

print(json.dumps(json.loads(response.text),sort_keys= True, indent = 4,separoters=(",",":")


I'm new to this confluence I have no idea how to update data into confluence tables using rest apis. I every time changing data in html code and put into confluence page.

 I want to update data into 3 tables in  html code from csv file automatically 

like every time run script  it'll read csv data and change html table contents itself.

How can i achieve that?

Please help me through this..........

 

1 answer

Hello @Ratnala Preethi,

If your company uses our Table Filter and Charts for Confluence app, you may use its Table from CSV macro.

It may not be exactly your case, but it is possible to output data from a URL, and you won't need to manually refresh a CSV file (you will just need to refresh your Confluence page for the data from CSV to be actual).

Best regards,

Alexey

Thank you @Alexey Mikhaylov _Stiltsoft_  for your response

My page have some text and tables, But I need some clarification on that we need to put whole page layout in python script to add this csv data into tables. do we?

what I'm actually doing now is I convert csv data into lists then add it to string value of my page layout like below 

csv_data=['data1','data2']

'value' = 'This is the confluence page...........
<table><td>{csv_data}</td></table>'.format(csv_data=csv_data[0])

  Do you have an idea to put directly that csv data to particular table without mention whole page layout in script.

Hello @Ratnala Preethi,

our Table from CSV macro is for the cases when you need to build a specific table based on a CSV file from a URL or an attached file. Restoring the whole page with layouts and additional data is not covered by this macro.

Like # people like this

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
TAGS

Atlassian Community Events