You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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}")

关键说明

  1. 项目级迭代 vs 团队Sprint:

    • 项目级迭代是全局节点,创建后可关联到多个团队
    • 只有关联到团队的迭代,才会显示为该团队的Sprint
  2. 分类节点路径:

    • 如果需要在已有迭代路径下创建子Sprint(比如在"Release 1"下创建"Sprint 1"),可修改path参数为对应父节点的路径
  3. 时间框架(time_frame):

    • 设置为current表示当前活跃Sprint,future是待启动的,past是已结束的

内容的提问来源于stack exchange,提问作者Archimedes Trajano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 14:12:29