How SonarQube matches Copilot users?

Must-share information (formatted with Markdown):

  • SonarQube Server v2025.5 (113872) / Developer Edition
  • Docker
  • what are you trying to achieve
    • Enable Autodetect AI-Generated Code feature

Hello

i’m trying to enable Autodetect AI-Generated Code feature of SQ, on an already existing and working integration between our SQ instance and our GitHub.com organization.

  • On GitHub side, user accounts are manually created, and are configured with public email address matching user company email (usually in lowercase)

  • On SonarQube side, user accounts are automatically created at first logging, populating data from internal LDAP. Email associated to account are not in lowercase (Firstnam.Lastname@domain.com).

On SQ web.log side, i can see it properly fetches the Copilot seats, but it is not able to associate properly with SQ users (only 1 found)

2025.12.06 10:11:38 INFO  web[com.sonar.x.j.j.x] [Copilot] Fetching Copilot seats information for 1 Github App configurations
2025.12.06 10:11:39 INFO  web[com.sonar.x.j.j.j.h] [Copilot] Fetched 76 Copilot seats for organization ... and installation 30548568
2025.12.06 10:11:39 INFO  web[com.sonar.x.j.j.x] [Copilot] Successfully fetched 76 Copilot seats information
2025.12.06 10:11:39 INFO  web[com.sonar.x.j.j.x] [Copilot] Found 1 users matching Copilot seat assignment
2025.12.06 10:11:39 INFO  web[com.sonar.x.j.j.x] [Copilot] Updated Copilot AI tool usage for 1 users

How can we “debug” this issue? Is there a documentation page describing how users are mapped between those 2 platforms?

Thanks

Hi,

I suspect you’ve already come pretty close to identifying the issue (case) but can you enable debug logging (Administration → System → Logs level) and re-run this? Note that debug-level logging gets big, fast, so you’ll want to return to INFO level quickly.

 
Ann

Thanks for the advice, but before enabling debug logs, do you know how to trigger the Copilot seats fetch?

I see in logs it is executing daily at same time, but not sure how to trigger the action…

Hi,

I think you might be able to trigger this by toggling Autodetect AI-Generated code off and back on.

Separately, double-checking the docs, I find

  1. If you are using SonarQube Server with the GitHub Enterprise Server (the self-hosted version of the GitHub platform) or SSO, a SonarQube administrator must set up an SCM account for each Copilot Business subscription user so that the users’ Copilot login matches their GitHub Enterprise Server login.

So for the non-syncing users, I think it’s worth creating an additional SCM Account in lower case. Can you give that a try on at least one user and see if that works?

 
Thx,
Ann