Skip to main content
Version: Next

Supported Data Sources

Data Sources and Data Plugins​

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.

Data SourceDomain(s)Supported VersionsConfig UI AvailabilityTriggered PluginsCollection Mode
GitHubSource Code Management, Code Review, Issue Tracking, CI/CD (GitHub Actions)CloudAvailablegithub, gitextractorIncremental Sync
GitLabSource Code Management, Code Review, Issue Tracking, CI/CD (GitLab CI)Cloud, Community Edition 11+Availablegitlab, gitextractorFull Refresh, Incremental Sync(for issues,MRs)
JiraIssue TrackingCloud, Server/Data Center 7.x and aboveAvailablejiraFull Refresh, Incremental Sync(for issues and related)
JenkinsCI/CD2.263.x+AvailablejenkinsIncremental Sync
BitBucket (Beta)Source Code Management, Code ReviewCloudAdvanced Mode Availablebitbucket, gitextractorFull Refresh
TAPD (Beta)Issue TrackingCloudAdvanced Mode AvailabletapdFull Refresh, Incremental Sync(for stories, bugs, tasks)
Teambition (Beta)Issue TrackingCloudAdvanced Mode AvailableteambitionFull Refresh
Zentao (Beta)Issue Trackingv17.x, v18.xAdvanced Mode AvailablezentaoFull Refresh
Gitee (WIP)Source Code Management, Code Review, Issue TrackingCloudNot Availablegitee, gitextractorFull Refresh, Incremental Sync(for issues,MRs)
PagerDutyIssue TrackingCloudAvailablepagerdutyIncremental Sync
OpsgenieIssue TrackingCloudAvailableopsgenieFull Refresh (for users,teams), Incremental Sync (for issues)
Feishu (WIP)CalendarCloudNot AvailablefeishuFull Refresh
AESource Code ManagementOn-premNot AvailableaeFull Refresh
SonarqubeCODE QUALITYSonarQube v8.x, v9.xAvailablesonarqubeFull Refresh
Bamboo CI(WIP)CI/CDv6.8.1, ServerNot AvailablebambooFull Refresh
Azure Devops (Beta)CI/CD, Source Code Management, Code ReviewCloudAvailableazuredevops, gitextractorFull Refresh
CircleCICI/CDCloudAvailablecircleciFull Refresh

Data Collection Scope By Each Plugin​

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 Entitiesaedoragitextractorincoming webhookgithubgitlabjenkinsjirarefdifftapdsonarqubebambooazuredevopsopsgeniecircleci
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βœ…βœ…βœ…βœ…
projectβœ…βœ…βœ…βœ…βœ…βœ…βœ…
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βœ…βœ…βœ…
cq_projectsβœ…
cq_issuesβœ…
cq_issue_code_blocksβœ…
cq_file_metricsβœ…

Data Sync Policy​

bold: means it may collect slowly.

*bold*: means it may collect very slowly.

Jira​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectStatusMeta1--
CollectProjectsMeta<10❌-
CollectIssueTypesMeta<10❌-
CollectIssuesMeta<10^4βœ…βœ…
CollectIssueChangelogsMeta1000~10^5βœ…βœ…
CollectAccountsMeta<10^3❌❌
CollectWorklogsMeta1000~10^5βœ…βœ…
CollectRemotelinksMeta1000~10^5βœ…βœ…
CollectSprintsMeta<100❌❌
CollectEpicsMeta<100βŒβœ…

Jenkins​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectApiBuildsMetaβ‰ˆ100❌❌
CollectApiStagesMetaβ‰ˆ10^4βŒβœ…

GitLab​

Subtask NameEstimated Max Number of RequestDoes 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βŒβœ…

Github​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
---------------------------------Common-----------------------
CollectMilestonesMetaβ‰ˆ10βœ…βŒ
CollectRunsMeta<10^4βœ…βœ…
CollectApiCommentsMeta400 (max page that GitHub supports)βœ…βœ…
CollectApiEventsMeta400 (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βŒβœ…
CollectApiCommitsMetaNot enabled--
CollectApiCommitStatsMetaNot enabled--

Feishu​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectMeetingTopUserItemMetaβ‰ˆ10^3βŒβœ…

Bitbucket​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectApiRepoMeta1❌❌
CollectApiPullRequestsMetaβ‰ˆ10^3❌❌
CollectApiIssuesMetaβ‰ˆ10^4❌❌
CollectApiPrCommentsMetaβ‰ˆ10^5❌❌
*CollectApiIssueCommentsMeta*β‰ˆ10^6❌❌
CollectApiPipelinesMeta<10^4❌❌
CollectApiDeploymentsMeta<10^2❌❌

Bitbucket Server/Data Center​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectApiBranchesMeta1❌❌
CollectApiPullRequestsMetaβ‰ˆ10^3❌❌
CollectApiPrActivitiesMetaβ‰ˆ10^4❌❌
CollectApiPrCommentsMetaβ‰ˆ10^5❌❌
*CollectApiIssueCommentsMeta*β‰ˆ10^6❌❌
CollectApiCommitsMeta<10^4❌❌
CollectApiPrCommitsMeta<10^2❌❌

Gitee​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectApiRepoMeta1❌❌
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)❌❌

SonarQube​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectAccounts<10^4❌❌
CollectIssues<10^4❌❌
CollectHotspots<10^4❌❌
CollectFilemetrics<10^4❌❌
CollectAdditionalFilemetrics<10^4❌❌

Bamboo​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectPlanMeta<10^4❌❌
CollectJobMeta<10^5❌❌
CollectPlanBuildMeta<10^6❌❌
CollectJobBuildMeta<10^6❌❌
CollectDeployMeta1❌❌

Zentao​

Subtask NameEstimated Max Number of RequestDoes 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❌❌

Tapd​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectWorkitemTypesMetaβ‰ˆ10--
CollectStoryCustomFieldsMetaβ‰ˆ10--
CollectTaskCustomFieldsMetaβ‰ˆ10--
CollectBugCustomFieldsMetaβ‰ˆ10--
CollectStoryCategoriesMetaβ‰ˆ10--
CollectStoryStatusMetaβ‰ˆ10--
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βœ…βœ…

Azure Devops​

Subtask NameEstimated Max Number of RequestDoes It support Incremental Collection?Does It Support Time Filter?
CollectBuilds<10^3❌❌
CollectJobs<10^4❌❌
CollectPullRequests<10^3❌❌
CollectPullRequestCommits<10^4❌❌