Apache DevLake(incubating) supports the following data sources. The data from each data source is collected with one or more plugins.
| Data Source | Domain(s) | Supported Versions | Config UI Availability | Triggered Plugins | Collection Mode |
|---|---|---|---|---|---|
| GitHub (include GitHub Action) | Source Code Management, Code Review, Issue Tracking, CI/CD | Cloud | Available | github, gitextractor | Full Refresh |
| GitLab (include GitLabCI) | Source Code Management, Code Review, Issue Tracking, CI/CD | Cloud, Community Edition 13.x+ | Available | gitlab, gitextractor | Full Refresh, Incremental Sync(for issues,MRs) |
| Gitee | Source Code Management, Code Review, Issue Tracking | Cloud | Not Available | gitee, gitextractor | Full Refresh, Incremental Sync(for issues,MRs) |
| BitBucket | Source Code Management, Code Review | Cloud | Not Available | bitbucket, gitextractor | Full Refresh |
| Jira | Issue Tracking | Cloud, Server 7.x+, Data Center 7.x+ | Available | jira | Full Refresh, Incremental Sync(for issues and related) |
| TAPD | Issue Tracking | Cloud | Not Available | tapd | Full Refresh, Incremental Sync(for stories, bugs, tasks) |
| Jenkins | CI/CD | 2.263.x+ | Available | jenkins | Full Refresh |
| Feishu | Calendar | Cloud | Not Available | feishu | Full Refresh |
| AE | Source Code Management | Not Available | ae | Full Refresh |
This table shows the entities collected by each plugin. Domain layer entities in this table are consistent with the entities here. ✅ : Collect by default. 💪 : Collect not by default. You need to add the corresponding subtasks to collect these entities in the advanced mode.
| Domain Layer Entities | ae | dora | gitextractor | incoming webhook | github | gitlab | jenkins | jira | refdiff | tapd |
|---|---|---|---|---|---|---|---|---|---|---|
| accounts | ✅ | ✅ | ✅ | ✅ | ||||||
| board_issues | ✅ | ✅ | ✅ | ✅ | ||||||
| board_repos | ✅ | ✅ | ✅ | |||||||
| board_sprints | ✅ | ✅ | ✅ | |||||||
| boards | ✅ | ✅ | ✅ | ✅ | ||||||
| cicd_pipeline_commits | ✅ | ✅ | ✅ | ✅ | ||||||
| cicd_pipelines | ✅ | ✅ | ✅ | ✅ | ||||||
| cicd_scopes | ✅ | ✅ | ✅ | ✅ | ||||||
| cicd_tasks | ✅ | 💪 | ✅ | ✅ | ✅ | |||||
| commit_file_components | ✅ | |||||||||
| commit_files | ✅ | |||||||||
| commit_line_change | ✅ | |||||||||
| commit_parents | ✅ | |||||||||
| commits | ✅ | ✅ | 💪 | 💪 | ||||||
| commits_diffs | ✅ | |||||||||
| components | ||||||||||
| finished_commits_diffs | ||||||||||
| issue_changelogs | ✅ | ✅ | ||||||||
| issue_comments | ✅ | ✅ | ||||||||
| issue_commits | ✅ | ✅ | ||||||||
| issue_labels | ✅ | ✅ | ✅ | |||||||
| issue_repo_commits | ✅ | |||||||||
| issue_worklogs | ✅ | ✅ | ||||||||
| issues | ✅ | ✅ | ✅ | |||||||
| project_issue_metrics | ✅ | ✅ | ✅ | ✅ | ✅ | |||||
| project_mapping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| project_metrics | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| project_pr_metrics | ✅ | ✅ | ✅ | ✅ | ||||||
| projects | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||||
| pull_request_comments | ✅ | ✅ | ||||||||
| pull_request_commits | ✅ | ✅ | ||||||||
| pull_request_issues | ✅ | |||||||||
| pull_request_labels | ✅ | ✅ | ||||||||
| pull_requests | ✅ | ✅ | ||||||||
| ref_commits | ✅ | |||||||||
| refs | ✅ | ✅ | ||||||||
| refs_issues_diffs | ✅ | |||||||||
| ref_pr_cherry_picks | ✅ | |||||||||
| repo_commits | ✅ | 💪 | 💪 | |||||||
| repo_snapshot | ✅ | |||||||||
| repos | ✅ | ✅ | ||||||||
| sprint_issues | ✅ | ✅ | ✅ | |||||||
| sprints | ✅ | ✅ | ✅ | |||||||
| team_users | ||||||||||
| teams | ||||||||||
| user_account | ||||||||||
| users | ✅ | ✅ |
bold: means it may collect slowly.
*bold*: means it may collect very slowly.
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| CollectStatusMeta | 1 | - | - |
| CollectProjectsMeta | <10 | ❌ | - |
| CollectIssueTypesMeta | <10 | ❌ | - |
| CollectIssuesMeta | <10^4 | ✅ | ✅ |
| CollectIssueChangelogsMeta | 1000~10^5 | ✅ | ✅ |
| CollectAccountsMeta | <10^3 | ❌ | ❌ |
| CollectWorklogsMeta | 1000~10^5 | ✅ | ✅ |
| CollectRemotelinksMeta | 1000~10^5 | ✅ | ✅ |
| CollectSprintsMeta | <100 | ❌ | ❌ |
| CollectEpicsMeta | <100 | ❌ | ✅ |
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| CollectApiBuildsMeta | ≈100 | ❌ | ❌ |
| CollectApiStagesMeta | ≈10^4 | ❌ | ✅ |
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| CollectApiIssuesMeta | <10^4 | ✅ | ✅ |
| CollectApiMergeRequestsMeta | <10^3 | ✅ | ✅ |
| CollectApiMrNotesMeta | <10^5 | ❌ | ✅ |
| CollectApiMrCommitsMeta | <10^5 | ❌ | ✅ |
| CollectApiPipelinesMeta | <10^4 | ✅ | ❌ |
| CollectApiJobsMeta | <10^5 | ❌ | ✅ |
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| --------------------------------- | Common | ----------------------- | |
| CollectMilestonesMeta | ≈10 | ✅ | ❌ |
| CollectRunsMeta | <10^4 | ✅ | ✅ |
| CollectApiCommentsMeta | 400 (max page that GitHub supports) | ✅ | ✅ |
| CollectApiEventsMeta | 400 (max page that GitHub supports) | ❌ | ❌ |
| CollectApiPullRequestReviewsMeta | <10^5 | ✅ | ✅ |
| --------------------------------- | Graphql Only (Default) | ----------------------- | |
| CollectIssueMeta | ≈10^4 | ❌ | ✅ |
| CollectPrMeta | ≈10^3 | ❌ | ✅ |
| CollectCheckRunMeta | <10^4 | ❌ | ✅ |
| CollectAccountMeta | ≈10^2 | ❌ | - |
| --------------------------------- | Restful Only (Not by Default) | ----------------------- | |
| CollectApiIssuesMeta | ≈10^4 | ✅ | ❌ |
| CollectApiPullRequestsMeta | ≈10^2 | ❌ | ❌ |
| CollectApiPullRequestCommitsMeta | ≈10^4 | ✅ | ✅ |
| CollectApiPrReviewCommentsMeta | ≈10^4 | ✅ | ✅ |
| CollectAccountsMeta | ≈10^4 | ❌ | ❌ |
| CollectAccountOrgMeta | ≈10^4 | ❌ | ❌ |
| CollectJobsMeta | <10^6 | ❌ | ✅ |
| CollectApiCommitsMeta | Not enabled | - | - |
| CollectApiCommitStatsMeta | Not enabled | - | - |
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| CollectMeetingTopUserItemMeta | ≈10^3 | ❌ | ✅ |
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| 1 | ❌ | ❌ | |
| CollectApiPullRequestsMeta | ≈10^3 | ❌ | ❌ |
| CollectApiIssuesMeta | ≈10^4 | ❌ | ❌ |
| CollectApiPrCommentsMeta | ≈10^5 | ❌ | ❌ |
| *CollectApiIssueCommentsMeta* | ≈10^6 | ❌ | ❌ |
| CollectApiPipelinesMeta | <10^4 | ❌ | ❌ |
| CollectApiDeploymentsMeta | <10^2 | ❌ | ❌ |
| Subtask Name | Estimated Max Number of Request | Does It support Incremental Collection? | Does It Support Time Filter? |
|---|---|---|---|
| 1 | ❌ | ❌ | |
| CollectApiPullRequestsMeta | ≈10^3 | ✅ | ❌ |
| CollectApiIssuesMeta | ≈10^4 | ✅ | ❌ |
| CollectCommitsMeta? | ≈10^4 | ✅ | ❌ |
| CollectApiPrCommentsMeta | ≈10^5 | ❌ | ❌ |
| *CollectApiIssueCommentsMeta* | ≈10^6 | ✅ | ❌ |
| CollectApiPullRequestCommitsMeta | ≈10^5 | ❌ | ❌ |
| CollectApiPullRequestReviewsMeta | ≈10^5 | ❌ | ❌ |
| *CollectApiCommitStatsMeta* | ≈10^6 (Not enable) | ❌ | ❌ |