尝试获取TFS工作项时返回错误的Python脚本 我编写了下面的PyTin脚本来尝试收集TFS(Team Foundation Server)工作项数据。以下是我的脚本:- from tfs import TFSAPI user="andrew.xxxx" password="xxxxxxxx" tfsAddress = "http://man-tfsmig-1:8080/" print(tfsAddress) client = TFSAPI(tfsAddress, project="DefaultCollection/xxxxxxxx", user=user, password=password) work_item = client.get_workitem(28274)

尝试获取TFS工作项时返回错误的Python脚本 我编写了下面的PyTin脚本来尝试收集TFS(Team Foundation Server)工作项数据。以下是我的脚本:- from tfs import TFSAPI user="andrew.xxxx" password="xxxxxxxx" tfsAddress = "http://man-tfsmig-1:8080/" print(tfsAddress) client = TFSAPI(tfsAddress, project="DefaultCollection/xxxxxxxx", user=user, password=password) work_item = client.get_workitem(28274),python,tfs,Python,Tfs,当我运行代码时,我得到以下错误,但我不知道问题是什么:- Traceback (most recent call last): File ".\TFS_Release_Notes_app.py", line 13, in <module> work_item = client.get_workitem(28274) File "C:\Python\lib\site-packages\tfs\connection.py", line 70, in get_workite

当我运行代码时,我得到以下错误,但我不知道问题是什么:-

Traceback (most recent call last):
  File ".\TFS_Release_Notes_app.py", line 13, in <module>
    work_item = client.get_workitem(28274)
  File "C:\Python\lib\site-packages\tfs\connection.py", line 70, in get_workitem
    return self.get_workitems(id_, fields)[0]
  File "C:\Python\lib\site-packages\tfs\connection.py", line 80, in get_workitems
    work_items_batch_info = self.__get_workitems(work_items_batch, fields=fields, expand=expand)
  File "C:\Python\lib\site-packages\tfs\connection.py", line 65, in __get_workitems
    object_class=Workitem)
  File "C:\Python\lib\site-packages\tfs\connection.py", line 46, in get_tfs_object
    raw = self.rest_client.send_get(uri=uri, payload=payload, project=project)
  File "C:\Python\lib\site-packages\tfs\connection.py", line 323, in send_get
    return self.__send_request('GET', uri, None, payload=payload, project=project, json=json)
  File "C:\Python\lib\site-packages\tfs\connection.py", line 360, in __send_request
    response.raise_for_status()
  File "C:\Python\lib\site-packages\requests\models.py", line 939, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://xxxx-xxxxx-1:8080/DefaultCollection/_apis/wit/workitems?ids=28274&$expand=all&api-version=1.0
回溯(最近一次呼叫最后一次):
文件“\TFS\u Release\u Notes\u app.py”,第13行,在
工作项=客户端。获取工作项(28274)
文件“C:\Python\lib\site packages\tfs\connection.py”,第70行,在get\u workitem中
返回self.get\u工作项(id\u,字段)[0]
文件“C:\Python\lib\site packages\tfs\connection.py”,第80行,在get\u workitems中
工作项目批处理信息=self.\u获取工作项目(工作项目批处理,字段=字段,展开=展开)
文件“C:\Python\lib\site packages\tfs\connection.py”,第65行,在get\U工作项中
对象(类=工作项)
文件“C:\Python\lib\site packages\tfs\connection.py”,第46行,在get\u tfs\u对象中
raw=self.rest\u client.send\u get(uri=uri,payload=payload,project=project)
文件“C:\Python\lib\site packages\tfs\connection.py”,第323行,在send\u get中
返回self.\u发送请求('GET',uri,None,payload=payload,project=project,json=json)
文件“C:\Python\lib\site packages\tfs\connection.py”,第360行,在发送请求中
响应。针对_状态()提出_
文件“C:\Python\lib\site packages\requests\models.py”,第939行,处于raise_状态
引发HTTPError(http\u error\u msg,response=self)
requests.exceptions.HTTPError:404客户端错误:找不到url:http://xxxx-xxxxx-1:8080/DefaultCollection/_apis/wit/workitems?ids=28274&$expand=all&api版本=1.0

它告诉您错误:
404
,未找到

这意味着您为API提供的URI不正确

它正在生成这个URI:
http://xxxx-xxxxx-1:8080/DefaultCollection/_apis/wit/workitems
。验证这是否正确


通常,当TFS通过HTTP在8080端口上运行时,会有一个
/TFS/
虚拟目录。

我需要添加以下行进行身份验证:-

# Use NTLM authorization
from requests_ntlm import HttpNtlmAuth
client = TFSAPI("https://tfs.tfs.ru/tfs/", user=user, password=password, auth_type=HttpNtlmAuth)