This is an automated email from the ASF dual-hosted git repository.

hez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 20bc6ca026 doc: Add Azure Devops doc (#504)
20bc6ca026 is described below

commit 20bc6ca02669e0e6b71c0a7c4d21410a2dc0d741
Author: Camille Teruel <[email protected]>
AuthorDate: Thu May 4 03:52:05 2023 +0200

    doc: Add Azure Devops doc (#504)
---
 docs/Configuration/AzureDevOps.md                  |  61 +++++++
 .../images/azuredevops-create-a-connection.png     | Bin 0 -> 400983 bytes
 .../images/azuredevops-set-data-scope.png          | Bin 0 -> 274513 bytes
 .../images/azuredevops-set-transformation.png      | Bin 0 -> 337031 bytes
 docs/Overview/SupportedDataSources.md              | 185 +++++++++++----------
 docs/Plugins/azuredevops.md                        |  67 ++++++++
 6 files changed, 226 insertions(+), 87 deletions(-)

diff --git a/docs/Configuration/AzureDevOps.md 
b/docs/Configuration/AzureDevOps.md
new file mode 100644
index 0000000000..6f2b3116d0
--- /dev/null
+++ b/docs/Configuration/AzureDevOps.md
@@ -0,0 +1,61 @@
+---
+title: "Azure DevOps"
+sidebar_position: 5
+description: Config UI instruction for Azure DevOps
+---
+
+Visit Config UI at: `http://localhost:4000`.
+
+## Step 1 - Add Data Connections
+
+![azuredevops-create-a-connection](images/azuredevops-create-a-connection.png)
+
+### Connection Name
+
+Give your connection a unique name to help you identify it in the future.
+
+### Token
+
+Paste your Azure DevOps personal access token (PAT) here. You can click on 
"Learn about how to create a PAT" to get instructions on how to create a PAT.
+Make sure that the Organization field is set to "All accessible organizations" 
when creating the PAT.
+
+### Test and Save Connection
+
+Click `Test Connection`, if the connection is successful, click `Save 
Connection` to add the connection.
+
+## Step 2 - Setting Data Scope
+
+![azuredevops-set-data-scope](images/azuredevops-set-data-scope.png)
+
+### Select repositories
+
+Select the repositories you want to collect data from.
+
+### Data Entities
+
+Azure DevOps supports the following data entities.
+
+- CI/CD: builds and jobs.
+- Source Code Management: repositories and their commits.
+- Code Review: pull requests and their commits.
+
+
+## Step 3 - Adding Transformation Rules (Optional)
+
+![azuredevops-set-transformation](images/azuredevops-set-transformation.png)
+
+This set of configurations is used for calculating [DORA metrics](../DORA.md).
+
+If you'd like to define `deployments` with Azure DevOps, you can set the 
following options:
+- Deployment regex: Azure DevOps builds or jobs whose names match this regex 
will be registered as deployments
+- Production: Azure DevOps builds or jobs whose names match this regex will be 
assigned environment 'PRODUCTION'
+
+### Additional Settings (Optional)
+
+The additional settings are RefDiff options:
+- Tags Limit: the number of tags to compare.
+- Tags Pattern: Only tags that match the given regex are taken into account.
+
+## Troubleshooting
+
+If you run into any problem, please check the 
[Troubleshooting](/Troubleshooting/Configuration.md) or [create an 
issue](https://github.com/apache/incubator-devlake/issues)
diff --git a/docs/Configuration/images/azuredevops-create-a-connection.png 
b/docs/Configuration/images/azuredevops-create-a-connection.png
new file mode 100644
index 0000000000..042c1f4f78
Binary files /dev/null and 
b/docs/Configuration/images/azuredevops-create-a-connection.png differ
diff --git a/docs/Configuration/images/azuredevops-set-data-scope.png 
b/docs/Configuration/images/azuredevops-set-data-scope.png
new file mode 100644
index 0000000000..37b4f8cdfe
Binary files /dev/null and 
b/docs/Configuration/images/azuredevops-set-data-scope.png differ
diff --git a/docs/Configuration/images/azuredevops-set-transformation.png 
b/docs/Configuration/images/azuredevops-set-transformation.png
new file mode 100644
index 0000000000..08193931d7
Binary files /dev/null and 
b/docs/Configuration/images/azuredevops-set-transformation.png differ
diff --git a/docs/Overview/SupportedDataSources.md 
b/docs/Overview/SupportedDataSources.md
index 27ea6d7a29..7f31b71ff8 100644
--- a/docs/Overview/SupportedDataSources.md
+++ b/docs/Overview/SupportedDataSources.md
@@ -9,21 +9,22 @@ sidebar_position: 5
 
 Apache DevLake(incubating) supports the following data sources. The data from 
each data source is collected with one or more plugins. Detailed plugin docs 
can be found [here](/docs/Plugins).
 
-| Data Source      | Domain(s)                                                 
   | Supported Versions                 | Config UI Availability  | Triggered 
Plugins           | Collection Mode                                             
 |
-| ---------------- | 
------------------------------------------------------------ | 
---------------------------------- | ----------------------- | 
--------------------------- | 
------------------------------------------------------------ |
-| GitHub           | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitHub Actions) | Cloud                              | Available         
      | `github`, `gitextractor`    | Incremental Sync                          
                   |
-| GitLab           | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitLab CI) | Cloud, Community Edition 11+       | Available              
 | `gitlab`, `gitextractor`    | Full Refresh, Incremental Sync(for 
`issues`,`MRs`)           |
-| Jira             | Issue Tracking                                            
   | Cloud, Server/Data Center 7.x, 8.x | Available               | `jira`      
                | Full Refresh, Incremental Sync(for `issues` and related)     |
-| Jenkins          | CI/CD                                                     
   | 2.263.x+                           | Available               | `jenkins`   
                | Incremental Sync                                             |
-| BitBucket (Beta) | Source Code Management, Code Review                       
   | Cloud                              | Advanced Mode Available | 
`bitbucket`, `gitextractor` | Full Refresh                                      
           |
-| TAPD (Beta)      | Issue Tracking                                            
   | Cloud                              | Advanced Mode Available | `tapd`      
                | Full Refresh, Incremental Sync(for `stories`, `bugs`, 
`tasks`) |
-| Zentao (Beta)    | Issue Tracking                                            
   | v17.x, v18.x                       | Advanced Mode Available | `zentao`    
                | Full Refresh                                                 |
-| Gitee (WIP)      | Source Code Management, Code Review, Issue Tracking       
   | Cloud                              | Not Available           | `gitee`, 
`gitextractor`     | Full Refresh, Incremental Sync(for `issues`,`MRs`)         
  |
-| PagerDuty (WIP)  | Issue Tracking                                            
   | Cloud                              | Not Available           | `pagerduty` 
                | Full Refresh                                                 |
-| Feishu (WIP)     | Calendar                                                  
   | Cloud                              | Not Available           | `feishu`    
                | Full Refresh                                                 |
-| AE               | Source Code Management                                    
   | On-prem                            | Not Available           | `ae`        
                | Full Refresh                                                 |
-| Sonarqube        | CODE QUALITY                                              
   | SonarQube v8.x, v9.x               | Available               | `sonarqube` 
                | Full Refresh                                                 |
-| Bamboo CI(WIP)   | CI/CD                                                     
   | v6.8.1                             | Not Available           | `bamboo`    
                | Full Refresh                                                 |
+| Data Source         | Domain(s)                                              
                      | Supported Versions                 | Config UI 
Availability  | Triggered Plugins              | Collection Mode                
                                 |
+| ------------------- | 
---------------------------------------------------------------------------- | 
---------------------------------- | ----------------------- | 
------------------------------ | 
--------------------------------------------------------------- |
+| GitHub              | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitHub Actions)  | Cloud                              | Available        
       | `github`, `gitextractor`       | Incremental Sync                      
                          |
+| GitLab              | Source Code Management, Code Review, Issue Tracking, 
CI/CD (GitLab CI)       | Cloud, Community Edition 11+       | Available        
       | `gitlab`, `gitextractor`       | Full Refresh, Incremental Sync(for 
`issues`,`MRs`)              |
+| Jira                | Issue Tracking                                         
                      | Cloud, Server/Data Center 7.x, 8.x | Available          
     | `jira`                         | Full Refresh, Incremental Sync(for 
`issues` and related)        |
+| Jenkins             | CI/CD                                                  
                      | 2.263.x+                           | Available          
     | `jenkins`                      | Incremental Sync                        
                        |
+| BitBucket (Beta)    | Source Code Management, Code Review                    
                      | Cloud                              | Advanced Mode 
Available | `bitbucket`, `gitextractor`    | Full Refresh                       
                             |
+| TAPD (Beta)         | Issue Tracking                                         
                      | Cloud                              | Advanced Mode 
Available | `tapd`                         | Full Refresh, Incremental Sync(for 
`stories`, `bugs`, `tasks`)  |
+| Zentao (Beta)       | Issue Tracking                                         
                      | v17.x, v18.x                       | Advanced Mode 
Available | `zentao`                       | Full Refresh                       
                             |
+| Gitee (WIP)         | Source Code Management, Code Review, Issue Tracking    
                      | Cloud                              | Not Available      
     | `gitee`, `gitextractor`        | Full Refresh, Incremental Sync(for 
`issues`,`MRs`)              |
+| PagerDuty (WIP)     | Issue Tracking                                         
                      | Cloud                              | Not Available      
     | `pagerduty`                    | Full Refresh                            
                        |
+| Feishu (WIP)        | Calendar                                               
                      | Cloud                              | Not Available      
     | `feishu`                       | Full Refresh                            
                        |
+| AE                  | Source Code Management                                 
                      | On-prem                            | Not Available      
     | `ae`                           | Full Refresh                            
                        |
+| Sonarqube           | CODE QUALITY                                           
                      | SonarQube v8.x, v9.x               | Available          
     | `sonarqube`                    | Full Refresh                            
                        |
+| Bamboo CI(WIP)      | CI/CD                                                  
                      | v6.8.1                             | Not Available      
     | `bamboo`                       | Full Refresh                            
                        |
+| Azure Devops (Beta) | CI/CD, Source Code Management, Code Review             
                      | Cloud                              | Available          
     | `azuredevops`, `gitextractor`  | Full Refresh                            
                        |
 
 ## Data Collection Scope By Each Plugin
 
@@ -31,59 +32,59 @@ This table shows the entities collected by each plugin. 
Domain layer entities in
 ✅ : Collect by default.
 💪 : Collect not by default. You need to add the corresponding subtasks to 
collect these entities in the [advanced mode](../Configuration/AdvancedMode.md).
 
-| Domain Layer Entities                                                        
               | ae  | dora | gitextractor | incoming webhook | github | gitlab 
| jenkins | jira | refdiff | tapd | sonarqube | bamboo |
-| 
-------------------------------------------------------------------------------------------
 | --- | ---- | ------------ | ---------------- | ------ | ------ | ------- | 
---- | ------- | ---- | --------- | ------ |
-| [accounts](../DataModels/DevLakeDomainLayerSchema.md/#accounts)              
               |     |      |              |                  | ✅     | ✅     | 
       | ✅   |         | ✅   | ✅       |        |
-| [board_issues](../DataModels/DevLakeDomainLayerSchema.md/#board_issues)      
               |     |      |              |                  | ✅     | ✅     | 
       | ✅   |         | ✅   |           |        |
-| [board_repos](../DataModels/DevLakeDomainLayerSchema.md/#board_repos)        
               |     |      |              |                  | ✅     | ✅     | 
       | ✅   |         |      |           |        |
-| [board_sprints](../DataModels/DevLakeDomainLayerSchema.md/#board_sprints)    
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |          |        |
-| [boards](../DataModels/DevLakeDomainLayerSchema.md/#boards)                  
               |     |      |              |                  | ✅     | ✅     | 
        | ✅  |         | ✅   |           |        |
-| 
[cicd_pipeline_commits](../DataModels/DevLakeDomainLayerSchema.md/#cicd_pipeline_commits)
   |     | ✅   |              |                  | ✅     | ✅     | ✅     |      
|         |      |           |   ✅   |
-| [cicd_pipelines](../DataModels/DevLakeDomainLayerSchema.md/#cicd_pipelines)  
               |     | ✅   |              |                  | ✅     | ✅     | 
✅     |      |         |      |           |   ✅   |
-| [cicd_scopes](../DataModels/DevLakeDomainLayerSchema.md/#cicd_scopes)        
               |     | ✅   |              |                  | ✅     | ✅     | 
✅     |      |         |      |           |   ✅   |
-| [cicd_tasks](../DataModels/DevLakeDomainLayerSchema.md/#cicd_tasks)          
               |     | ✅   |              | 💪               | ✅     | ✅     | ✅ 
    |      |         |      |           |   ✅   |
-| 
[commit_file_components](../DataModels/DevLakeDomainLayerSchema.md/#commit_file_components)
 |     |      | ✅           |                  |        |        |         |    
  |         |      |           |        |
-| [commit_files](../DataModels/DevLakeDomainLayerSchema.md/#commit_files)      
               |     |      | ✅           |                  |        |        
|         |      |         |      |           |        |
-| 
[commit_line_change](../DataModels/DevLakeDomainLayerSchema.md/#commit_line_change)
         |     |      | ✅           |                  |        |        |      
   |      |         |      |           |        |
-| [commit_parents](../DataModels/DevLakeDomainLayerSchema.md/#commit_parents)  
               |     |      | ✅           |                  |        |        
|         |      |         |      |           |        |
-| [commits](../DataModels/DevLakeDomainLayerSchema.md/#commits)                
               | ✅  |      | ✅          |                  | 💪     | 💪     |    
     |      |         |      |          |        |
-| [commits_diffs](../DataModels/DevLakeDomainLayerSchema.md/#commits_diffs)    
               |     |      |              |                  |        |        
|         |      | ✅      |      |           |        |
-| [components](../DataModels/DevLakeDomainLayerSchema.md/#components)          
               |     |      |              |                  |        |        
|         |      |         |      |           |        |
-| 
[finished_commits_diffs](../DataModels/DevLakeDomainLayerSchema.md/#finished_commits_diffs)
 |     |      |              |                  |        |        |         |   
   |         |      |           |        |
-| 
[issue_changelogs](../DataModels/DevLakeDomainLayerSchema.md/#issue_changelogs) 
            |     |      |              |                  |        |        |  
       | ✅   |         | ✅   |           |        |
-| [issue_comments](../DataModels/DevLakeDomainLayerSchema.md/#issue_comments)  
               |     |      |              |                  | ✅     |        
|         |      |         | ✅   |           |        |
-| [issue_commits](../DataModels/DevLakeDomainLayerSchema.md/#issue_commits)    
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   |           |        |
-| [issue_labels](../DataModels/DevLakeDomainLayerSchema.md/#issue_labels)      
               |     |      |              |                  | ✅     | ✅    |  
       |      |         | ✅   |           |        |
-| 
[issue_repo_commits](../DataModels/DevLakeDomainLayerSchema.md/#issue_repo_commits)
         |     |      |              |                  |        |        |     
    | ✅   |         |      |           |        |
-| [issue_worklogs](../DataModels/DevLakeDomainLayerSchema.md/#issue_worklogs)  
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   |           |        |
-| [issues](../DataModels/DevLakeDomainLayerSchema.md/#issues)                  
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |
-| 
[project_issue_metrics](../DataModels/DevLakeDomainLayerSchema.md/#project_issue_metrics)
   |     | ✅   |              |                  | ✅     | ✅    |         | ✅   
|         | ✅   |           |        |
-| 
[project_mapping](../DataModels/DevLakeDomainLayerSchema.md/#project_mapping)   
            |     | ✅   |              |                  | ✅     | ✅    | ✅    
  | ✅   |         | ✅   |           |        |
-| 
[project_metrics](../DataModels/DevLakeDomainLayerSchema.md/#project_metrics)   
            |     | ✅   |              |                  | ✅     | ✅    | ✅    
  | ✅   |         | ✅   |           |        |
-| 
[project_pr_metrics](../DataModels/DevLakeDomainLayerSchema.md/#project_pr_metrics)
         |     | ✅   |              |                  | ✅     | ✅    |         
|      |         | ✅   |           |        |
-| [projects](../DataModels/DevLakeDomainLayerSchema.md/#project)               
               |     | ✅   |              |                  | ✅     | ✅    | ✅ 
     | ✅   |         | ✅   |           |        |
-| 
[pull_request_comments](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_comments)
   |     |      |              |                  | ✅     | ✅     |         |   
   |         |      |           |        |
-| 
[pull_request_commits](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_commits)
     |     |      |              |                  | ✅     | ✅     |         | 
     |         |      |           |        |
-| 
[pull_request_issues](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_issues)
       |     |      |              |                  | ✅     |        |        
 |      |         |      |           |        |
-| 
[pull_request_labels](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_labels)
       |     |      |              |                  | ✅     | ✅     |         
|      |         |      |           |        |
-| [pull_requests](../DataModels/DevLakeDomainLayerSchema.md/#pull_requests)    
               |     |      |              |                  | ✅     | ✅     | 
        |      |         |      |           |        |
-| [ref_commits](../DataModels/DevLakeDomainLayerSchema.md/#ref_commits)        
               |     |      |              |                  |        |        
|         |      | ✅      |      |           |        |
-| [refs](../DataModels/DevLakeDomainLayerSchema.md/#refs)                      
               |     |      | ✅           |                  |        |        
|         |      | ✅      |      |           |        |
-| 
[refs_issues_diffs](../DataModels/DevLakeDomainLayerSchema.md/#refs_issues_diffs)
           |     |      |              |                  |        |        |   
      |      | ✅      |      |           |        |
-| 
[ref_pr_cherry_picks](../DataModels/DevLakeDomainLayerSchema.md/#ref_pr_cherry_picks)
       |     |      |              |                  |        |        |       
  |      | ✅      |      |           |        |
-| [repo_commits](../DataModels/DevLakeDomainLayerSchema.md/#repo_commits)      
               |     |      | ✅           |                  | 💪     | 💪     |  
       |      |         |      |           |        |
-| [repo_snapshot](../DataModels/DevLakeDomainLayerSchema.md/#repo_snapshot)    
               |     |      | ✅           |                  |        |        
|         |      |         |      |           |        |
-| [repos](../DataModels/DevLakeDomainLayerSchema.md/#repos)                    
               |     |      |              |                  | ✅     | ✅     | 
        |      |         |      |           |        |
-| [sprint_issues](../DataModels/DevLakeDomainLayerSchema.md/#sprint_issues)    
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |
-| [sprints](../DataModels/DevLakeDomainLayerSchema.md/#sprints)                
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |
-| [team_users](../DataModels/DevLakeDomainLayerSchema.md/#team_users)          
               |     |      |              |                  |        |        
|         |      |         |      |           |        |
-| [teams](../DataModels/DevLakeDomainLayerSchema.md/#teams)                    
               |     |      |              |                  |        |        
|         |      |         |      |           |        |
-| [user_account](../DataModels/DevLakeDomainLayerSchema.md/#user_accounts)     
               |     |      |              |                  |        |        
|         |      |         |      |           |        |
-| [users](../DataModels/DevLakeDomainLayerSchema.md/#users)                    
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   |           |        |
-| [cq_projects](../DataModels/DevLakeDomainLayerSchema.md/#cq_projects)        
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   | ✅        |        |
-| [cq_issues](../DataModels/DevLakeDomainLayerSchema.md/#cq_issues)            
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   | ✅        |        |
-| 
[cq_issue_code_blocks](../DataModels/DevLakeDomainLayerSchema.md/#cq_issue_code_blocks)
     |     |      |              |                  |        |        |         
| ✅   |         | ✅   | ✅        |        |
-| 
[cq_file_metrics](../DataModels/DevLakeDomainLayerSchema.md/#cq_file_metrics)   
            |     |      |              |                  |        |        |  
       | ✅   |         | ✅   | ✅        |        |
+| Domain Layer Entities                                                        
               | ae  | dora | gitextractor | incoming webhook | github | gitlab 
| jenkins | jira | refdiff | tapd | sonarqube | bamboo | azuredevops |
+| 
-------------------------------------------------------------------------------------------
 | --- | ---- | ------------ | ---------------- | ------ | ------ | ------- | 
---- | ------- | ---- | --------- | ------ | ----------- |
+| [accounts](../DataModels/DevLakeDomainLayerSchema.md/#accounts)              
               |     |      |              |                  | ✅     | ✅     | 
        | ✅   |         | ✅   | ✅        |        |             |
+| [board_issues](../DataModels/DevLakeDomainLayerSchema.md/#board_issues)      
               |     |      |              |                  | ✅     | ✅     | 
        | ✅   |         | ✅   |           |        |             |
+| [board_repos](../DataModels/DevLakeDomainLayerSchema.md/#board_repos)        
               |     |      |              |                  | ✅     | ✅     | 
        | ✅   |         |      |           |        |             |
+| [board_sprints](../DataModels/DevLakeDomainLayerSchema.md/#board_sprints)    
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |             |
+| [boards](../DataModels/DevLakeDomainLayerSchema.md/#boards)                  
               |     |      |              |                  | ✅     | ✅     | 
        | ✅   |         | ✅   |           |        |             |
+| 
[cicd_pipeline_commits](../DataModels/DevLakeDomainLayerSchema.md/#cicd_pipeline_commits)
   |     | ✅   |              |                  | ✅     | ✅     | ✅      |     
 |         |      |           |   ✅   |      ✅     |
+| [cicd_pipelines](../DataModels/DevLakeDomainLayerSchema.md/#cicd_pipelines)  
               |     | ✅   |              |                  | ✅     | ✅     | 
✅      |      |         |      |           |   ✅   |      ✅     |
+| [cicd_scopes](../DataModels/DevLakeDomainLayerSchema.md/#cicd_scopes)        
               |     | ✅   |              |                  | ✅     | ✅     | 
✅      |      |         |      |           |   ✅   |      ✅     |
+| [cicd_tasks](../DataModels/DevLakeDomainLayerSchema.md/#cicd_tasks)          
               |     | ✅   |              | 💪               | ✅     | ✅     | ✅ 
     |      |         |      |           |   ✅   |      ✅     |
+| 
[commit_file_components](../DataModels/DevLakeDomainLayerSchema.md/#commit_file_components)
 |     |      | ✅           |                  |        |        |         |    
  |         |      |           |        |             |
+| [commit_files](../DataModels/DevLakeDomainLayerSchema.md/#commit_files)      
               |     |      | ✅           |                  |        |        
|         |      |         |      |           |        |             |
+| 
[commit_line_change](../DataModels/DevLakeDomainLayerSchema.md/#commit_line_change)
         |     |      | ✅           |                  |        |        |      
   |      |         |      |           |        |             |
+| [commit_parents](../DataModels/DevLakeDomainLayerSchema.md/#commit_parents)  
               |     |      | ✅           |                  |        |        
|         |      |         |      |           |        |             |
+| [commits](../DataModels/DevLakeDomainLayerSchema.md/#commits)                
               | ✅  |      | ✅           |                  | 💪     | 💪     |   
      |      |         |      |           |        |             |
+| [commits_diffs](../DataModels/DevLakeDomainLayerSchema.md/#commits_diffs)    
               |     |      |              |                  |        |        
|         |      | ✅      |      |           |        |             |
+| [components](../DataModels/DevLakeDomainLayerSchema.md/#components)          
               |     |      |              |                  |        |        
|         |      |         |      |           |        |             |
+| 
[finished_commits_diffs](../DataModels/DevLakeDomainLayerSchema.md/#finished_commits_diffs)
 |     |      |              |                  |        |        |         |   
   |         |      |           |        |             |
+| 
[issue_changelogs](../DataModels/DevLakeDomainLayerSchema.md/#issue_changelogs) 
            |     |      |              |                  |        |        |  
       | ✅   |         | ✅   |           |        |             |
+| [issue_comments](../DataModels/DevLakeDomainLayerSchema.md/#issue_comments)  
               |     |      |              |                  | ✅     |        
|         |      |         | ✅   |           |        |             |
+| [issue_commits](../DataModels/DevLakeDomainLayerSchema.md/#issue_commits)    
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   |           |        |             |
+| [issue_labels](../DataModels/DevLakeDomainLayerSchema.md/#issue_labels)      
               |     |      |              |                  | ✅     | ✅     | 
        |      |         | ✅   |           |        |             |
+| 
[issue_repo_commits](../DataModels/DevLakeDomainLayerSchema.md/#issue_repo_commits)
         |     |      |              |                  |        |        |     
    | ✅   |         |      |           |        |             |
+| [issue_worklogs](../DataModels/DevLakeDomainLayerSchema.md/#issue_worklogs)  
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   |           |        |             |
+| [issues](../DataModels/DevLakeDomainLayerSchema.md/#issues)                  
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |             |
+| 
[project_issue_metrics](../DataModels/DevLakeDomainLayerSchema.md/#project_issue_metrics)
   |     | ✅   |              |                  | ✅     | ✅     |         | ✅  
 |         | ✅   |           |        |             |
+| 
[project_mapping](../DataModels/DevLakeDomainLayerSchema.md/#project_mapping)   
            |     | ✅   |              |                  | ✅     | ✅     | ✅   
   | ✅   |         | ✅   |           |        |             |
+| 
[project_metrics](../DataModels/DevLakeDomainLayerSchema.md/#project_metrics)   
            |     | ✅   |              |                  | ✅     | ✅     | ✅   
   | ✅   |         | ✅   |           |        |             |
+| 
[project_pr_metrics](../DataModels/DevLakeDomainLayerSchema.md/#project_pr_metrics)
         |     | ✅   |              |                  | ✅     | ✅     |        
 |      |         | ✅   |           |        |             |
+| [projects](../DataModels/DevLakeDomainLayerSchema.md/#project)               
               |     | ✅   |              |                  | ✅     | ✅     | 
✅      | ✅   |         | ✅   |           |        |             |
+| 
[pull_request_comments](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_comments)
   |     |      |              |                  | ✅     | ✅     |         |   
   |         |      |           |        |             |
+| 
[pull_request_commits](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_commits)
     |     |      |              |                  | ✅     | ✅     |         | 
     |         |      |           |        |      ✅     |
+| 
[pull_request_issues](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_issues)
       |     |      |              |                  | ✅     |        |        
 |      |         |      |           |        |             |
+| 
[pull_request_labels](../DataModels/DevLakeDomainLayerSchema.md/#pull_request_labels)
       |     |      |              |                  | ✅     | ✅     |         
|      |         |      |           |        |             |
+| [pull_requests](../DataModels/DevLakeDomainLayerSchema.md/#pull_requests)    
               |     |      |              |                  | ✅     | ✅     | 
        |      |         |      |           |        |      ✅     |
+| [ref_commits](../DataModels/DevLakeDomainLayerSchema.md/#ref_commits)        
               |     |      |              |                  |        |        
|         |      | ✅      |      |           |        |             |
+| [refs](../DataModels/DevLakeDomainLayerSchema.md/#refs)                      
               |     |      | ✅           |                  |        |        
|         |      | ✅      |      |           |        |             |
+| 
[refs_issues_diffs](../DataModels/DevLakeDomainLayerSchema.md/#refs_issues_diffs)
           |     |      |              |                  |        |        |   
      |      | ✅      |      |           |        |             |
+| 
[ref_pr_cherry_picks](../DataModels/DevLakeDomainLayerSchema.md/#ref_pr_cherry_picks)
       |     |      |              |                  |        |        |       
  |      | ✅      |      |           |        |             |
+| [repo_commits](../DataModels/DevLakeDomainLayerSchema.md/#repo_commits)      
               |     |      | ✅           |                  | 💪     | 💪     |  
       |      |         |      |           |        |             |
+| [repo_snapshot](../DataModels/DevLakeDomainLayerSchema.md/#repo_snapshot)    
               |     |      | ✅           |                  |        |        
|         |      |         |      |           |        |             |
+| [repos](../DataModels/DevLakeDomainLayerSchema.md/#repos)                    
               |     |      |              |                  | ✅     | ✅     | 
        |      |         |      |           |        |             |
+| [sprint_issues](../DataModels/DevLakeDomainLayerSchema.md/#sprint_issues)    
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |             |
+| [sprints](../DataModels/DevLakeDomainLayerSchema.md/#sprints)                
               |     |      |              |                  | ✅     |        
|         | ✅   |         | ✅   |           |        |             |
+| [team_users](../DataModels/DevLakeDomainLayerSchema.md/#team_users)          
               |     |      |              |                  |        |        
|         |      |         |      |           |        |             |
+| [teams](../DataModels/DevLakeDomainLayerSchema.md/#teams)                    
               |     |      |              |                  |        |        
|         |      |         |      |           |        |             |
+| [user_account](../DataModels/DevLakeDomainLayerSchema.md/#user_accounts)     
               |     |      |              |                  |        |        
|         |      |         |      |           |        |             |
+| [users](../DataModels/DevLakeDomainLayerSchema.md/#users)                    
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   |           |        |             |
+| [cq_projects](../DataModels/DevLakeDomainLayerSchema.md/#cq_projects)        
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   | ✅        |        |             |
+| [cq_issues](../DataModels/DevLakeDomainLayerSchema.md/#cq_issues)            
               |     |      |              |                  |        |        
|         | ✅   |         | ✅   | ✅        |        |             |
+| 
[cq_issue_code_blocks](../DataModels/DevLakeDomainLayerSchema.md/#cq_issue_code_blocks)
     |     |      |              |                  |        |        |         
| ✅   |         | ✅   | ✅        |        |             |
+| 
[cq_file_metrics](../DataModels/DevLakeDomainLayerSchema.md/#cq_file_metrics)   
            |     |      |              |                  |        |        |  
       | ✅   |         | ✅   | ✅        |        |             |
 
 ## Data Sync Policy
 
@@ -205,12 +206,12 @@ This table shows the entities collected by each plugin. 
Domain layer entities in
 
 | Subtask Name          | Estimated Max Number of Request | Does It support 
Incremental Collection? | Does It Support Time Filter? |
 | --------------------- | ------------------------------- | 
--------------------------------------- | ---------------------------- |
-| CollectExecutionMeta  | <10^3                           | ❌                  
                     | ❌                            |
-| CollectStoryMeta      | <10^4                           | ❌                  
                     | ❌                            |
-| CollectBugMeta        | <10^4                           | ❌                  
                     | ❌                            |
-| CollectTaskMeta       | <10^4                           | ❌                  
                     | ❌                            |
-| CollectAccountMeta    | ≈10^2                           | ❌                  
                     | ❌                            |
-| CollectDepartmentMeta | ≈10^2                           | ❌                  
                     | ❌                            |
+| CollectExecutionMeta  | <10^3                           | ❌                  
                    | ❌                           |
+| CollectStoryMeta      | <10^4                           | ❌                  
                    | ❌                           |
+| CollectBugMeta        | <10^4                           | ❌                  
                    | ❌                           |
+| CollectTaskMeta       | <10^4                           | ❌                  
                    | ❌                           |
+| CollectAccountMeta    | ≈10^2                           | ❌                  
                    | ❌                           |
+| CollectDepartmentMeta | ≈10^2                           | ❌                  
                    | ❌                           |
 
 ### Tapd
 
@@ -226,16 +227,26 @@ This table shows the entities collected by each plugin. 
Domain layer entities in
 | CollectStoryStatusLastStepMeta | ≈10                             | -         
                              | -                            |
 | CollectBugStatusMeta           | ≈10                             | -         
                              | -                            |
 | CollectBugStatusLastStepMeta   | ≈10                             | -         
                              | -                            |
-| CollectAccountsMeta            | ≈10^3                           | ❌         
                              | ❌                            |
-| CollectIterationMeta           | ≈10^4                           | ✅         
                              | ✅                            |
-| CollectStoryMeta               | ≈10^4                           | ✅         
                              | ✅                            |
-| CollectBugMeta                 | ≈10^4                           | ✅         
                              | ✅                            |
-| CollectTaskMeta                | ≈10^4                           | ✅         
                              | ✅                            |
-| CollectBugChangelogMeta        | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectStoryChangelogMeta      | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectTaskChangelogMeta       | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectWorklogMeta             | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectBugCommitMeta           | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectStoryCommitMeta         | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectTaskCommitMeta          | ≈10^6                           | ✅         
                              | ✅                            |
-| CollectStoryBugMeta            | ≈10^6                           | ✅         
                              | ✅                            |
+| CollectAccountsMeta            | ≈10^3                           | ❌         
                             | ❌                            |
+| CollectIterationMeta           | ≈10^4                           | ✅         
                             | ✅                            |
+| CollectStoryMeta               | ≈10^4                           | ✅         
                             | ✅                            |
+| CollectBugMeta                 | ≈10^4                           | ✅         
                             | ✅                            |
+| CollectTaskMeta                | ≈10^4                           | ✅         
                             | ✅                            |
+| CollectBugChangelogMeta        | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectStoryChangelogMeta      | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectTaskChangelogMeta       | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectWorklogMeta             | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectBugCommitMeta           | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectStoryCommitMeta         | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectTaskCommitMeta          | ≈10^6                           | ✅         
                             | ✅                            |
+| CollectStoryBugMeta            | ≈10^6                           | ✅         
                             | ✅                            |
+
+
+### Azure Devops
+
+| Subtask Name              | Estimated Max Number of Request | Does It 
support Incremental Collection? | Does It Support Time Filter? |
+| ------------------------- | ------------------------------- | 
--------------------------------------- | ---------------------------- |
+| CollectBuilds             | <10^3                           | ❌              
                         | ❌                          |
+| CollectJobs               | <10^4                           | ❌              
                         | ❌                          |
+| CollectPullRequests       | <10^3                           | ❌              
                         | ❌                          |
+| CollectPullRequestCommits | <10^4                           | ❌              
                         | ❌                          |
diff --git a/docs/Plugins/azuredevops.md b/docs/Plugins/azuredevops.md
new file mode 100644
index 0000000000..e1fcf07da7
--- /dev/null
+++ b/docs/Plugins/azuredevops.md
@@ -0,0 +1,67 @@
+---
+title: "Azure DevOps"
+description: >
+  Azure DevOps Plugin
+---
+
+## Summary
+
+This plugin collects Azure DevOps data through Azure DevOps REST API.
+
+## Entities
+
+Check out the [Azure DevOps 
entities](/Overview/SupportedDataSources.md#data-collection-scope-by-each-plugin)
 collected by this plugin.
+
+## Data Refresh Policy
+
+Right now, this plugin supports only full refresh.
+Check out the [data refresh policy](/Overview/SupportedDataSources.md#Azure 
DevOps) of this plugin.
+
+## Metrics
+
+Metrics that can be calculated based on the data collected from Azure DevOps:
+
+- [Commit Count](/Metrics/CommitCount.md)
+- [Commit Author Count](/Metrics/CommitAuthorCount.md)
+- [Added Lines of Code](/Metrics/AddedLinesOfCode.md)
+- [Deleted Lines of Code](/Metrics/DeletedLinesOfCode.md)
+- [Build Count](/Metrics/BuildCount.md)
+- [Build Duration](/Metrics/BuildDuration.md)
+- [Build Success Rate](/Metrics/BuildSuccessRate.md)
+- [DORA - Deployment Frequency](/Metrics/DeploymentFrequency.md)
+- [DORA - Lead Time for Changes](/Metrics/LeadTimeForChanges.md)
+- [DORA - Median Time to Restore Service](/Metrics/MTTR.md)
+- [DORA - Change Failure Rate](/Metrics/CFR.md)
+
+## Configuration
+
+Configuring Azure DevOps via [config-ui](/Configuration/AzureDevOps.md).
+
+## API Sample Request
+
+You can trigger data collection by making a POST request to `/pipelines`.
+
+```shell
+curl 'http://localhost:8080/pipelines' \
+--header 'Content-Type: application/json' \
+--data-raw '
+{
+  "name": "MY PIPELINE",
+  "plan": [
+    [
+      {
+        "plugin": "azuredevops",
+        "options": {
+          "connectionId": 1,
+          "scopeId": "orgname/reponame",
+          "transformationRules": {
+            "deploymentPattern": "",
+            "productionPattern": ""
+          }
+        }
+      }
+    ]
+  ]
+}
+'
+```


Reply via email to