This issue tracks the implementation of an integration for Azure DevOps in Elsa Workflows. The module should allow workflows to interact with Azure DevOps, supporting Git repositories, pull requests, work items, and builds (and optionally pipelines), in line with the structure used for the GitHub integration.
Tasks
- Create a new module:
Elsa.DevOps.AzureDevOps
- Implement Workflow Activities:
- Repositories
- GetRepository – Retrieves details of a Git repository.
- GetBranch – Retrieves details of a specific branch.
- ListBranches – Lists branches in a repository.
- Pull Requests
- GetPullRequest – Retrieves details of a pull request.
- CreatePullRequest – Creates a new pull request.
- ListPullRequests – Lists pull requests in a repository.
- Work Items
- GetWorkItem – Retrieves a work item by ID.
- CreateWorkItem – Creates a new work item (Task, Bug, User Story, etc.).
- UpdateWorkItem – Updates an existing work item.
- QueryWorkItems – Queries work items using WIQL.
- Builds
- GetBuild – Retrieves a build by ID.
- ListBuilds – Lists builds in a project (with optional filters).
- QueueBuild – Queues a new build.
- Triggers (optional / future)
- Event-driven triggers (e.g. when a PR or work item is updated) would require Azure DevOps Service Hooks or webhooks; can be stubbed like
GitHubTriggerActivity with NotImplementedException for now.
- Add input validation (e.g. via
CanExecuteAsync) so missing or invalid inputs are reported clearly.
- Add Documentation (
README.md) with installation, registration, authentication, and activity list.
References
Notes
- Follow the same structure and patterns as
Elsa.DevOps.GitHub (base activity with org URL + token, connection factory, feature registration, UseAzureDevOps() extension).
- Authentication via organization URL (e.g.
https://dev.azure.com/{org}) and personal access token (PAT); document required PAT scopes (Code, Work Items, Build) per activity.
- Works for both Azure DevOps Services (dev.azure.com) and Azure DevOps Server (on-prem) via the organization URL.
- Use SDK types for outputs (e.g.
GitRepository, GitPullRequest, WorkItem, Build) for strong typing in workflows and designer.
Contributor Guidelines
If you're interested in working on this issue:
- Comment below to claim it.
- Follow the CONTRIBUTING.md guide.
- Submit a PR referencing this issue.
This issue tracks the implementation of an integration for Azure DevOps in Elsa Workflows. The module should allow workflows to interact with Azure DevOps, supporting Git repositories, pull requests, work items, and builds (and optionally pipelines), in line with the structure used for the GitHub integration.
Tasks
Elsa.DevOps.AzureDevOpsGitHubTriggerActivitywithNotImplementedExceptionfor now.CanExecuteAsync) so missing or invalid inputs are reported clearly.README.md) with installation, registration, authentication, and activity list.References
Notes
Elsa.DevOps.GitHub(base activity with org URL + token, connection factory, feature registration,UseAzureDevOps()extension).https://dev.azure.com/{org}) and personal access token (PAT); document required PAT scopes (Code, Work Items, Build) per activity.GitRepository,GitPullRequest,WorkItem,Build) for strong typing in workflows and designer.Contributor Guidelines
If you're interested in working on this issue: