Нет доступа к вложениям в TFS после их загрузки по API
Не могу скачать просмотреть вложения, после выгрузки их по API. Гугление по коду сообщения и/или ошибки не выдало абсолютно ничего.
import os, sys, requests
from tfs import TFSAPI
_credentials = ("user", "pass")
def post_file(url, file_path, file_name):
file_size = os.path.getsize(file_path)
headers = {
"Accept": "application/json",
"Content-Size": str(file_size),
"Content-Type": "application/octet-stream",
}
request = requests.Request('POST', url, headers=headers, auth=_credentials)
prepped = request.prepare()
with open(file_path, 'rb') as file_handle:
prepped.body = file_handle.read(file_size)
return requests.Session().send(prepped)
def add_attachment(path_to_attachment, ticket_identifier):
filename = os.path.basename(path_to_attachment)
response = post_file(
f"http://{organization}/_apis/wit/attachments?uploadType=chunked&fileName={filename}&api-version=5.0",
path_to_attachment,
filename
)
file_size = os.path.getsize(path_to_attachment)
data = response.json()
attachment_url = data["url"]
client = TFSAPI("http://{organization}/tfs/Main", project='***', user = r'user', password = "pass")
workitem = client.get_workitem(ticket_identifier)
rra =[{"rel": "AttachedFile", "url": attachment_url,
"attributes": {"comment": "Test", "resourceSize": file_size, "isLocked": False}}]
workitem.add_relations_raw(rra)
В результате вложение загружается, вроде бы как, но попытка его использовать в интерактиве выдает следующее сообщение (при скачивании перекидывает на эту страницу с текстом):
{"$id":"1","innerException":null,"message":"TF237136: File attachment does not exist, or you do not have permissions to read it.","typeName":"Microsoft.TeamFoundation.WorkItemTracking.Server.AttachmentNotFoundException, Microsoft.TeamFoundation.WorkItemTracking.Server","typeKey":"AttachmentNotFoundException","errorCode":602204,"eventId":3200}