Linking Codacy as a source
Let AI connect your sources for you
Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Contents
This source is currently in alpha. The interface and available tables may change.
The Codacy connector syncs your code quality data – organizations, repositories, per-file analysis, issues, pull requests, and commits – into PostHog, so you can track quality grades, issue counts, complexity, duplication, and coverage trends across your repositories.
Prerequisites
You need a Codacy Cloud account with access to the organization you want to sync. Self-hosted Codacy installations are not yet supported.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- Select the tables you want to sync, choose a sync method and frequency, then click Import.
Once the syncs are complete, you can start querying this data in PostHog.
When linking Codacy, you'll need:
- Account API token – generate one in your Codacy account settings. The token grants access to the organizations and repositories your Codacy account can see.
- Git provider – the provider hosting your organization: GitHub, GitLab, or Bitbucket.
- Organization name – the name of the organization on your Git provider, as it appears in Codacy.
Sync modes
Each table can be synced in one of several modes, depending on what the source supports:
- Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
- Incremental – only new or updated rows are synced on each run, using a cursor field (such as an
updated_attimestamp). Cheaper than a full refresh, but deletes aren't captured. - Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
- Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.
See sync methods for a full explanation of how each mode works and how to choose between them.
Codacy tables are full refresh only, since the Codacy API doesn't support filtering by update time. Each sync pulls the current snapshot of your organization's analysis data.
Configuration
| Option | Type | Required |
|---|---|---|
Account API token | password | Yes |
Git provider | select | Yes |
Organization name | text | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
organizations | Organizations on Codacy that the account API token belongs to, across Git providers. | Full refresh | — | — |
repositories | Repositories in the configured organization, with the most recent analysis snapshot: quality grade, issue counts, complexity, duplication, coverage, and lines of code. | Full refresh | — | — |
people | People in the organization on Codacy: members and the commit authors Codacy saw, resolving the author identities on the commits and pull requests already synced. | Full refresh | — | — |
files | Most recent analysis information for the files in each repository: per-file grade, issue count, complexity, duplication, and coverage. Files ignored on Codacy aren't returned. | Full refresh | — | — |
issues | Current issues that Codacy found in each repository's main branch, as shown on the repository Issues page. | Full refresh | — | — |
pull_requests | Pull requests in each repository with Codacy's analysis results: new and fixed issues, complexity and duplication deltas, coverage, and whether the pull request is up to the quality standards. | Full refresh | — | — |
commits | Analysis results for the commits in each repository's main branch on Codacy, including quality and coverage gate outcomes per commit. | Full refresh | — | — |
commit_delta_issues | Issues that each analyzed commit introduced or fixed, compared against its parent commit. Unlike the issues table, which holds the issues currently open, this records the change each commit made. | Full refresh | — | — |
tools | Codacy's catalog of static analysis tools, resolving the tool UUID carried by every issue row. The catalog is the same for every Codacy account. | Full refresh | — | — |
tool_patterns | Code patterns (rules) each Codacy tool can flag, resolving the pattern ID carried by every issue row so issues can be grouped by rule, category, and severity. | Full refresh | — | — |
security_items | Security and risk management items for the organization: vulnerabilities, secrets, licence and dependency findings, each with a priority, an SLA status and its due date. | Full refresh | — | — |
commit_statistics | Analysis totals for each analysed commit of a repository, giving repository health a trend over time instead of only the latest snapshot. | Full refresh | — | — |
category_overviews | Issue counts per analysis category for the latest analysed commit of each repository, the breakdown behind the repository quality grade. | Full refresh | — | — |
issues_overview | Issue counts for each repository broken down by category, severity level, language, code pattern, tag, commit author, and false-positive probability. One row per breakdown value. | Full refresh | — | — |
pull_request_coverage | Test coverage of each analysed pull request: how coverage moved against the common ancestor commit, and how well the lines the pull request touched are covered. | Full refresh | — | — |
pull_request_file_coverage | Test coverage of each file changed by a pull request, so uncovered changes can be traced to the file that introduced them. | Full refresh | — | — |
metrics_timerange | Organization quality metrics over time, broken down by repository. These are the precomputed numbers behind Codacy's own dashboards, one row per metric, period, and repository. | Full refresh | — | — |
Troubleshooting
- If your API token is invalid or has been revoked, generate a new account API token in your Codacy account settings, then reconnect.
- If some repositories are missing, check that your Codacy account has access to them on the Git provider. After changing permissions, it can take a while for Codacy to refresh the repository list.
If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.