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.

Learn more
PostHog Wizard hedgehog

Contents

Alpha release

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

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. 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_at timestamp). 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

OptionTypeRequired
Account API tokenpasswordYes
Git providerselectYes
Organization nametextYes

Supported tables

TableDescriptionSync methodIncremental fieldPrimary 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.

Still have questions?

Was this page useful?