CopyPublishBuildArtifacts@1 is retired: replace it with CopyFiles@2 and PublishBuildArtifacts@1
The short answer
- Retirement date
- Removal date
- . Pipelines that still use it fail after removal.
- Replacement
CopyFiles@2andPublishBuildArtifacts@1- Kind of migration
- manual migration
- Automatic rewrite
- No. This task needs a manual migration. trasloco modernize --check still finds the step.
- Recommended action
- Migrate this step manually to CopyFiles@2 and PublishBuildArtifacts@1, reviewing the documented behavior and input differences.
Official sources
- Official task retirement announcement
- Task definition: CopyPublishBuildArtifacts (task.json)
- Task definition: CopyFilesV2 (task.json)
- Task definition: PublishBuildArtifactsV1 (task.json)
Last verified:
Why does my pipeline show a retirement error for CopyPublishBuildArtifacts@1?
On , Azure Pipelines shows a retirement error for CopyPublishBuildArtifacts@1, but the run does not fail. On , pipelines that still use CopyPublishBuildArtifacts@1 fail.
Find it in your pipelines
With trasloco:
trasloco modernize --check
Install trasloco from the latest release.
With plain grep, nothing to install:
grep -rniwF 'CopyPublishBuildArtifacts@1' --include='*.yml' --include='*.yaml' .
How to migrate
Migrate this step manually to CopyFiles@2 and PublishBuildArtifacts@1, reviewing the documented behavior and input differences.
The task definition of the replacement is linked under official sources above.
CopyPublishBuildArtifacts@1 retirement FAQ
Is CopyPublishBuildArtifacts@1 deprecated?
Yes. CopyPublishBuildArtifacts@1 is retired on 2026-10-15. Azure Pipelines shows a retirement error, but the run does not fail until removal.
When does CopyPublishBuildArtifacts@1 stop working?
CopyPublishBuildArtifacts@1 is removed on 2027-03-15. Pipelines that still use it fail after removal.
What should I use instead of CopyPublishBuildArtifacts@1?
Replace CopyPublishBuildArtifacts@1 with CopyFiles@2 and PublishBuildArtifacts@1.
Related retired tasks
- AndroidBuild@1 — manual migration
- AndroidSigning@1 — manual migration
- AndroidSigning@2 — manual migration
- AzureCLI@0 — manual migration
- AzureMonitor@0 — manual migration
- CopyFiles@1 — drop-in replacement