How can I automatically update a Confluence page using Shell script or PYTHON

Madhu November 28, 2019

Could you please let me know

How can I automatically update a Confluence page using Shell script or PYTHON

1 answer

1 accepted

0 votes
Answer accepted
Dominic Lagger
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 28, 2019

Hi @Madhu 

I'm using python with the confluence REST API. And I'm using the requests package for any request.

The following script just creates a new page. With this little script, you should be able to create a script, which updates some content with this PUT request

newPageName = 'Atlassian Community'
url = 'URL'

user = 'user'
password = 'pw'

#-------------------------------------------------

headers = {
'X-Atlassian-Token': 'no-check',
'Content-Type': 'application/json'
}
auth=(user, password)


spacekey = 'key'
parentId = parentId

mypage = {"type":"page","title":""+newPageName+"","ancestors":[{"id":parentId}],"space":{"key":""+spacekey+""},"body":{"storage":{"value":"VALUE IN STORAGE FORMAT","representation":"storage"}}}
post = requests.post(url+'/rest/api/content/', data=json.dumps(mypage), auth=auth, headers=headers, verify=False)

If you have any questions, don't hesitate to ask.

Regards, Dominic

Madhu November 28, 2019

Will this new page added on parent page or in new location?

Could you please help.

Madhu November 28, 2019

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
warnings.warn(

 

 

This is the error which I am getting.

Dominic Lagger
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 28, 2019

The new page will be added at the location, where you defined with "spacekey" and "parentID". 

The parentId is the ID from the parent page, therefore, the created page is a child of that parent page. 

 

I don't know how to solve the problem correctly with the SSL, but you can suppress this warning with: 

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
Madhu November 28, 2019

Thanks alot for your help. I am new to python, thats why I am asking you like this.

Madhu November 28, 2019
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

added this too. 

praveen.naidu June 30, 2020

hi how to update confluence page in existing table can you please help on this

Ratnala Preethi August 9, 2022

Hi @Dominic Lagger  

To update particular values in table in page, Do we need to put whole page layout in 'value' variable? 

or is there any possible solution only directly put data into existing table

Dominic Lagger
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 9, 2022

You have to put the whole page into the value.

What I do, when I need to change only some values: Get the page via REST and save the storage format into a variable. Then change the storage format and put the variable into the value. 

Ratnala Preethi August 9, 2022

Thanks It helps me 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events