dosubot[bot] commented on issue #7765: URL: https://github.com/apache/incubator-devlake/issues/7765#issuecomment-2238566778
<!-- Greeting --> Hey @martynvdijke! I'm a bot here to help you with bugs, questions, and contributions. Let's tackle that issue together! <!-- Answer --> The Code Quality / Testing data model in Apache DevLake includes a comprehensive set of metrics and data points designed to provide detailed insights into code quality and testing. Here are the specific metrics included: - `ProjectKey` - `FileName` - `FilePath` - `FileLanguage` - `CodeSmells` - `SqaleIndex` - `SqaleRating` - `Bugs` - `ReliabilityRating` - `Vulnerabilities` - `SecurityRating` - `SecurityHotspots` - `SecurityHotspotsReviewed` - `SecurityReviewRating` - `Ncloc` - `UncoveredLines` - `Coverage` - `LinesToCover` - `DuplicatedLinesDensity` - `DuplicatedBlocks` - `DuplicatedFiles` - `DuplicatedLines` - `EffortToReachMaintainabilityRatingA` - `Complexity` - `CognitiveComplexity` - `NumOfLines` These metrics are defined in the `CqFileMetrics` struct in the `cq_file_metrics.go` file <sup>[[1]](https://github.com/apache/incubator-devlake/blob/main/backend/core/models/domainlayer/codequality/cq_file_metrics.go)</sup>. ### Ingesting Data Apache DevLake ingests data related to code quality and testing from various DevOps tools through its integrative DevOps data plugins. These plugins include tools like GitHub, GitLab, JIRA, Jenkins, and others. The data collection, expansion, and conversion to the domain layer are managed by running subtasks within these plugins. Users can trigger these tasks via a configuration UI or API <sup>[[2]](https://github.com/apache/incubator-devlake-website/blob/main/blog/2022-06-17-How DevLake is up and running/index.md)</sup>. ### Vision and Idea The vision behind the Code Quality / Testing data model is to provide a unified platform that can ingest, analyze, and visualize fragmented data from various DevOps tools. This allows teams to extract actionable insights for engineering excellence, developer experience, and community growth. By correlating code quality metrics with other data points like build times, teams can optimize their development processes, fine-tune CI pipelines, and balance the number of tests versus build times. ### Webhooks for Custom Data Regarding the use of webhooks for custom or special use case data, Apache DevLake currently supports pushing data such as "incidents" and "deployments" required by DORA metrics. While the webhook system is quite flexible, it is currently limited to specific data types. However, the system can be configured to relate incidents with deployments at different levels (e.g., service level, product level) <sup>[[3]](https://github.com/apache/incubator-devlake-website/blob/main/versioned_docs/version-v0.21/Plugins/webhook.md)</sup>. ### Correlating Metrics Apache DevLake correlates different types of data by using a standard data model to bring together data from across the Software Development Life Cycle (SDLC). This unified data integration allows for the creation of intuitive, use-case driven dashboards that provide actionable insights. For example, you can measure code coverage and quality metrics alongside build times to identify areas for optimization in your CI pipelines <sup>[[4]](https://github.com/apache/incubator-devlake-website/blob/main/docs/Overview/Introduction.md)</sup>. If you have any more specific questions or need further details, feel free to ask! <!-- Dosu Comment Footer --> *To continue talking to [Dosu](https://dosu.dev), mention @dosu.* -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@devlake.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org