基于Python集成Azure Board:能否通过REST API批量创建工作项?
Azure Boards批量创建工作项的实现方式
Azure Boards支持批量创建工作项,对应的REST API是Work Items - Batch接口,功能和Jira的批量创建工作项API类似,可通过单次请求完成多个工作项的创建操作。
核心用法说明
这个接口允许你在一个请求中提交多个独立的工作项创建请求,每个请求的结构和单个创建工作项的JSON Patch格式完全一致,还能混合创建不同类型的工作项(如User Story、Task等)。
Python示例代码
import requests import json import base64 # 配置参数 organization = "你的组织名称" project = "你的项目名称" pat_token = "你的个人访问令牌(PAT)" api_version = "7.1-preview.3" # 构造批量创建请求体 batch_payload = { "requests": [ # 创建第一个User Story { "method": "POST", "uri": f"/_apis/wit/workitems/$User Story?api-version={api_version}", "headers": {"Content-Type": "application/json-patch+json"}, "body": [ {"op": "add", "path": "/fields/System.Title", "value": "批量创建用户故事示例1"}, {"op": "add", "path": "/fields/System.Description", "value": "这是通过批量API创建的第一个工作项"} ] }, # 创建第一个Task { "method": "POST", "uri": f"/_apis/wit/workitems/$Task?api-version={api_version}", "headers": {"Content-Type": "application/json-patch+json"}, "body": [ {"op": "add", "path": "/fields/System.Title", "value": "批量创建任务示例1"}, {"op": "add", "path": "/fields/System.AssignedTo", "value": "李四 <lisi@example.com>"} ] } ] } # 发起请求 request_url = f"https://dev.azure.com/{organization}/{project}/_apis/wit/workitemsbatch?api-version={api_version}" auth_header = f"Basic {base64.b64encode(f':{pat_token}'.encode()).decode()}" headers = {"Authorization": auth_header, "Content-Type": "application/json"} response = requests.post(request_url, headers=headers, data=json.dumps(batch_payload)) response.raise_for_status() # 抛出请求异常 # 输出结果 print("批量创建完成,响应数据:") print(json.dumps(response.json(), indent=2))
关键注意事项
- 个人访问令牌(PAT)需要配置**Work Items (Write)**权限,确保具备创建工作项的权限
- 每个工作项的请求体遵循JSON Patch规范,和单个创建工作项的API要求一致
- 建议使用
7.1-preview.3或更高版本的API,保证功能稳定性
内容的提问来源于stack exchange,提问作者shez
相关产品推荐
相关产品推荐

