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?

1

Once connected, Luciq 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?

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.

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:

    • CODEOWNERS file: allows you to define crashes team ownership by fetching and processing GitHub CODEONWERS file.

    • 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

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

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.

5

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

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:

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 CODEOWNERS file should be: /src/main/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:

Example

Examples of unsupported wildcard patterns

Team Selection Logic

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

Example:

@teamA will be assigned to this path

Last updated