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 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..........
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.