Enterprise Plugin
The Enterprise Plugin is Q247's server-side component, which analyzes data about the team's work and calculates metrics from it. It handles all integrations that provide data: code repositories, ticketing systems, documentation and AI tool telemetry. It is configured from the Manage Organization panel, but installation and system requirements concern this component, not the interface itself.
The content of the analyzed data never leaves the infrastructure the plugin runs in. Repositories are cloned locally, and only the analysis result reaches Q247. The full split is described in Enterprise Plugin Security.
Scope of analysis
Code repositories
Code repositories are the primary data source. The plugin fetches the commit history and pull requests and merge requests from the repository, and calculates Calories, Increments and Lines from them.
Six systems connect through an API, each with its own connector type: GitLab (from version 14), GitHub (including GitHub Enterprise), Azure DevOps, Bitbucket (Cloud as well as Data Center and Server), Gitea and Gerrit.
A seventh type, Generic GIT, covers any Git-compliant repository, added manually by URL. It requires a correctly constructed address, together with login data, if the repository requires it. Network access to such a repository must be public or open for the IP address the given plugin deployment runs from.
The form fields and token permissions for each type are described in Connectors.
Tickets and documentation
Jira and Confluence work in both the cloud and Data Center variants. The plugin receives events from them via webhooks, so data appears without waiting for a scan cycle. From Jira, tickets, comments and field changes are processed, and with the Tempo integration enabled, worklogs as well.
AI tool telemetry
The plugin collects data on AI tool usage and passes it to Q247 in aggregated form. It has a built-in OpenTelemetry collector, so the organization does not have to maintain its own monitoring platform; alternatively, the plugin fetches this data from Dynatrace. Configuration is described in AI Tool Logs.
Repository analysis modes
- Full history analysis of the repository, from the first commit.
- Analysis of a given date range, when the full history is not needed.
- Incremental scanning at an hourly or daily interval, set on the source. Each run goes back two weeks from the last scan, to catch commits delivered with a delay.
The order of steps from installation to the first data on the dashboard is described in Running code analysis.
System requirements
- Red Hat Enterprise Linux 9 or newer, Oracle Linux 9 or newer, CentOS Stream 9, or Ubuntu 20 or newer.
- Git client installed.
- 50 GB of free disk space (more with parallel scanning of many large repositories).
- 16 GB RAM.
- 4 cores @ 2.5 GHz.
Two deployment models
The plugin can run in the Q247 cloud (Cloud Plugin) or in the Client's infrastructure (Private Plugin). There is no functional difference between them; only where the process runs and who maintains it changes.
| Cloud Plugin | Private Plugin | |
|---|---|---|
| Where it runs | Q247 infrastructure | Client server |
| Who installs and maintains it | Q247 | the Client |
| What needs to be opened on the network | access from the Q247 address to the SCM system's API | outbound traffic from the Client's server |
| When to choose it | by default, when there is nothing against it | when code cannot leave the Client's network |
The full procedure for both variants, together with what to prepare in the environment, is described in Installation.
Scope of this documentation section
Installation walks through choosing a deployment model, creating a deployment in the panel, downloading the files and starting the process, plus a list of things to prepare on the Client's infrastructure side.
Installation
Cloud Plugin versus the locally installed Private Plugin, step by step.
See also
- Connectors: form fields and token permissions for each repository type
- Running code analysis: the order of steps from installation to data on the dashboard
- Enterprise Plugin Security: process permissions, firewall rules, scope of exchanged data