HomeDocumentationAPI Reference
Getting StartedAPI ReferenceDashboardHelp Center
Documentation

GitHub Integration For Team Ownership

The GitHub CODEOWNERS integration allows Luciq to automatically generate and maintain Crashes team ownership rules based on the CODEOWNERS file in your GitHub repository.

Instead of manually configuring file paths and assigning them to teams, Luciq fetches and syncs your CODEOWNERS file to ensure accurate, up-to-date ownership rules at scale.

How It Works?

Once connected, Luciq:

  1. Fetches your CODEOWNERS file from your GitHub repository.
  2. Parses all ownership patterns (paths, filenames).
  3. Extracts teams (GitHub teams).
  4. Lets you map teams to Luciq teams in a simple UI.
  5. Generates crash ownership rules automatically based on this mapping.
  6. Keeps rules in sync whenever your CODEOWNERS file changes on GitHub.

This automation ensures that crash reports are always routed to the correct team without manual updates.

Prerequisites

Before you begin:

  • You must be an Owner or Admin or have permissions to manage Team Ownership.
  • Your GitHub organization must allow installing GitHub apps.
  • Your repository must contain a valid CODEOWNERS file.

How to Set it up?

Step 1 — Connect Luciq to GitHub

  1. Go to Settings → Source Code Management in the Luciq dashboard.

  2. Click Connect with GitHub.

  3. Install Luciq App on GitHub or use the Installation ID if you already installed the App

  4. On GitHub; choose the repository you want Luciq to access.

  5. Confirm permissions and return to Luciq.

Step 2 — Select Repository, Branch, and Features

After connecting:

  1. Choose the repository that contains your CODEOWNERS file.
  2. Select the branch (e.g., main, master) where CODEOWNERS lives.
  3. Select which features should access the integration:
    1. CODEOWNERS file: allows you to define crashes team ownership by fetching and processing GitHub CODEONWERS file.
    2. Resolve Agent: An AI-powered feature designed to automate the process of resolving mobile app crashes, enabling developers to resolve issues within minutes. Learn more
  4. Click Continue
⚠️

Important Note

CODEOWNERS file feature requires only read-access to the CODEOWNERS file, It doesn't access your code or make any changes to your Repository.

Step 3 — Review and confirm configuration

Luciq will let you review all the configuration settings including:

  • Organization
  • Repository
  • Branch
  • Enabled features

Then you can select whether you want to enable auto-sync for CODEOWNERS file or not. The auto-sync will automatically update team ownership rules once the CODEOWNERS file is updated on GitHub.

Finally once you confirm all settings and click Connect, Luciq will fetch and process the CODEOWNERS file

Step 4 — Map CODEOWNERS to Luciq Teams

Luciq will extract all teams from your CODEOWNERS file (GitHub teams), then try to match the team names to Luciq teams. If matching is not successful then you will see a list of teams that need to be mapped to Luciq teams

For each team:

  1. Select a Luciq team that represents their ownership.
  2. Save the mapping.
  3. You can revisit and update this mapping anytime.

This mapping allows Luciq to convert CODEOWNERS rules into crash ownership rules.

🚧

Ownership rules are defined for mapped teams only. For Unmapped teams, their rules are defined once the mapping is complete.

Step 4 — Automatic Rule Generation

Once mapping is complete:

  • Luciq automatically generates Team Ownership Rules based on the parsed CODEOWNERS patterns.
  • These rules appear on the Team Ownership page in your dashboard.
  • Each rule references the associated Luciq team.

Automatic Syncing For CODEOWNERS File

Luciq keeps your rules in sync by:

  • Monitoring your GitHub repository for any updates to CODEOWNERS.

  • Re-processing the file when changes are detected.

  • Updating ownership rules automatically.

  • Sending email notifications to admins when:

    • Code ownership changes
    • New owners appear that need mapping
    • Rules are updated
🚧

The codesowners file sync process run once per day at 00::00 UTC.


🚧

When automatic syncing is enabled, team ownership rules created by CODEOWNERS file cannot be edited. The only way to edit these rules is by updating the CODEOWNERS file on GitHub.

📘

If Automatic syncing is disabled, you will see a banner in the team ownership page to notify you that the CODEOWNERS file has changed on GitHub.

You can manually update ownership rules directly from the banner.


Processing CODEOWNERS File

Sample of CODEOWNERS file

CODEOWNERS file is a text file that contains Paths and/or filenames assigned to certain teams in the following format:

# App folders
/apps/web/ @frontend-team
/apps/mobile/ @mobile-team @qa-team

# Library and shared folders
/libs/api/ @backend-team
/libs/shared/ @platform-team

# Specific files
/README.md @documentation-team
/scripts/deploy.sh @devops-team

# Wildcard (valid pattern)
*/src/payment @payments-team
/src/checkout/* @checkout-team

# Specific file inside a path
/src/payments/invoice_service.py @payments-team

iOS

Refer to Matching iOS paths for more information

📘

Flutter and React-Native uses the same matching logic for iOS.

Android

Unlike other platforms Android relies on packages (not paths) to assign crashes to teams. Hence, the paths in the CODEOWNERS file should include the package.

For example:

Assume the package is named: com.luciq.crashes; Then the path in the CODEOWNERSfile should be: /src/git/com/luciq/crashes

Supported Wildcard Patterns

On GitHub, you can use wildcards to assign certain patterns to teams but Luciq supports only the following wildcard patterns:

*/src/payments

/src/payments/*

🚧

Examples of unsupported wildcard patterns:

/src/*/payment/

*.rb

src/ **/test/

src/action** /test

Team Selection Logic

If multiple teams are assigned to the same path, only the first team on the line will be used.

Example:

/src/payment/file1.txt @teamA @teamB

@teamA will be assigned to this path