401-unauthorized python rest api and curl

Angel June 28, 2019

I’m receiving a 401 Unauthorized error when trying to post attachments to the Jira Cloud.

my code in python:

##################################################

import glob
import requests
import json
import time


def upPagare(pagare):
tmp = pagare.split('.')
noAct = tmp[0]
url = 'https://pochteca.atlassian.net/rest/api/2/issue/'+noAct+'/attachments'
headers = {"X-Atlassian-Token": "nocheck"}
# please uncomment to attach external file
files = {'file': open(pagare, 'rb')}

r = requests.post(url, auth=('aferreirao@pochteca.com.mx', 'lalala'), files=files, headers=headers)
print(r.status_code)
print(r.text)


pagares = [f for f in glob.glob("*.pdf")]

for x in range(len(pagares)):
print("updating :" + pagares[x])
upPagare(pagares[x])
print("success:" +pagares[x])
time.sleep(10)

#################################################

I almost try with Curl:

 

##############################################

curl -D- -u aferreirao@pochteca.com.mx:lalala -X POST -H "X-Atlassian-Token: nocheck" -F "file=@C:\Users\aferreirao\Desktop\CAP-16041.pdf" https://pochteca.atlassian.net/rest/api/2/issue/CAP-16041/attachments

################################################

 

2 answers

1 accepted

1 vote
Answer accepted
Warren
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.
July 1, 2019

Hi @Angel 

I think the issue might be that you're using a password instead of a token - see this Atlassian article for further info (there's also a link within the article with more info on using a token)

Angel July 1, 2019

Thanks @Warren 

That was, I generated the API token and I used it

0 votes
sandeep pathuri April 4, 2020

Hi,

 

I'm able to login to Jira and get the data, the problem comes with the POST method. I'm getting a 401 error, could you please help me with that. Below is my code!

 

data = {

"key": "RESV1",
"name": "Resv1",
"url": "rest/api/2/project",
"projectTypeKey": "software",
"projectTemplateKey": "TSWSIDSOT",
"lead": "*************",
"assigneeType": "PROJECT_LEAD",
"permissionScheme": 10900,
"notificationScheme": 10709,
"categoryId": 11000
}



data = json.dumps(data)

data = json.loads(data)

headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}

r = requests.post(url, json=data, auth=("USERNAME", "PASSWORD"), verify=False)

print(r.json)
sandeep pathuri April 4, 2020

FYI,

 

I'm using Jira Server not Cloud

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events