Copilot によるコードレビュー、GitHub Copilotの自動修正、macOS パイプライン エージェント向けの Apple Silicon

このスプリントでは、コードの品質、セキュリティ、ビルドの機能を強化するために設計された新機能をプレビューでリリースします。 Azure Repos用のCopilotを利用したコード レビュー (限定パブリック プレビュー) により、AI 支援の分析情報がプル要求に直接取り込まれます。チームは問題を特定し、コードをより効率的に改善するのに役立ちます。 GitHub Copilotコード スキャン用の自動修正 (限定パブリック プレビュー) は、検出された脆弱性の修正プログラムを自動的に提案することで、セキュリティをさらに強化します。 さらに、macOS パイプライン エージェント (従量課金制プレビュー) に対する Apple Silicon (ARM64) のサポートにより、ビルド オプションが拡張され、パフォーマンスと柔軟性が向上したネイティブ macOS ワークロードが可能になります。 これらのプレビュー機能は、Azure DevOpsで次世代の開発者の生産性とプラットフォームのサポートを探索する機会を提供します。

詳細については、リリース ノートを参照してください。

GitHub Advanced Security for Azure DevOps

Azure Boards

Azure Pipelines

Azure Repos

GitHub Advanced Security for Azure DevOps

コードスキャン向け GitHub Copilot Autofix(限定パブリックプレビュー)

GitHub Copilot自動修正は、GitHub Advanced Security for Azure DevOps の限定パブリック プレビューで使用できるようになりました。 Copilot自動修正では、CodeQL コード スキャン アラートが分析され、修正プログラムを含むプル要求が自動的に作成され、対象となるコード修正が提案されます。 開発者は、推奨される修正プログラムを確認し、プル要求をマージすることで、セキュリティの脆弱性の修復に費やす時間を短縮できます。

Azure DevOps 向け GitHub Advanced Security のコード スキャン用 Copilot Autofix

参加に関心がある組織は、プレビューにサインアップし、承認されたら、組織とリポジトリに対して Copilot Autofix を有効にすることができます。

詳細については、Copilot によるコード スキャンの自動修正(プレビュー)を参照してください。

CodeQL の既定のセットアップロールアウトが完了しました

コード スキャン用の CodeQL の既定のセットアップのパブリック プレビューロールアウトが完了し、Azure DevOpsのお客様のすべてのGitHub Advanced Security で使用できるようになりました。 CodeQL の既定のセットアップを使用すると、手動でパイプラインを構成しなくても、リポジトリのコード スキャンを有効にすることができます。 有効にすると、CodeQL はAzure Pipelinesを使用してコードを自動的にスキャンし、リポジトリアラートにセキュリティの脆弱性を表示します。

開始するには、「 コード スキャンの構成」を参照してください。

プル要求の高度なセキュリティ状態チェック (一般提供)

プル要求の高度なセキュリティ状態チェックが一般公開されました。 構成可能な AdvancedSecurity/NewHighAndCriticalAdvancedSecurity/AllHighAndCritical ブランチ ポリシーを使用して、重大度の高いアラートまたは重大な重大度アラートが検出されたときにプル要求の完了をブロックし、チームが保護されたブランチに新しい脆弱性が到達するのを防ぎます。

詳細については、「 状態チェックをブランチ ポリシーとして構成する」を参照してください。

アラートを表示するためのビルド ID アクセスが削除されています

Sprint 269: Advanced Security API 向けに制限されたビルド ID アクセス で最初に導入された変更に続き、Advanced Security アラートを表示するためにビルド ID サービスに付与されていた権限の削除を完了します。 この変更は、2026 年 7 月 1 日からロールアウトされ、2026 年 7 月 15 日に終了します。

ロールアウトが完了すると、ビルド サービス アカウントを使用してパイプラインゲーティングのアラートを表示することはできません。 パイプラインがビルド サービス アカウントに依存してアラートを読み取り、ビルドをゲートする場合は、高度なセキュリティ状態チェックに移動します。これによって、新しい重大度の高いアラートまたは重大な重大度アラートが検出されたときに、チームがプル要求の完了をブロックするネイティブな方法が提供されます。

次の手順については、「 状態チェックをブランチ ポリシーとして構成する」を参照してください。 この変更の詳細については、「 ビルド ID が Advanced Security の読み取りアラートに再度アクセスできる」を参照してください。

Azure Boards

コーディング エージェント モデルの選択オプション

作業項目でCopilotコーディング エージェントを使用する場合、特にカスタム命令またはカスタム エージェントを使用する場合は、モデルによって結果が異なる場合があります。

作業項目から pull request を作成するときにコーディング エージェントが使用するモデルを選択できるようになりました。これにより、チームとコードベースに最適な機能をより詳細に制御できます。

Azure Boardsのコーディング エージェント モデル選択オプション

Azure Pipelines

GitHub リポジトリから PR 検証を実行する際の、よりきめ細かなコメント要件

承認されていない使用からパイプラインを保護するために、pull request 検証の実行を開始する前に、チーム メンバーまたは共同作成者からのコメントを要求できます。

このスプリントの前に、コメントの要件は、同じリポジトリ内とフォークの両方から要求をプルするために適用されました。 フォークからの pull request に対してのみチーム メンバーのコメントを要求する場合、それは不可能でした。

このスプリントを開始すると、pull request ソースごとに個別にコメント要件を構成できます。 次の例では、リポジトリ フォークから送信された pull request に対してのみコメントが必要です。

リポジトリのフォークからのビルド プル要求を示す画像。

Microsoft Entra認証を使用してAzure DevOpsにアクセスする

新しいAzure DevOps サービス接続を使用して、個人用アクセス トークン (AT) またはセッション トークンではなく、Microsoft Entra ワークロード ID (サービス プリンシパルまたはマネージド ID) を使用してAzure DevOpsにアクセスできるようになりました。

Azure DevOps サービス接続を使用すると、いくつかの方法でパイプラインのセキュリティが向上します。

  • 最小権限: 広範な共有 ビルド サービス アカウントのアクセス許可 ではなく、サービス接続のスコープ付きアクセス許可を使用する
  • PAT なしの認証: 個人用アクセス トークンを作成、格納、ローテーションする必要がなくなります
  • 永続的なシークレットなし: パスワードの代わりにフェデレーション資格情報Microsoft Entra使用する
  • 監査証跡: 認証の試行は Azure DevOps の監査ログに記録されます

Azure DevOps サービス接続の構成

Azure DevOps サービス接続を作成するには、まず、サービス プリンシパルまたはマネージド ID をユーザーとして組織に追加し、アクセス許可を割り当てる必要があります。

サービス接続を作成するには、Azure DevOps (プレビュー) を選択します。

新しいサービス接続の種類を示すスクリーンショット。

使用する ID として、先ほど作成したサービス プリンシパルまたはマネージド ID を選択します。

サービス接続の構成を示すスクリーンショット。

ID に、組織で必要となるアクセス許可を割り当てる必要があります。 これを行うには、現在の組織でのアクセスを表示 リンクをたどり、たとえば現在のプロジェクトの閲覧者グループに追加します。

hservice 接続の詳細を示すスクリーンショット

新しいAzure DevOps サービス接続の使用

別の組織のリポジトリをチェックアウトするには:

resources:
  repositories:
  - repository: external-repo
    type: git
    endpoint: my-azdo-connection
    name: 'external-project/external-repo'
    ref: 'refs/heads/main'

steps:
- checkout: self
- checkout: external-repo

別の組織から YAML テンプレートを参照するには:

resources:
  repositories:
    - repository: templates 
      type: git
      endpoint: my-azdo-connection
      name: 'external-project/external-repo'
      ref: "refs/heads/main"    
      
steps:
- template: azdosc-template.yml@templates

認証タスクのいずれかを使用して成果物フィードにアクセスするには:

- task: NuGetAuthenticate@1
  inputs:
    nuGetServiceConnections: 'my-azdo-connection'

- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.csproj'

スクリプトでの新しいAzure DevOps サービス接続の使用

新しいAzureCLI@3 タスクを使用すると、さまざまな方法で Entra 認証を使用してAzure DevOpsにアクセスできます。 いずれの場合も、connectionType: 'azureDevOps'を設定し、作成したAzure DevOpsサービス接続にazureDevOpsServiceConnectionを割り当てることで、サービス接続を構成します。

- task: AzureCLI@3
  inputs:
    connectionType: 'azureDevOps'
    azureDevOpsServiceConnection: 'my-azdo-connection'

これにより、Azure DevOps CLI を使用して、Entra ID認証済みセッションが作成されます。

- task: AzureCLI@3
  displayName: Secret-less
  inputs:
    connectionType: 'azureDevOps'
    azureDevOpsServiceConnection: 'my-azdo-connection'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: |
      az devops configure -l

      az devops project list --query "value[].{Name:name, Id:id}" `
                            -o table

      az pipelines pool list --query "[].{Id:id, Name:name}" `
                            -o table

      az rest --method get `
              --url "https://status.dev.azure.com/_apis/status/health?api-version=7.1-preview.1" `
              --resource 499b84ac-1321-427f-aa17-267ca6975798 `
              --query "sort_by(services[?id=='Pipelines'].geographies | [], &name)" `
              -o table

トークンが必要な場合(たとえば、スクリプトで PAT またはSystem.AccessTokenインラインを使用する既存のスクリプトがある場合は、Azure DevOpsにアクセスするために使用できる Entra アクセス トークンを取得する方法もあります。

- task: AzureCLI@3
  displayName: Use Entra access token
  inputs:
    connectionType: 'azureDevOps'
    azureDevOpsServiceConnection: 'my-azdo-connection'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: |
      # Get access token for Azure DevOps
      $token = az account get-access-token --resource "499b84ac-1321-427f-aa17-267ca6975798" `
                                           --query "accessToken" `
                                           --output tsv
      
      # Use token in REST API call
      $headers = @{
        Authorization = "Bearer $token"
        "Content-Type" = "application/json"
      }
      
      $body = @{
        name = "Test Build"
      } | ConvertTo-Json
      
      Invoke-RestMethod -Uri "$(System.CollectionUri)$(System.TeamProject)/_apis/build/definitions?api-version=7.1" `
                        -Method POST `
                        -Headers $headers `
                        -Body $body

詳細情報

Azure DevOps サービス接続を構成する方法の詳細については、ドキュメントを参照してください

macOS パイプライン エージェント向け Apple Silicon(従量課金プレビュー)

Apple Silicon macOS エージェントをパブリック プレビューとしてAzure Pipelinesで利用できるようにしています。 Apple Silicon 以降では、GitHub Actionsで使用できる同じサイズの一部をAzure Pipelinesに引き継ぐ予定です。

オペレーティング システム ハードウェアの仕様 Image YAML VM イメージ ラベル プール
macOS 26 Standard macOS 26 arm64 macos-26-arm64 GitHubホストされるエージェント
macOS 26 エクストララージ macOS 26 arm64 XL macos-26-arm64-xl GitHubホストされるエージェント

これらのエージェントは、エージェントのサイズに関連付けられた分単位の料金で従量課金制の価格を使用します。 価格を参照してください。

新しいエージェントを使用するには、課金設定でGitHubホストされるエージェントを有効にします。

従量課金制の価格を有効にする方法を示すスクリーンショット。

これにより、従量課金制エージェントに使用される新しいGitHubホストされるエージェント プールがプロビジョニングされます。

Apple Silicon イメージを使用する

プロビジョニングが完了したら、Apple Silicon macos-26-arm64 イメージを次のように使用できます。

pool:
  name: 'GitHub-hosted Agents'
  vmImage: 'macos-26-arm64'
steps:
- bash: |
    echo Hello from macOS Tahoe arm64
    uname -a
    sw_vers

さらに強力な macos-26-arm64-xl 画像については、次のようになります。

pool:
  name: 'GitHub-hosted Agents'
  vmImage: 'macos-26-arm64-xl'
steps:
- bash: |
    echo Hello from XL macOS Tahoe arm64
    uname -a
    hostinfo | grep memory

1 分あたりの使用状況の監視

従量課金制エージェントは、1 分あたりに課金されます。 使用した分数を監視するために、GitHubホストされているエージェント プールの更新された分析タブでは、プロジェクトごとに使用された分数を表示し、イメージをフィルター処理して、エージェント SKU とパイプラインをドリルダウンします。

[分析] タブの使用方法を示すスクリーンショット。

Azure Cost Managementでは、使用分数を追跡し、Azure DevOps組織とプロジェクト別の使用状況を分解できます。

従量課金制のコストを監視する方法を示すスクリーンショット。

予算とアラートのAzure Cost Managementサポートを利用して、支出を予測および監視できます。

詳細情報

Apple Silicon エージェントとエージェントの仕様を有効にする方法の詳細については、GitHubホストされるエージェントのドキュメントを参照してください

Azure Repos

Azure Repos 向けの Copilot コード レビュー (限定公開のパブリック プレビュー)

GitHub Copilotは、Azure Reposでプル要求を直接確認できるようになりました。 プル要求をレビューする準備ができたら、開発者はCopilotレビューを要求して、提案された変更を分析し、潜在的なバグ、コード品質の問題、保守容易性の問題を特定できます。

フィードバックは pull request で直接提供され、チームが以前に問題をキャッチし、マージする前にコードの品質を向上させることができます。

Azure ReposでCopilotコード レビューを要求する

この機能は、限定されたパブリック プレビューを通じて利用できます。 参加に関心がある組織は、プレビューにサインアップし、承認されたら、組織とリポジトリのCopilotコード レビューを有効にすることができます。

ブランチ比較ページでコミット比較を有効にする

ブランチ比較ページのバージョン ピッカーから SHA によるコミットを直接検索して選択できるようになりました。

以前は、コミットを比較する場合は、URL を手動で構築する必要があります。 バージョン ピッカーの新しい [ コミット ] タブでは、コミットとブランチからコミットの比較を UI で直接使用できます。

ブランチ比較ページでのコミット比較

次のステップ

これらの機能は、今後 2 ~ 3 週間にわたってロールアウトされます。 Azure DevOpsに向かい、見てみましょう。

フィードバックの提供方法

これらの機能についてご意見をお聞かせください。 ヘルプ メニューを使用して、問題を報告したり、提案を提供したりします。

提案を行う

Stack Overflow のコミュニティからアドバイスや質問に回答してもらうこともできます。