MCPcopy
hub / github.com/apache/devlake

github.com/apache/devlake @v1.0.3 sqlite

repository ↗ · DeepWiki ↗ · release v1.0.3 ↗
11,324 symbols 38,769 edges 2,924 files 1,967 documented · 17%
README

Apache DevLake(Incubating)

PRs Welcome Dockerhub pulls unit-test Go Report Card Slack Twitter

🤔 What is Apache DevLake?

Apache DevLake is an open-source dev data platform that ingests, analyzes, and visualizes the fragmented data from DevOps tools to extract insights for engineering excellence, developer experience, and community growth.

Apache DevLake is used by Engineering Leads, Open Source Software Maintainers and development teams looking to make better sense of their development process and to bring a more data-driven approach to their own practices. You can ask Apache DevLake many questions regarding your development process. Just connect and query.

🎯 What can be accomplished with Apache DevLake?

  1. Your Dev Data lives in many silos and tools. DevLake brings them all together to give you a complete view of your Software Development Life Cycle (SDLC).
  2. From DORA to scrum retros, DevLake implements metrics effortlessly with prebuilt dashboards supporting common frameworks and goals.
  3. DevLake fits teams of all shapes and sizes, and can be readily extended to support new data sources, metrics, and dashboards, with a flexible framework for data collection and transformation.

👉 Live Demos

The main way you interact with DevLake is through the integrated dashboards powered by Grafana.

Live DORA Dashboard

Dashboards for Engineering Leads

Dashboards for OSS Maintainers

💪 Supported Data Sources

DevLake supports connections to many popular development tools, including GitHub, GitLab, Jenkins, Jira, Sonarqube and more. Here you can find all data sources supported by DevLake, their scopes, supported versions and more!

🚀 Getting Started

Installation

You can set up Apache DevLake by following our step-by-step instructions for either Docker Compose or Helm. Feel free to ask the community if you get stuck at any point.

🤓 Usage

Please see detailed usage instructions. Here's an overview on how to get started using DevLake.

1. Set up DevLake

Install using either Docker Compose or Helm.

2. Create a Blueprint

The DevLake Configuration UI will guide you through the process (a Blueprint) to define the data connections, data scope, transformation and sync frequency of the data you wish to collect.

3. Track the Blueprint's progress

You can track the progress of the Blueprint you have just set up.

4. View the pre-built dashboards

Once the first run of the Blueprint is completed, you can view the corresponding dashboards.

5. Customize the dashboards with SQL

If the pre-built dashboards are limited for your use cases, you can always customize or create your own metrics or dashboards with SQL.

Contributing

Please read the contribution guidelines before you make contribution. The following docs list the resources you might need to know after you decided to make contribution.

👩🏾‍💻 Contributing Code

If you plan to contribute code to Apache DevLake, we have instructions on how to get started with setting up your Development environemtn.

📄 Contributing Documentation

One of the best ways to get started contributing is by improving DevLake's documentation.

⌚ Roadmap

  • Roadmap: Detailed roadmaps for DevLake.

💙 Community

Message us on Slack

📄 License

This project is licensed under Apache License 2.0 - see the LICENSE file for details.

Extension points exported contracts — how you extend this code

PluginMeta (Interface)
PluginMeta is the Minimal features a plugin should comply, should be implemented by all plugins [39 implementers]
backend/core/plugin/plugin_meta.go
Iterator (Interface)
Iterator FIXME ... [8 implementers]
backend/helpers/pluginhelper/api/iterator.go
Operation (Interface)
(no doc) [13 implementers]
backend/server/services/remote/models/migration.go
UserDisplayNameResolver (Interface)
UserDisplayNameResolver interface for resolving user display names [2 implementers]
backend/plugins/q_dev/tasks/s3_data_extractor.go
ImportMetaEnv (Interface)
(no doc)
config-ui/src/vite-env.d.ts
PluginSource (Interface)
PluginSource abstracts data sources [27 implementers]
backend/core/plugin/plugin_meta.go
CustomMerge (Interface)
(no doc) [23 implementers]
backend/helpers/pluginhelper/api/model_api_helper.go
RemotePlugin (Interface)
RemotePlugin API supported by plugins running in different/remote processes
backend/server/services/remote/models/plugin_remote.go

Core symbols most depended-on inside this repo

Wrap
called by 752
backend/core/errors/types.go
GetDal
called by 694
backend/core/context/basic_res.go
New
called by 644
backend/core/models/dynamic_tabler.go
Convert
called by 546
backend/plugins/bamboo/models/job.go
FlushTabler
called by 544
backend/helpers/e2ehelper/data_flow_tester.go
Generate
called by 426
backend/core/models/domainlayer/didgen/domain_id_generator.go
Error
called by 397
backend/core/log/logger.go
GetData
called by 370
backend/core/errors/errors.go

Shape

Method 4,503
Function 3,558
Struct 2,765
Interface 201
Class 142
TypeAlias 133
FuncType 15
Enum 7

Languages

Go91%
TypeScript5%
Python4%

Modules by API surface

backend/core/dal/dal.go92 symbols
backend/python/pydevlake/pydevlake/api.py53 symbols
backend/impls/dalgorm/dalgorm.go49 symbols
backend/core/plugin/plugin_datasource.go41 symbols
backend/plugins/gh-copilot/models/migrationscripts/20260212_v2_usage_metrics.go38 symbols
backend/helpers/pluginhelper/api/api_client.go33 symbols
backend/helpers/pluginhelper/api/scope_generic_helper.go32 symbols
backend/test/helper/api.go30 symbols
backend/python/pydevlake/pydevlake/subtasks.py30 symbols
backend/plugins/gh-copilot/models/migrationscripts/20260212_add_pr_fields_to_enterprise_metrics.go30 symbols
backend/plugins/asana/models/migrationscripts/archived/models.go30 symbols
backend/python/pydevlake/pydevlake/plugin.py29 symbols

Dependencies from manifests, versioned

dario.cat/mergov1.0.0 · 1×
github.com/KyleBanks/depthv1.2.1 · 1×
github.com/Microsoft/go-winiov0.6.1 · 1×
github.com/ProtonMail/go-cryptov1.0.0 · 1×
github.com/PuerkitoBio/purellv1.1.1 · 1×
github.com/PuerkitoBio/urlescv0.0.0-2017081014372 · 1×
github.com/aws/aws-sdk-gov1.55.6 · 1×
github.com/bytedance/sonicv1.9.1 · 1×
github.com/chainguard-dev/git-urlsv1.0.2 · 1×
github.com/chenzhuoyu/base64xv0.0.0-2022111506244 · 1×
github.com/cloudflare/circlv1.3.7 · 1×
github.com/cockroachdb/errorsv1.11.1 · 1×

Datastores touched

(mysql)Database · 1 repos
lakeDatabase · 1 repos
bitbucketDatabase · 1 repos
jiraDatabase · 1 repos
zentaoDatabase · 1 repos
lakeDatabase · 1 repos

For agents

$ claude mcp add devlake \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact