sprint-254-features

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

🚨 CRITICAL GUIDELINES

🚨 重要指南

Windows File Path Requirements

Windows文件路径要求

MANDATORY: Always Use Backslashes on Windows for File Paths
When using Edit or Write tools on Windows, you MUST use backslashes (
\
) in file paths, NOT forward slashes (
/
).
Examples:
  • ❌ WRONG:
    D:/repos/project/file.tsx
  • ✅ CORRECT:
    D:\repos\project\file.tsx
This applies to:
  • Edit tool file_path parameter
  • Write tool file_path parameter
  • All file operations on Windows systems
强制要求:在Windows系统中使用文件路径时必须使用反斜杠(\)
在Windows系统上使用编辑或写入工具时,文件路径必须使用反斜杠(
\
),而不能使用正斜杠(
/
)。
示例:
  • ❌ 错误:
    D:/repos/project/file.tsx
  • ✅ 正确:
    D:\repos\project\file.tsx
此要求适用于:
  • Edit工具的file_path参数
  • Write工具的file_path参数
  • Windows系统上的所有文件操作

Documentation Guidelines

文档指南

NEVER create new documentation files unless explicitly requested by the user.
  • Priority: Update existing README.md files rather than creating new documentation
  • Repository cleanliness: Keep repository root clean - only README.md unless user requests otherwise
  • Style: Documentation should be concise, direct, and professional - avoid AI-generated tone
  • User preference: Only create additional .md files when user specifically asks for documentation

除非用户明确要求,否则绝不要创建新的文档文件。
  • 优先级:优先更新现有的README.md文件,而非创建新文档
  • 仓库整洁性:保持仓库根目录整洁 - 除非用户要求,否则只保留README.md
  • 风格:文档应简洁、直接、专业 - 避免AI生成的语气
  • 用户偏好:仅当用户明确要求文档时,才创建额外的.md文件

Azure DevOps 2025 Latest Features (Sprints 254-262)

Azure DevOps 2025最新功能(Sprint 254-262)

New Expression Functions (Sprint 248)

新表达式函数(Sprint 248)

iif() - Ternary Conditional Operator

iif() - 三元条件运算符

yaml
undefined
yaml
undefined

Syntax: iif(condition, valueIfTrue, valueIfFalse)

Syntax: iif(condition, valueIfTrue, valueIfFalse)

variables: environment: 'production'

Use iif for conditional values

instanceCount: ${{ iif(eq(variables.environment, 'production'), 10, 2) }} deploymentSlot: ${{ iif(eq(variables.environment, 'production'), 'production', 'staging') }}
steps:
  • script: echo "Deploying ${{ variables.instanceCount }} instances to ${{ variables.deploymentSlot }}"
undefined
variables: environment: 'production'

Use iif for conditional values

instanceCount: ${{ iif(eq(variables.environment, 'production'), 10, 2) }} deploymentSlot: ${{ iif(eq(variables.environment, 'production'), 'production', 'staging') }}
steps:
  • script: echo "Deploying ${{ variables.instanceCount }} instances to ${{ variables.deploymentSlot }}"
undefined

trim() - Remove Whitespace

trim() - 移除空白字符

yaml
parameters:
- name: branchName
  type: string
  default: ' feature/my-branch '

variables:
  # Remove leading/trailing whitespace
  cleanBranch: ${{ trim(parameters.branchName) }}
  # Result: 'feature/my-branch' (no spaces)
yaml
parameters:
- name: branchName
  type: string
  default: ' feature/my-branch '

variables:
  # Remove leading/trailing whitespace
  cleanBranch: ${{ trim(parameters.branchName) }}
  # Result: 'feature/my-branch' (no spaces)

New Predefined Variables (Sprint 253)

新预定义变量(Sprint 253)

Build.StageRequestedBy

Build.StageRequestedBy

Who requested the stage execution:
yaml
stages:
- stage: Deploy
  jobs:
  - job: DeployJob
    steps:
    - script: |
        echo "Stage requested by: $(Build.StageRequestedBy)"
        echo "Stage requester ID: $(Build.StageRequestedById)"
      displayName: 'Log stage requester'

    # Use for approval notifications
    - task: SendEmail@1
      inputs:
        to: 'approvers@example.com'
        subject: 'Deployment requested by $(Build.StageRequestedBy)'
发起阶段执行的用户信息:
yaml
stages:
- stage: Deploy
  jobs:
  - job: DeployJob
    steps:
    - script: |
        echo "Stage requested by: $(Build.StageRequestedBy)"
        echo "Stage requester ID: $(Build.StageRequestedById)"
      displayName: 'Log stage requester'

    # Use for approval notifications
    - task: SendEmail@1
      inputs:
        to: 'approvers@example.com'
        subject: 'Deployment requested by $(Build.StageRequestedBy)'

Stage Dependencies Visualization (Sprint 254)

阶段依赖可视化(Sprint 254)

View stage dependencies when stage is expanded in pipeline UI:
yaml
stages:
- stage: Build
  jobs:
  - job: BuildJob
    steps:
    - script: echo "Building..."

- stage: Test
  dependsOn: Build  # Shown visually when expanded
  jobs:
  - job: TestJob
    steps:
    - script: echo "Testing..."

- stage: Deploy_USEast
  dependsOn: Test
  jobs:
  - job: DeployJob
    steps:
    - script: echo "Deploying to US East..."

- stage: Deploy_EUWest
  dependsOn: Test  # Parallel with Deploy_USEast - visualized clearly
  jobs:
  - job: DeployJob
    steps:
    - script: echo "Deploying to EU West..."
Benefits:
  • Visual dependency graph in UI
  • Easier debugging of complex pipelines
  • Clear multi-region deployment patterns
  • Identify parallel vs sequential stages
在管道UI中展开阶段时可查看阶段依赖关系:
yaml
stages:
- stage: Build
  jobs:
  - job: BuildJob
    steps:
    - script: echo "Building..."

- stage: Test
  dependsOn: Build  # Shown visually when expanded
  jobs:
  - job: TestJob
    steps:
    - script: echo "Testing..."

- stage: Deploy_USEast
  dependsOn: Test
  jobs:
  - job: DeployJob
    steps:
    - script: echo "Deploying to US East..."

- stage: Deploy_EUWest
  dependsOn: Test  # Parallel with Deploy_USEast - visualized clearly
  jobs:
  - job: DeployJob
    steps:
    - script: echo "Deploying to EU West..."
优势:
  • UI中的可视化依赖图
  • 更易于调试复杂管道
  • 清晰展示多区域部署模式
  • 区分并行与串行阶段

New OS Images

新操作系统镜像

Ubuntu-24.04 (General Availability)

Ubuntu-24.04(正式可用)

yaml
pool:
  vmImage: 'ubuntu-24.04'  # Latest LTS - Recommended
  # OR use ubuntu-latest (will map to 24.04 soon)
  # vmImage: 'ubuntu-latest'

steps:
- script: |
    lsb_release -a
    # Ubuntu 24.04 LTS (Noble Numbat)
Key Information:
  • Ubuntu 24.04 is now generally available
  • ubuntu-latest
    will soon map to
    ubuntu-24.04
    (currently
    ubuntu-22.04
    )
  • Ubuntu 20.04 fully removed April 30, 2025
yaml
pool:
  vmImage: 'ubuntu-24.04'  # Latest LTS - Recommended
  # OR use ubuntu-latest (will map to 24.04 soon)
  # vmImage: 'ubuntu-latest'

steps:
- script: |
    lsb_release -a
    # Ubuntu 24.04 LTS (Noble Numbat)
关键信息:
  • Ubuntu 24.04现已正式可用
  • ubuntu-latest
    很快将映射到
    ubuntu-24.04
    (当前为
    ubuntu-22.04
  • Ubuntu 20.04已于2025年4月30日完全移除

Windows Server 2025 (Coming June 2025)

Windows Server 2025(2025年6月推出)

yaml
pool:
  vmImage: 'windows-2025'  # GA: June 16, 2025

steps:
- pwsh: |
    Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion
Key Information:
  • General availability: June 16, 2025
  • windows-latest
    will map to
    windows-2025
    starting September 2, 2025
  • Windows Server 2019 extended support until December 31, 2025
yaml
pool:
  vmImage: 'windows-2025'  # GA: June 16, 2025

steps:
- pwsh: |
    Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion
关键信息:
  • 正式可用日期:2025年6月16日
  • 从2025年9月2日起,
    windows-latest
    将映射到
    windows-2025
  • Windows Server 2019的扩展支持将持续到2025年12月31日

macOS-15 Sequoia (Available)

macOS-15 Sequoia(已可用)

yaml
pool:
  vmImage: 'macOS-15'  # Sequoia

steps:
- script: |
    sw_vers
    # macOS 15.x (Sequoia)
Key Information:
  • macOS 13 Ventura deprecation starts September 1, 2025
  • macOS 13 retirement planned for December 4, 2025
  • Apple Silicon (ARM64) support in preview
yaml
pool:
  vmImage: 'macOS-15'  # Sequoia

steps:
- script: |
    sw_vers
    # macOS 15.x (Sequoia)
关键信息:
  • macOS 13 Ventura的弃用从2025年9月1日开始
  • macOS 13的退役计划于2025年12月4日实施
  • Apple Silicon(ARM64)支持处于预览阶段

⚠️ Deprecated and Retired Images

⚠️ 已弃用和退役的镜像

Fully Removed (2025):
  • Ubuntu 20.04 - Removed April 30, 2025
  • .NET 6 - Removed from Windows and Ubuntu images August 1, 2025
Extended Support:
  • Windows Server 2019 - Extended until December 31, 2025
    • Deprecation starts: June 1, 2025
    • Brownout periods: June 3-24, 2025
    • Final removal: December 31, 2025
Upcoming Deprecations:
  • macOS 13 Ventura - Deprecation: September 1, 2025, Retirement: December 4, 2025
Migration Recommendations:
yaml
undefined
已完全移除(2025年):
  • Ubuntu 20.04 - 2025年4月30日移除
  • .NET 6 - 2025年8月1日从Windows和Ubuntu镜像中移除
扩展支持:
  • Windows Server 2019 - 扩展支持至2025年12月31日
    • 弃用开始时间:2025年6月1日
    • 受限访问期:2025年6月3日-24日
    • 最终移除时间:2025年12月31日
即将到来的弃用:
  • macOS 13 Ventura - 弃用:2025年9月1日,退役:2025年12月4日
迁移建议:
yaml
undefined

Ubuntu Migration

Ubuntu迁移

OLD (Removed)

旧版(已移除)

pool: vmImage: 'ubuntu-20.04'
pool: vmImage: 'ubuntu-20.04'

NEW (Recommended)

新版(推荐)

pool: vmImage: 'ubuntu-24.04' # Best: explicit version

OR

vmImage: 'ubuntu-latest' # Will map to 24.04 soon
pool: vmImage: 'ubuntu-24.04' # 最佳选择:明确指定版本

vmImage: 'ubuntu-latest' # 很快将映射到24.04

Windows Migration

Windows迁移

OLD (Being deprecated)

旧版(即将弃用)

pool: vmImage: 'windows-2019'
pool: vmImage: 'windows-2019'

NEW (Recommended)

新版(推荐)

pool: vmImage: 'windows-2022' # Current stable

OR wait for

vmImage: 'windows-2025' # GA June 2025
undefined
pool: vmImage: 'windows-2022' # 当前稳定版

或等待

vmImage: 'windows-2025' # 2025年6月正式可用
undefined

GitHub Integration Improvements

GitHub集成改进

Auto-linked Pull Requests

自动关联拉取请求

GitHub branches linked to work items automatically link PRs:
yaml
undefined
与工作项关联的GitHub分支会自动关联拉取请求:
yaml
undefined

When PR is created for branch linked to work item,

当为关联工作项的分支创建PR时,

PR automatically appears in work item's Development section

PR会自动显示在工作项的开发部分

trigger: branches: include: - feature/* - users/*
trigger: branches: include: - feature/* - users/*

Work item auto-linking based on branch name pattern

根据分支名称模式自动关联工作项

AB#12345 in commits auto-links to work item 12345

提交信息中的AB#12345会自动关联到工作项12345

undefined
undefined

"Integrated in build" Links

"已集成到构建中"链接

GitHub repos show which build integrated the PR:
yaml
pr:
  branches:
    include:
    - main
    - develop
GitHub仓库会显示PR已集成到哪个构建中:
yaml
pr:
  branches:
    include:
    - main
    - develop

After PR merged, work item shows:

PR合并后,工作项会显示:

"Integrated in build: Pipeline Name #123"

"已集成到构建中:管道名称 #123"

Direct link to build that deployed the change

直接链接到部署该变更的构建

undefined
undefined

Stage-Level Variables

阶段级变量

yaml
stages:
- stage: Build
  variables:
    buildConfiguration: 'Release'
    platform: 'x64'
  jobs:
  - job: BuildJob
    steps:
    - script: echo "Building $(buildConfiguration) $(platform)"

- stage: Deploy
  variables:
    environment: 'production'
    region: 'eastus'
  jobs:
  - job: DeployJob
    steps:
    - script: |
        echo "Stage: $(System.StageName)"
        echo "Requested by: $(Build.StageRequestedBy)"
        echo "Deploying to $(environment) in $(region)"
yaml
stages:
- stage: Build
  variables:
    buildConfiguration: 'Release'
    platform: 'x64'
  jobs:
  - job: BuildJob
    steps:
    - script: echo "Building $(buildConfiguration) $(platform)"

- stage: Deploy
  variables:
    environment: 'production'
    region: 'eastus'
  jobs:
  - job: DeployJob
    steps:
    - script: |
        echo "Stage: $(System.StageName)"
        echo "Requested by: $(Build.StageRequestedBy)"
        echo "Deploying to $(environment) in $(region)"

Practical Examples

实用示例

Multi-Region Deployment with New Features

采用新功能的多区域部署

yaml
parameters:
- name: deployToProd
  type: boolean
  default: false

variables:
  # Use iif for conditional values
  targetEnvironment: ${{ iif(parameters.deployToProd, 'production', 'staging') }}

stages:
- stage: Build
  jobs:
  - job: BuildApp
    pool:
      vmImage: 'ubuntu-24.04'  # New image
    steps:
    - script: npm run build

- stage: Test
  dependsOn: Build
  jobs:
  - job: RunTests
    pool:
      vmImage: 'ubuntu-24.04'
    steps:
    - script: npm test

- stage: Deploy_USEast
  dependsOn: Test
  condition: succeeded()
  variables:
    region: 'eastus'
  jobs:
  - deployment: DeployToUSEast
    environment: ${{ variables.targetEnvironment }}
    pool:
      vmImage: 'ubuntu-24.04'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: |
              echo "Deploying to $(region)"
              echo "Requested by: $(Build.StageRequestedBy)"

- stage: Deploy_EUWest
  dependsOn: Test  # Parallel with Deploy_USEast
  condition: succeeded()
  variables:
    region: 'westeurope'
  jobs:
  - deployment: DeployToEUWest
    environment: ${{ variables.targetEnvironment }}
    pool:
      vmImage: 'ubuntu-24.04'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: |
              echo "Deploying to $(region)"
              echo "Requested by: $(Build.StageRequestedBy)"
yaml
parameters:
- name: deployToProd
  type: boolean
  default: false

variables:
  # 使用iif设置条件值
  targetEnvironment: ${{ iif(parameters.deployToProd, 'production', 'staging') }}

stages:
- stage: Build
  jobs:
  - job: BuildApp
    pool:
      vmImage: 'ubuntu-24.04'  # 新镜像
    steps:
    - script: npm run build

- stage: Test
  dependsOn: Build
  jobs:
  - job: RunTests
    pool:
      vmImage: 'ubuntu-24.04'
    steps:
    - script: npm test

- stage: Deploy_USEast
  dependsOn: Test
  condition: succeeded()
  variables:
    region: 'eastus'
  jobs:
  - deployment: DeployToUSEast
    environment: ${{ variables.targetEnvironment }}
    pool:
      vmImage: 'ubuntu-24.04'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: |
              echo "Deploying to $(region)"
              echo "Requested by: $(Build.StageRequestedBy)"

- stage: Deploy_EUWest
  dependsOn: Test  # 与Deploy_USEast并行
  condition: succeeded()
  variables:
    region: 'westeurope'
  jobs:
  - deployment: DeployToEUWest
    environment: ${{ variables.targetEnvironment }}
    pool:
      vmImage: 'ubuntu-24.04'
    strategy:
      runOnce:
        deploy:
          steps:
          - script: |
              echo "Deploying to $(region)"
              echo "Requested by: $(Build.StageRequestedBy)"

Stage dependencies visualized clearly in UI (Sprint 254)

阶段依赖关系在UI中清晰可视化(Sprint 254)

undefined
undefined

Continuous Access Evaluation (Sprint 260 - August 2025)

持续访问评估(Sprint 260 - 2025年8月)

Enhanced Security with CAE

借助CAE增强安全性

Azure DevOps now supports Continuous Access Evaluation (CAE), enabling near real-time enforcement of Conditional Access policies through Microsoft Entra ID.
Key Benefits:
  • Instant access revocation on critical events
  • No waiting for token expiration
  • Enhanced security posture
Triggers for Access Revocation:
  • User account disabled
  • Password reset
  • Location or IP address changes
  • Risk detection events
  • Policy violations
Example Scenario:
yaml
undefined
Azure DevOps现在支持持续访问评估(CAE),通过Microsoft Entra ID实现条件访问策略的近乎实时执行。
主要优势:
  • 关键事件发生时立即撤销访问权限
  • 无需等待令牌过期
  • 提升安全态势
访问撤销触发条件:
  • 用户账户被禁用
  • 密码重置
  • 位置或IP地址变更
  • 风险检测事件
  • 策略违规
示例场景:
yaml
undefined

Your pipeline with CAE enabled automatically

已自动启用CAE的管道

stages:
  • stage: Production jobs:
    • deployment: Deploy environment: 'production' pool: vmImage: 'ubuntu-24.04' strategy: runOnce: deploy: steps: - script: echo "Deploying..." # If user credentials are revoked mid-deployment, # CAE will instantly terminate access

**Implementation:**
- General availability: August 2025
- Phased rollout to all customers
- No configuration required (automatic for all Azure DevOps orgs)
- Works with Microsoft Entra ID Conditional Access policies

**Security Improvements:**
- Immediate response to security events
- Reduces attack window from hours/days to seconds
- Complements existing security features (Key Vault, branch policies, etc.)
stages:
  • stage: Production jobs:
    • deployment: Deploy environment: 'production' pool: vmImage: 'ubuntu-24.04' strategy: runOnce: deploy: steps: - script: echo "Deploying..." # 如果在部署过程中用户凭证被撤销, # CAE会立即终止访问权限

**实施细节:**
- 正式可用:2025年8月
- 分阶段向所有客户推出
- 无需配置(对所有Azure DevOps组织自动生效)
- 与Microsoft Entra ID条件访问策略兼容

**安全改进:**
- 对安全事件做出即时响应
- 将攻击窗口从数小时/天缩短至数秒
- 补充现有安全功能(Key Vault、分支策略等)

OAuth Apps Deprecation (April 2025)

OAuth应用弃用(2025年4月)

Important Change:
  • Azure DevOps no longer supports new registrations of Azure DevOps OAuth apps (effective April 2025)
  • First step towards retiring the Azure DevOps OAuth platform
  • Existing OAuth apps continue to work
  • Plan migration to Microsoft Entra ID authentication
Migration Recommendations:
yaml
undefined
重要变更:
  • Azure DevOps不再支持新的Azure DevOps OAuth应用注册(自2025年4月起生效)
  • 这是淘汰Azure DevOps OAuth平台的第一步
  • 现有OAuth应用可继续使用
  • 计划迁移到Microsoft Entra ID认证
迁移建议:
yaml
undefined

Use service connections with Microsoft Entra ID instead

改用基于Microsoft Entra ID的服务连接

  • task: AzureCLI@2 inputs: azureSubscription: 'service-connection' # Uses Managed Identity or Service Principal scriptType: 'bash' scriptLocation: 'inlineScript' addSpnToEnvironment: true inlineScript: | az account show
undefined
  • task: AzureCLI@2 inputs: azureSubscription: 'service-connection' # 使用托管标识或服务主体 scriptType: 'bash' scriptLocation: 'inlineScript' addSpnToEnvironment: true inlineScript: | az account show
undefined

SNI Requirement (April 2025)

SNI要求(2025年4月)

Network Requirement:
  • Server Name Indication (SNI) required on all incoming HTTPS connections
  • Effective: April 23, 2025
  • Affects all Azure DevOps Services connections
What to Check:
  • Ensure clients support SNI (most modern clients do)
  • Update legacy tools/scripts if needed
  • Test connectivity before April 23, 2025
网络要求:
  • 所有传入的HTTPS连接都需要服务器名称指示(SNI)
  • 生效时间:2025年4月23日
  • 影响所有Azure DevOps服务连接
需要检查的内容:
  • 确保客户端支持SNI(大多数现代客户端都支持)
  • 如有需要,更新旧版工具/脚本
  • 在2025年4月23日前测试连接性

OAuth Apps Deprecation (Sprint 261 - September 2025)

OAuth应用弃用(Sprint 261 - 2025年9月)

Critical Security Change:
Azure DevOps is enforcing one-time visibility for OAuth client secrets:
  • Newly generated client secrets displayed only once at creation
  • Get Registration Secret API will be retired
  • Change effective: September 2, 2025
  • No new OAuth app registrations allowed
Migration Path:
yaml
undefined
重要安全变更:
Azure DevOps将强制实施OAuth客户端密钥的一次性可见性:
  • 新生成的客户端密钥仅在创建时显示一次
  • Get Registration Secret API将被淘汰
  • 变更生效时间:2025年9月2日
  • 不允许新的OAuth应用注册
迁移路径:
yaml
undefined

Replace OAuth apps with Microsoft Entra ID authentication

用Microsoft Entra ID认证替换OAuth应用

Use service connections with Managed Identity or Service Principal

使用托管标识或服务主体的服务连接

  • task: AzureCLI@2 inputs: azureSubscription: 'entra-id-service-connection' scriptType: 'bash' addSpnToEnvironment: true inlineScript: | az account show # Authenticated via Entra ID

**Action Required:**
- Audit existing OAuth apps
- Plan migration to Entra ID authentication
- Update CI/CD pipelines to use service connections
- Document secret rotation procedures
  • task: AzureCLI@2 inputs: azureSubscription: 'entra-id-service-connection' scriptType: 'bash' addSpnToEnvironment: true inlineScript: | az account show # 通过Entra ID认证

**需执行的操作:**
- 审核现有OAuth应用
- 规划迁移到Entra ID认证
- 更新CI/CD管道以使用服务连接
- 记录密钥轮换流程

Agent Software Version 4 (October 2024 - Current)

Agent软件版本4(2024年10月 - 当前)

Major Upgrade:
The Azure Pipelines agent has been upgraded from v3.x to v4.x, powered by .NET 8:
Key Improvements:
  • Built on .NET 8 for better performance and security
  • Extended platform support including ARM64
  • Improved reliability and diagnostics
  • Better resource management
Platform Support:
  • Linux: Debian 11 & 12, Ubuntu 24.04, 22.04, 20.04 (ARM64 supported)
  • macOS: Intel and Apple Silicon (ARM64 supported)
  • Windows: Windows Server 2019, 2022, 2025
ARM64 Support:
yaml
undefined
重大升级:
Azure Pipelines代理已从v3.x升级到v4.x,基于.NET 8构建:
主要改进:
  • 基于.NET 8构建,性能和安全性更优
  • 扩展平台支持,包括ARM64
  • 提升可靠性和诊断能力
  • 改进资源管理
平台支持:
  • Linux: Debian 11 & 12,Ubuntu 24.04、22.04、20.04(支持ARM64)
  • macOS: Intel和Apple Silicon(支持ARM64)
  • Windows: Windows Server 2019、2022、2025
ARM64支持:
yaml
undefined

Self-hosted ARM64 agent

自托管ARM64代理

pool: name: 'arm64-pool' demands: - agent.os -equals Linux - Agent.OSArchitecture -equals ARM64
steps:
  • script: uname -m displayName: 'Verify ARM64 architecture'

**Note:** ARM64 support is available for self-hosted agents. Microsoft-hosted ARM64 macOS agents are in preview.
pool: name: 'arm64-pool' demands: - agent.os -equals Linux - Agent.OSArchitecture -equals ARM64
steps:
  • script: uname -m displayName: '验证ARM64架构'

**注意:** ARM64支持适用于自托管代理。微软托管的ARM64 macOS代理处于预览阶段。

Sprint 262 - GitHub Copilot Integration (2025)

Sprint 262 - GitHub Copilot集成(2025年)

AI-Powered Work Item Assistance (Private Preview):
Connect Azure Boards work items directly with GitHub Copilot:
Capabilities:
  • Send work items to Copilot coding agent
  • AI-assisted bug fixes
  • Automated feature implementation
  • Test coverage improvements
  • Documentation updates
  • Technical debt reduction
Usage Pattern:
  1. Create work item in Azure Boards
  2. Add detailed requirements in description
  3. Send to GitHub Copilot
  4. Copilot generates code changes
  5. Review and merge via standard PR process
Integration with Pipelines:
yaml
undefined
AI驱动的工作项辅助功能(私有预览):
将Azure Boards工作项直接与GitHub Copilot连接:
功能:
  • 将工作项发送到Copilot编码Agent
  • AI辅助修复bug
  • 自动实现功能
  • 提升测试覆盖率
  • 更新文档
  • 减少技术债务
使用流程:
  1. 在Azure Boards中创建工作项
  2. 在描述中添加详细需求
  3. 发送到GitHub Copilot
  4. Copilot生成代码变更
  5. 通过标准PR流程审核并合并
与管道的集成:
yaml
undefined

Work items auto-link with PRs

工作项自动与PR关联

trigger: branches: include: - feature/*
trigger: branches: include: - feature/*

Mention work item in commit

在提交信息中提及工作项

Example: "Fix login bug AB#12345"

示例:"修复登录bug AB#12345"

Automatically links PR to work item and tracks in build

自动将PR关联到工作项并在构建中跟踪

undefined
undefined

Resources

资源