Files
pr-agent/docs/docs/tools/custom_labels.md
2024-10-30 10:00:36 +09:00

2.7 KiB

Overview

The generate_labels tool scans the PR code changes, and given a list of labels and their descriptions, it automatically suggests labels that match the PR code changes.

It can be invoked manually by commenting on any PR:

/generate_labels

Example usage

If we wish to add detect changes to SQL queries in a given PR, we can add the following custom label along with its description:

Custom labels list{width=768}

When running the generate_labels tool on a PR that includes changes in SQL queries, it will automatically suggest the custom label:

Custom labels published{width=768}

Note that in addition to the dedicated tool generate_labels, the custom labels will also be used by the describe tool.

How to enable custom labels

There are 3 ways to enable custom labels:

1. CLI (local configuration file)

When working from CLI, you need to apply the configuration changes to the custom_labels file:

2. Repo configuration file

To enable custom labels, you need to apply the configuration changes to the local .pr_agent.toml file in your repository.

3. Handle custom labels from the Repo's labels page 💎

This feature is available only in Qodo Merge Pro

  • GitHub : https://github.com/{owner}/{repo}/labels, or click on the "Labels" tab in the issues or PRs page.
  • GitLab : https://gitlab.com/{owner}/{repo}/-/labels, or click on "Manage" -> "Labels" on the left menu.

b. Add/edit the custom labels. It should be formatted as follows:

  • Label name: The name of the custom label.
  • Description: Start the description of with prefix pr_agent:, for example: pr_agent: Description of when AI should suggest this label.
    The description should be comprehensive and detailed, indicating when to add the desired label.

Add native custom labels{width=880}

c. Now the custom labels will be included in the generate_labels tool.

This feature is supported in GitHub and GitLab.

Configuration options

  • Change enable_custom_labels to True: This will turn off the default labels and enable the custom labels provided in the custom_labels.toml file.
  • Add the custom labels. It should be formatted as follows:
[config]
enable_custom_labels=true

[custom_labels."Custom Label Name"]
description = "Description of when AI should suggest this label"

[custom_labels."Custom Label 2"]
description = "Description of when AI should suggest this label 2"