Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How can I find the parameter names for REST API in python?

Deleted user January 11, 2017

I am using Confluence V6.0 and I am writing my first python scripts with REST API.

My problem: I don't know how the input parameters in POST calls are named.

Example:

To upload an attachment, the documentation gives examples using curl and multiple -F parameters:

curl -D- -u admin:admin -X POST -H "X-Atlassian-Token: nocheck" -F "file=@myfile.txt"\ 
-F "minorEdit=true" -F "comment=This is my File"\
 http://myhost/rest/api/content/123/child/attachment

In this forum I found a python example which showed that the requests.post function is called with the parameters files= and headers=:

r = requests.post(url, auth=('[USERNAME]', '[PASSWORD]'), files=files, headers=headers)

(see Rafael Sperafico's answer to
How to upload attachment to an Issue using the REST API in Python??)

But: Where do I find these parameter names (and others) in the documentation? E.g. how can I add a comment or the ContentType?

Is there anywhere a complete description of the REST API functions giving not only examples but all the possible parameters?

1 answer

0 votes
rsperafico
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 18, 2017

Hello Jean Bausch,

Basically, you need to understand how Python works and how you can do GET, POST, PUST, DELETE requests from it. I would recommend you on reading the Python documentation on:

Regarding on adding a comment, please find below an example on how to add the comment "A new comment from Python requests" to the page ID "16744450":

import requests, json


def printResponse(r):
    print '{} {}\n'.format(json.dumps(r.json(), sort_keys=True, indent=4, separators=(',', ': ')), r)

pageData = {
    'body':{
        'storage':{
            'value':"<p>A new comment from Python requests</p>",
            'representation':'storage'
        }
    },
    'container':{
        'type':'page',
        'id':'16744450'
    },
    'type':'comment', 
}
    
# print json.dumps(pageData)    
    
r = requests.post('https://DOMAIN.atlassian.net/wiki/rest/api/content',
    data=json.dumps(pageData),
    auth=('USERNAME','PASSWORD'),
    headers=({'Content-Type':'application/json'}))


printResponse(r)

Kind regards,

Rafael

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events