SonarSource/sonarqube · error · NotFoundException
There is no configuration for DevOps Platforms. Please add…
Error message
There is no configuration for DevOps Platforms. Please add one.
What it means
NotFoundException thrown by SetPatAction.getAlmSettingDtoFromAlm when updating a Personal Access Token via api/alm_settings/set_pat but no DevOps Platform configuration exists at all. The action cannot find an ALM setting to attach the PAT to.
Solutions
- Create a DevOps Platform configuration (Administration > DevOps Platform Integrations) first
- Pass almSetting=<key> once multiple settings exist
- Point the script at the correct SonarQube instance where the setting exists
Example fix
// before
ws.post('api/alm_settings/set_pat', {pat: token})
// after
ws.post('api/alm_settings/set_pat', {almSetting: 'azure-dev', pat: token}) Defensive patterns
Strategy: validation
Validate before calling
const list = await ws.get('api/alm_settings/list');
if (list.almSettings.length === 0) {
throw new Error('No DevOps Platform configuration exists; create one before set_pat');
} Type guard
const configExists = (list) => Array.isArray(list?.almSettings) && list.almSettings.length > 0;
Try / catch
try {
await ws.post('api/alm_settings/set_pat', {almSetting, pat});
} catch (e) {
if (e.status === 404 && /no configuration for DevOps Platforms/.test(e.message)) {
throw new Error('Run create_azure/create_github/... first');
}
throw e;
} Prevention
- Order automation: create setting, then set_pat
- Verify environment (prod vs staging) before running PAT updates
- Monitor for settings deletion that would break PAT rotation scripts
When it happens
Trigger: POST /api/alm_settings/set_pat without almSetting parameter when selectAll(ALM_SETTINGS) returns an empty list — i.e., zero DevOps Platform integrations are configured.
Common situations: Running set_pat in an automation script before any integration was created; integrations deleted by another admin; wrong SonarQube environment (staging vs production).
Related errors
- Parameter is required as there are multiple DevOps Platform…
- Please provide the Personal Access Token to update the URL.
- There is no configuration for DevOps Platform. Please add…
- A version event already exists on analysis
- An DevOps Platform setting with key
AI-assisted analysis of SonarSource/sonarqube@184c821202 (2026-09-09).
Data as JSON: /api/errors/f60ce67f19b53ac2.
Report an issue: GitHub.
Appendix: source
Thrown at server/sonar-webserver-webapi/src/main/java/org/sonar/server/almintegration/ws/SetPatAction.java:148
public AlmSettingDto getAlmConfig(@Nullable String almSettingKey) {
try (DbSession dbSession = dbClient.openSession(false)) {
if (almSettingKey != null) {
return getAlmSettingDtoFromKey(dbSession, almSettingKey);
}
return getAlmSettingDtoFromAlm(dbSession);
}
}
private AlmSettingDto getAlmSettingDtoFromKey(DbSession dbSession, String almSettingKey) {
return dbClient.almSettingDao().selectByKey(dbSession, almSettingKey)
.orElseThrow(() -> new NotFoundException(String.format("DevOps Platform configuration '%s' not found.", almSettingKey)));
}
private AlmSettingDto getAlmSettingDtoFromAlm(DbSession dbSession) {
List<AlmSettingDto> almSettingDtos = dbClient.almSettingDao().selectAll(dbSession);
if (almSettingDtos.isEmpty()) {
throw new NotFoundException("There is no configuration for DevOps Platforms. Please add one.");
}
if (almSettingDtos.size() == 1) {
return almSettingDtos.get(0);
}
throw new IllegalArgumentException(String.format("Parameter %s is required as there are multiple DevOps Platform configurations.", PARAM_ALM_SETTING));
}
}
View on GitHub (pinned to 184c821202)