如何通过Python SDK在Azure DevOps中创建Sprint?
如何通过Python SDK在Azure DevOps中创建Sprint
在Azure DevOps里,Sprint本质就是团队关联的迭代(Iteration)——你需要先在项目层级创建迭代节点,再将其关联到目标团队,才能成为该团队可用的Sprint。下面是具体的Python SDK实现步骤:
前期准备
- 安装Azure DevOps Python SDK:
pip install azure-devops - 生成Azure DevOps个人访问令牌(PAT),需包含Work Items读写权限
完整代码示例
from azure.devops.connection import Connection from msrest.authentication import BasicAuthentication from azure.devops.v7_1.work_item_tracking.models import ClassificationNodeCreateOrUpdate from azure.devops.v7_1.work.models import TeamIterationAttributes, TeamIteration # 配置信息 ORGANIZATION_URL = "https://dev.azure.com/你的组织名" PROJECT_NAME = "你的项目名" TEAM_NAME = "你的团队名" PAT = "你的个人访问令牌" SPRINT_NAME = "Sprint 1" START_DATE = "2024-06-01" END_DATE = "2024-06-14" # 1. 初始化连接与客户端 credentials = BasicAuthentication("", PAT) connection = Connection(base_url=ORGANIZATION_URL, creds=credentials) # 获取工作项跟踪客户端(用于创建项目级迭代节点) wit_client = connection.clients.get_work_item_tracking_client() # 获取工作客户端(用于关联迭代到团队) work_client = connection.clients.get_work_client() # 2. 创建项目级迭代节点 # 注意:中文项目的迭代分类名称是"迭代",英文项目是"Iterations" iteration_classification = wit_client.get_classification_node( project=PROJECT_NAME, structure_group="iterations" ) new_iteration = ClassificationNodeCreateOrUpdate( name=SPRINT_NAME, attributes={ "startDate": START_DATE, "finishDate": END_DATE } ) # 在根迭代节点下创建新迭代 created_iteration = wit_client.create_or_update_classification_node( new_iteration, project=PROJECT_NAME, structure_group="iterations", path=iteration_classification.path ) # 3. 将迭代关联到目标团队 team_iteration_attributes = TeamIterationAttributes( start_date=START_DATE, finish_date=END_DATE, time_frame="current" # 可选值:current/future/past ) team_iteration = TeamIteration( id=created_iteration.identifier, attributes=team_iteration_attributes ) work_client.create_team_iteration( team_iteration=team_iteration, project_id=PROJECT_NAME, team_id=TEAM_NAME ) print(f"成功创建并关联Sprint:{SPRINT_NAME}")
关键说明
项目级迭代 vs 团队Sprint:
- 项目级迭代是全局节点,创建后可关联到多个团队
- 只有关联到团队的迭代,才会显示为该团队的Sprint
分类节点路径:
- 如果需要在已有迭代路径下创建子Sprint(比如在"Release 1"下创建"Sprint 1"),可修改
path参数为对应父节点的路径
- 如果需要在已有迭代路径下创建子Sprint(比如在"Release 1"下创建"Sprint 1"),可修改
时间框架(time_frame):
- 设置为
current表示当前活跃Sprint,future是待启动的,past是已结束的
- 设置为
内容的提问来源于stack exchange,提问作者Archimedes Trajano
相关产品推荐
相关产品推荐

