Files
pr-agent/docs/GENERATE_CUSTOM_LABELS.md
2023-12-18 10:04:05 +02:00

2.6 KiB

Generate Custom Labels

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

For example:

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:

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

How to enable custom labels

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

1. CLI

To enable custom labels, you need to apply the configuration changes to the custom_labels file:

2. GitHub Action and GitHub App

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

3. Git provider's native labels page (Pr-Agent Pro feature 💎)

To enable custom labels, you can add/edit the custom labels in the Git provider's native labels page. For example, in GitHub, you can add/edit the labels in the Labels page:
a. Go to the Labels page:

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

  • Label name: The name of the custom label.
  • Description: Description of with prefix pr_agent:, for example: pr_agent: Description of when AI should suggest this label.

c. Now the custom labels will be included in the generate_labels tool. *This feature is supported in GitHub and GitLab.

Configuration changes

  • 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"