Post

Gate Copilot Studio agent merges with automated Azure DevOps evaluations

Diesen Beitrag auf Deutsch lesen

Use the Copilot Studio Evaluation API and Azure DevOps to test draft agents from source and block pull requests when quality drops.

A four step flow shows EvalGateADO packing the PR source with pac, importing it into a dedicated CI environment, running Evaluation API tests on the draft agent, and blocking the Azure DevOps merge if the pass threshold is missed.
Schematic view of the steps described by The Custom Engine, not a screenshot.

TL;DR

The Copilot Studio Evaluation API runs test sets against draft agents and returns metric-level results. The EvalGateADO pipeline packs the PR source with pac, imports it into a dedicated CI environment, evaluates the draft, and blocks the Azure DevOps merge when the configurable pass-rate threshold is not met.

Original by Adi Leibowitz, on The Custom Engine. Read the original

This is our own summary, not a republication or full translation.

Governance takeaway

  • Makers: Commit the agent source and test sets with each change, because the pipeline evaluates the PR branch rather than uncommitted sandbox changes.
  • Admins/CoE: Provide a dedicated CI environment and configure the pipeline import process, so automated tests run against a consistent runtime target.
  • Security/Compliance: Protect the delegated authentication refresh token in Key Vault and monitor its inactivity-based expiry, because the Evaluation API has no app-only authentication path.
  • Leadership/Business: Require the evaluation gate before merging agent changes, so quality failures are identified during review instead of after production release.

Frequently asked questions

How does the Copilot Studio Evaluation API test draft agents in Azure DevOps?

The Evaluation API triggers runs against draft Copilot Studio agents, polls completion, and returns metric-level results for each test case.

What does EvalGateADO pack before testing a Copilot Studio agent?

EvalGateADO packs the PR branch's src folder into an unmanaged solution, then imports it into a dedicated CI Dev environment.

How does Azure DevOps block a Copilot Studio pull request when evaluations fail?

The pipeline compares passed tests with a configurable pass threshold and exits unsuccessfully when the rate is lower, blocking the merge.

This post is licensed under CC BY 4.0 by the author.