Azure Pipelines Tasks Source Code
The source code for Azure DevOps built-in pipeline tasks lives in microsoft/azure-pipelines-tasks.
Finding Task Source Code
Tasks are in Tasks/<TaskName>V<Version>/ directories. The naming convention is:
Tasks/AzureCLIV2/→ AzureCLI@2Tasks/DotNetCoreCLIV2/→ DotNetCoreCLI@2Tasks/PublishBuildArtifactsV1/→ PublishBuildArtifacts@1
Key Files in Each Task
| File | Purpose |
|------|---------|
| task.json | Task definition: inputs, outputs, execution entry point |
| *.ts or *.ps1 | Main implementation (check task.json for entry point) |
| Strings/resources.resjson/en-US/resources.resjson | User-facing strings and error messages |
| Tests/ | Unit tests showing expected behavior |
Workflow
- Identify the task name and version from the pipeline YAML (e.g.,
AzureCLI@2) - Search the repo for the task directory:
gh api repos/microsoft/azure-pipelines-tasks/contents/Tasks/<TaskName>V<Version> - Read
task.jsonto find the execution entry point - Read the implementation file to understand behavior
Example: Finding AzureCLI@2 Implementation
# Get task definition
gh api repos/microsoft/azure-pipelines-tasks/contents/Tasks/AzureCLIV2/task.json
# Get main implementation
gh api repos/microsoft/azure-pipelines-tasks/contents/Tasks/AzureCLIV2/azureclitask.ts
Searching for Specific Behavior
Use GitHub code search to find where specific logic is implemented:
repo:microsoft/azure-pipelines-tasks path:Tasks/<TaskName> <search_term>