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
+
+
+
+### 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
+
+
+
+### 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)
+
+
+
+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": ""
+ }
+ }
+ }
+ ]
+ ]
+}
+'
+```