---
title: SonarQube Server API Integration on Truto
slug: sonarqubeserver
category: Default
canonical: "https://truto.one/integrations/detail/sonarqubeserver/"
---

# SonarQube Server API Integration on Truto



**Category:** Default  
**Status:** Beta

## Unified APIs

### Unified User Directory API

- **Groups** — Groups are a collection of users in the source application. In some applications, they might also be called Teams.
- **Me** — 
- **Users** — The User object represents a User.
- **Workspaces** — Workspaces represent concepts like teams, workspaces, projects in apps that support them

## MCP-ready AI tools

Truto exposes 249 tools for SonarQube Server that AI agents can call directly.

- **list_all_sonarqubeserver_projects** — Search for projects or views to administrate them in SonarQube Server. Returns key, name, qualifier, visibility, lastAnalysisDate (all branches), revision (main branch), and managed status for each project.
- **sonarqubeserver_projects_bulk_delete** — Delete one or several projects in SonarQube Server. Requires at least one of the following parameters: analyzedBefore, projects, or q. Only the first 1000 filtered projects are considered. No response body is returned.
- **create_a_sonarqubeserver_project** — Create a project in SonarQube Server. Requires 'name' and 'project' parameters. Returns the newly created project's key and name. If project is on a DevOps Platform, use the import endpoint instead.
- **delete_a_sonarqubeserver_project_by_id** — Delete a project in SonarQube Server. Requires id. Returns success status indicating project deletion.
- **sonarqubeserver_projects_update_key** — Update project and all its sub-components keys in SonarQube Server. Requires from and to parameters. The response returns the status of the key update operation.
- **sonarqubeserver_projects_update_visibility** — Update visibility of a project, application, or portfolio in SonarQube Server. Requires project and visibility. Returns the updated project's visibility status and key in the response.
- **list_all_sonarqubeserver_version** — Get the version of SonarQube Server. Returns the version as plain text.
- **list_all_sonarqubeserver_me** — Get details of the current authenticated user in SonarQube Server. Returns isLoggedIn, login, name, email, groups, permissions.global, avatar, and homepage fields.
- **list_all_sonarqubeserver_user_groups** — Search user groups in the SonarQube Server. Returns groups with fields name, description, membersCount, default, and managed.
- **list_all_sonarqubeserver_users** — Get a list of users in SonarQube Server. Returns fields like login, name, active status, email, groups, tokensCount, externalIdentity, externalProvider, avatar, lastConnectionDate, managed, and sonarLintLastConnectionDate.
- **list_all_sonarqubeserver_notifications** — List notifications of the authenticated user in SonarQube Server. Returns notification channel, type, and optionally organization, project, and projectName fields.
- **create_a_sonarqubeserver_notification** — Add a notification for the authenticated user in SonarQube Server. Requires type parameter. Returns the status of the operation and any errors if present.
- **sonarqubeserver_notifications_remove** — Remove a notification for the authenticated user in SonarQube Server. Requires type parameter. No response fields are returned.
- **list_all_sonarqubeserver_alm_integrations** — List Azure projects. Returns a project array where each project includes a name and description.
- **list_all_sonarqubeserver_bitbucketserver_projects** — List Bitbucket Server projects in SonarQube Server using almSetting. Returns key and name for each project.
- **list_all_sonarqubeserver_azure_repos** — List Azure Repos using the almSetting in the SonarQube Server. Requires almSetting and returns the name and projectName of each repository.
- **list_all_sonarqubeserver_bitbucketcloud_repos** — List Bitbucket Cloud repositories in SonarQube Server. Requires almSetting. Returns slug, uuid, name, projectKey, workspace, and sqProjectKey for each repository.
- **list_all_sonarqubeserver_bitbucketserver_repos** — Search the Bitbucket Server repositories with REPO_ADMIN access in SonarQube Server using almSetting. Returns repositories array with slug, uuid, name, projectKey, optional sqProjectKey, workspace and pagination indicator isLastPage.
- **list_all_sonarqubeserver_gitlab_repos** — Search the GitLab projects in the SonarQube Server. Returns id, name, slug, and url for each repository.
- **create_a_sonarqubeserver_personal_access_token** — Set a Personal Access Token for the given DevOps Platform setting in the SonarQube Server. Requires pat. No content returned on success.
- **list_all_sonarqubeserver_binding_count** — Count the number of projects bound to a DevOps Platform setting in the SonarQube Server. Requires alm_setting. Returns key (setting key) and projects (number of bound projects).
- **create_a_sonarqubeserver_azure** — Create Azure instance setting in SonarQube Server. Requires key, personalAccessToken, and url. Returns key and url for the created setting.
- **update_a_sonarqubeserver_azure_by_id** — Update Azure instance setting by id in SonarQube Server. Requires id and url. Returns updated Azure configuration details.
- **create_a_sonarqubeserver_bitbucket** — Create Bitbucket instance setting in SonarQube Server with id, personalAccessToken and url. Returns the created setting details.
- **update_a_sonarqubeserver_bitbucket_by_id** — Update Bitbucket instance setting by id in SonarQube Server. Requires id and url parameters. Returns confirmation of update and may include the updated setting information.
- **create_a_sonarqubeserver_bitbucketcloud** — Configure a new instance of Bitbucket Cloud in SonarQube Server. Returns key and workspace of the newly configured integration.
- **update_a_sonarqubeserver_bitbucketcloud_by_id** — Update Bitbucket Cloud setting by id in SonarQube Server. Requires clientId, and workspace as parameters. Returns the updated Bitbucket Cloud setting fields including key details and identifiers.
- **create_a_sonarqubeserver_github** — Create GitHub instance setting with appId, clientId, clientSecret, key, privateKey and url in SonarQube Server. Returns 204 No Content on success.
- **update_a_sonarqubeserver_github_by_id** — Update GitHub instance setting by id in SonarQube Server. Requires appId, clientId, url. Returns confirmation status of the update.
- **create_a_sonarqubeserver_gitlab** — Create gitlab instance setting key, personalAccessToken and url in SonarQube Server. Returns the created setting's key in the response.
- **update_a_sonarqubeserver_gitlab_by_id** — Update GitLab instance setting by id in SonarQube Server. Requires id and url. Returns confirmation of the update operation.
- **delete_a_sonarqubeserver_alm_setting_by_id** — Delete DevOps Platform setting by id in SonarQube Server. Returns no content.
- **list_all_sonarqubeserver_alm_settings** — List DevOps Platform setting available for a given project, sorted by DevOps Platform key in SonarQube Server. Returns key, name, type, url for each setting.
- **sonarqubeserver_alm_settings_validate** — Validate a DevOps Platform Setting in SonarQube Server using the required key parameter. Returns result fields indicating connectivity and permissions for the specified alm-settings.
- **delete_a_sonarqubeserver_alm_settings_binding_by_id** — Delete the DevOps Platform binding of a project by id in SonarQube Server. Requires id (project key). Returns an empty response on success.
- **get_single_sonarqubeserver_alm_settings_binding_by_id** — Get DevOps Platform binding for a specific project in SonarQube Server. Requires id. Returns key, alm, repository, url, summaryCommentEnabled, and monorepo fields in the response.
- **list_all_sonarqubeserver_definitions** — List GitHub DevOps Platform Settings in SonarQube Server. Returns key, url, appId, and clientId fields for each GitHub integration.
- **create_a_sonarqubeserver_azure_binding** — Bind an Azure DevOps instance to a SonarQube Server project in SonarQube Server. Requires almSetting, monorepo, project, projectName, and repositoryName. Returns binding status and updated association details.
- **create_a_sonarqubeserver_bitbucket_binding** — Bind a Bitbucket instance to a project in SonarQube Server. Requires almSetting, monorepo, project, repository, and slug. If project was previously bound, updates binding. No response fields are returned.
- **create_a_sonarqubeserver_bitbucketcloud_binding** — Bind a Bitbucket Cloud setting to a project in SonarQube Server. Requires almSetting, monorepo, project, and repository. Returns binding update status with relevant project and Bitbucket Cloud identifiers.
- **create_a_sonarqubeserver_github_binding** — Bind a GitHub instance to a project in SonarQube Server. Requires almSetting, monorepo, project, and repository. Returns updated binding information if the project was already bound.
- **create_a_sonarqubeserver_gitlab_binding** — Bind a GitLab instance to a project in SonarQube Server. Requires almSetting, monorepo, project, and repository. Returns binding status fields in the response. Requires Administer permission on the project.
- **get_single_sonarqubeserver_analysis_cache_by_id** — Get the scanner's cached data for a branch in SonarQube Server. Requires project parameter. Returns gzipped data if 'Accept-Encoding' is set in request. Response contains the cached analysis data for the project.
- **create_a_sonarqubeserver_application** — Create a new application in SonarQube Server. Requires name. Returns key, name, description, visibility, and projects fields for the created application.
- **sonarqubeserver_applications_add_project** — Add a project to an application in SonarQube Server. Requires application and project as parameters. Requires 'Administrator' permission on the application. No fields are returned in the response.
- **delete_a_sonarqubeserver_application_by_id** — Delete an application definition in SonarQube Server. Requires id (application key). Returns status of the deletion.
- **sonarqubeserver_applications_remove_project** — Remove a project from an application in SonarQube Server. Requires application and id. No fields are returned in the response.
- **update_a_sonarqubeserver_application_by_id** — Update an application in SonarQube Server. Requires application and name. Returns updated key fields of the application. 'Administrator' permission on the application is required.
- **get_single_sonarqubeserver_application_by_id** — Get a specific application in SonarQube Server by id. Returns application key, name, branch, visibility, list of associated projects (with project key, name, enabled, selected), branches, and tags.
- **list_all_sonarqubeserver_applications** — List applications the user can add to a portfolio in SonarQube Server. Requires portfolio. Returns key fields for each application, such as id, name, and status.
- **create_a_sonarqubeserver_application_branch** — Create a new branch on a given application in SonarQube Server. Requires application, branch, project, and projectBranch parameters. Returns a confirmation of the branch creation.
- **delete_a_sonarqubeserver_application_branch_by_id** — Delete an application-branch in SonarQube Server. Requires application (application key) and id parameters. No content is returned in the response.
- **update_a_sonarqubeserver_application_branch_by_id** — Update an application-branch by id in SonarQube Server. Requires application, id, name, project, and projectBranch. Returns status and details of the updated application-branch.
- **create_a_sonarqubeserver_applications_tag** — Set tags on an application in SonarQube Server using application and tags. Returns no content.
- **list_all_sonarqubeserver_audit_logs** — Get security-related audit logs in SonarQube Server for the given from and to dates. Returns fields such as userLogin, createdAt, userUuid, userTriggered, category, operation, and related value changes.
- **sonarqubeserver_authentication_login** — Authenticate a user in SonarQube Server. Requires login and password. Returns a success status upon successful authentication.
- **sonarqubeserver_authentication_logout** — Logout a user in SonarQube Server. Returns no content in the response.
- **sonarqubeserver_authentication_validate** — Validate authentication credentials in SonarQube Server. Requires no parameters. Returns valid (boolean) confirming credentials and login (string) identifying the authenticated user.
- **list_all_sonarqubeserver_compute_engine_tasks** — List compute-engine-tasks in SonarQube Server. Returns tasks with fields such as id, type, status, component details, timing, warnings, and infoMessages.
- **sonarqubeserver_compute_engine_tasks_activity_status** — Get activity status metrics for compute-engine-tasks in SonarQube Server. Returns pending, inProgress, failing, and pendingTime fields in the response.
- **sonarqubeserver_compute_engine_tasks_component** — Get the pending tasks, in-progress tasks, and the last executed task for a specific component in SonarQube Server. Requires component parameter. Returns task details, status, and timing in the response.
- **get_single_sonarqubeserver_compute_engine_task_by_id** — Get details about a specific compute-engine-tasks in SonarQube Server. Requires id. Returns id, type, status, duration, component details, analysisId, warningCount, warnings, execution times in the response.
- **list_all_sonarqubeserver_components** — List components in SonarQube Server. Requires qualifiers. Returns key, qualifier, name, and project for each component.
- **get_single_sonarqubeserver_component_by_id** — Get a component and its ancestors in SonarQube Server. Requires id as component key. Returns fields such as key, name, and its ancestors in the response.
- **sonarqubeserver_components_strategy_components** — List descendant components of a specified base component in SonarQube Server by providing component. Returns component key, name, qualifier, path, and language fields for each descendant.
- **list_all_sonarqubeserver_file_duplications** — Get duplication information for a specific file in SonarQube Server using key as id. Returns duplications (blocks with from, size, _ref) and related file details (key, name, projectName) in the response.
- **sonarqubeserver_file_editions_activate_grace_period** — Activate a 7-day grace period for a license in SonarQube Server when the Server ID is invalid. Returns status of grace period activation.
- **sonarqubeserver_file_editions_license** — Set the license for enabling features of commercial editions in SonarQube Server. Requires the license parameter. Returns updated license status fields in the response.
- **list_all_sonarqubeserver_favorites** — List favorites for the authenticated user in SonarQube Server. Returns fields such as key, name, and qualifier for each favorite.
- **create_a_sonarqubeserver_favorite** — Add a component as a favorite for the authenticated user in SonarQube Server. Requires component parameter (component key). Only components with qualifiers TRK, VW, SVW, APP are supported. Only 100 components by qualifier can be favorited. No fields are explicitly returned in the response.
- **sonarqubeserver_favorites_remove_component** — Remove a favorite in SonarQube Server. Requires component parameter. No response content is returned.
- **list_all_sonarqubeserver_hotspots** — List Security Hotspots in SonarQube Server. Returns key, component, project, securityCategory, vulnerabilityProbability, status, line, message, assignee, author, creationDate, updateDate, flows, and ruleKey fields.
- **get_single_sonarqubeserver_hotspot_by_id** — Get details of a specific hotspot in SonarQube Server. Requires id. Returns key, component, project, rule, status, line, hash, message, assignee, author, creationDate, updateDate, changelog, comment, users, canChangeStatus, and codeVariants.
- **update_a_sonarqubeserver_hotspot_by_id** — Change the status of a specific hotspot in SonarQube Server. Requires hotspot and status parameters. Key fields returned indicate the operation was successful or if there were errors.
- **list_all_sonarqubeserver_languages** — List supported programming languages in SonarQube Server. Returns language key, name, and share fields in the response.
- **list_all_sonarqubeserver_component_measures** — Get component measures in SonarQube Server. Requires id as component and metric_keys. Returns component object with measures and the requested metric values.
- **sonarqubeserver_component_measures_component_tree** — Navigate through components based on the chosen strategy with specified measures. Returns fields such as key, name, qualifier, path, and measures for each component in the response. Requires component and metricKeys.
- **sonarqubeserver_component_measures_search_history** — Get historical measures for a specific component in SonarQube Server. Requires component and metrics. Returns measures containing metric keys and history with date and value fields for each metric.
- **list_all_sonarqubeserver_metrics** — List metrics in SonarQube Server. Returns metrics with fields: id, key, name, description, domain, type, direction, qualitative, hidden, custom.
- **list_all_sonarqubeserver_metric_types** — List all available metric-types in SonarQube Server. Returns a list of types, such as INT, FLOAT, PERCENT, and BOOL.
- **list_all_sonarqubeserver_monitoring_metrics** — Get monitoring metrics in Prometheus format from SonarQube Server. Returns metrics including health status, license usage, uptime, integration statuses, and resource usage as text. Requires Bearer token defined via sonar.web.systemPasscode.
- **list_all_sonarqubeserver_new_code_periods** — List new code definitions for all branches in a project in SonarQube Server. Requires project as a parameter. Returns branch names, new code definition types, and settings for each branch.
- **get_single_sonarqubeserver_new_code_period_by_id** — Get details about the new code definition in SonarQube Server. Returns the fields describing the current new code definition, inherited value if not set, and related information.
- **sonarqubeserver_new_code_periods_unset** — Unset new code definition in SonarQube Server. No required parameters. Returns success confirmation.
- **sonarqubeserver_new_code_periods_set** — Update the new code definition in the SonarQube Server with the required type parameter. Returns confirmation of update or relevant status fields.
- **create_a_sonarqubeserver_issue_comment** — Add a comment to an issue in SonarQube Server. Requires issue and text. Returns issue details including key, rule, impacts, status, message, assignee, author, comments, creationDate, updateDate, and related users, rules, and components.
- **delete_a_sonarqubeserver_issue_comment_by_id** — Delete a comment in SonarQube Server. Requires id. Returns success status in the response.
- **update_a_sonarqubeserver_issue_comment_by_id** — Edit an issue comment in SonarQube Server using id and text. Returns updated comment fields such as id and text in the response. Requires id and text.
- **sonarqubeserver_issues_assign** — Assign or unassign an issue in SonarQube Server. Requires issue as the issue identifier. Returns key, rule, status, assignee, project, severity, tags, creationDate, updateDate, message, and related details in the response.
- **sonarqubeserver_issues_bulk_change** — Bulk update issues in SonarQube Server. Requires issues parameter with a comma-separated list of issue keys. Updates up to 500 issues per call. Key updated fields are not specified in the response.
- **sonarqubeserver_issues_workflow_transition** — Perform a workflow transition on a specific issue in SonarQube Server using issue and transition parameters. The response includes the updated status and transition result fields.
- **sonarqubeserver_issues_reindex** — Reindex issues for a specific project in SonarQube Server. Requires project as project key. Returns status of the reindex operation in the response.
- **list_all_sonarqubeserver_issues** — List issues in SonarQube Server. Returns key fields for each issue including key (unique identifier), component (resource), project, rule, severity, status, message, assignee, author, type, creationDate, and updateDate.
- **sonarqubeserver_issues_change_severity** — Change severity of an issue in SonarQube Server. Requires issue parameter. Returns confirmation that severity was updated for the specified issue.
- **list_all_sonarqubeserver_issue_authors** — List SCM accounts in SonarQube Server that match the search query. Returns an array of author account names in the response.
- **list_all_sonarqubeserver_issues_changelog** — Get changelog of an issue in SonarQube Server. Returns fields such as field, newValue, oldValue, user, and creationDate for each changelog entry.
- **list_all_sonarqubeserver_issue_vulnerabilities** — List vulnerabilities in SonarQube Server for the specified project_key according to the GitLab SAST JSON format. Fields such as description, location, severity, and identifiers are returned in the response.
- **list_all_sonarqubeserver_issue_tags** — List issue tags in SonarQube Server. Returns tags array with each element representing a tag.
- **create_a_sonarqubeserver_issue_tag** — Set tags on an issue in SonarQube Server. Requires issue parameter. Returns updated tags and affected issue information in the response.
- **create_a_sonarqubeserver_group_permission** — Add a permission to a group in SonarQube Server. Requires groupName and permission. Returns the updated group-permissions mapping including granted permission.
- **delete_a_sonarqubeserver_group_permission_by_id** — Remove a permission from a group in SonarQube Server. Requires groupName and permission. Returns status of the operation.
- **sonarqubeserver_permission_templates_add_group** — Add a group to a permission template in SonarQube Server. Requires groupName and permission. Returns status of the operation.
- **sonarqubeserver_permission_templates_add_project_creator** — Add a project creator to a permission template in SonarQube Server. Requires permission.
- **sonarqubeserver_permission_templates_add_user** — Add a user to a permission template in SonarQube Server. Requires login and permission. Returns no response body.
- **sonarqubeserver_permission_templates_apply** — Apply a permission template to a project in SonarQube Server. Requires projectId or projectKey, and templateId or templateName. No content is returned in the response.
- **sonarqubeserver_permission_templates_bulk_apply** — Apply a permission template to several components in SonarQube Server. Either templateId or templateName must be provided. Managed projects will be ignored. No response body is returned.
- **create_a_sonarqubeserver_permission_template** — Create a permission-templates resource in SonarQube Server. Requires name as a parameter. Returns fields such as id, name, and description of the created permission template.
- **delete_a_sonarqubeserver_permission_template_by_id** — Delete a permission template in SonarQube Server. Requires id. Returns an empty response on success.
- **sonarqubeserver_permission_templates_remove_group** — Remove a group from a permission template in SonarQube Server. Requires groupName and permission as parameters. No content is returned in the response.
- **sonarqubeserver_permission_templates_remove_project_creator** — Remove a project creator from a permission template in SonarQube Server. Requires permission as a required parameter. Returns empty response on success.
- **list_all_sonarqubeserver_permission_templates** — List permission templates in SonarQube Server. Returns permissionTemplates with details such as name, id, and description. Requires 'Administer System' permission.
- **sonarqubeserver_permission_templates_remove_user** — Remove a user from a permission template in SonarQube Server. Requires login and permission. Returns success confirmation if removal is successful.
- **sonarqubeserver_permission_templates_set_default_template** — Set a permission template as default in SonarQube Server. Returns operation success status. Requires that either templateId or templateName is provided.
- **update_a_sonarqubeserver_permission_template_by_id** — Update a permission template in SonarQube Server. Requires id. Returns updated permission template fields such as id, description, name, and projectKeyPattern.
- **create_a_sonarqubeserver_user_permission** — Add a permission to a user in SonarQube Server. Requires login and permission. The response confirms the addition of the specified permission to the user.
- **delete_a_sonarqubeserver_user_permission_by_id** — Remove a specific permission from a user in SonarQube Server. Requires login and id. Returns confirmation of permission removal.
- **list_all_sonarqubeserver_plugins** — Get the list of all plugins available for installation on the SonarQube Server. Response includes key, name, category, description, license, organizationName, organizationUrl, editionBundled, release, update, and updateCenterRefresh fields.
- **update_a_sonarqubeserver_plugin_by_id** — Update a plugin by key in SonarQube Server to the latest compatible version. Requires id. Response indicates the update status and the plugin's updated version.
- **sonarqubeserver_plugins_install** — Install the latest version of a plugin in SonarQube Server using key. Requires key. Fails on commercial editions or if plugin risk consent not accepted. Returns information about the installed plugin.
- **sonarqubeserver_plugins_cancel_all** — Cancel all pending plugin operations in SonarQube Server. Returns confirmation of cancellation for all plugins.
- **sonarqubeserver_plugins_uninstall** — Uninstall a plugin in SonarQube Server using key as id. Returns status and message fields in the response.
- **list_all_sonarqubeserver_plugin_updates** — List plugin-updates in SonarQube Server. Returns plugins with available updates, each including key, name, category, description, license, organizationName, editionBundled, and available updates with release details and update status.
- **list_all_sonarqubeserver_installed_plugins** — List installed-plugins in SonarQube Server. Returns the list of all plugins installed on the SonarQube instance, sorted by plugin name. Key response fields include key, name, description, and version.
- **list_all_sonarqubeserver_pending_plugins** — Get the list of plugins pending installation, update, or removal in SonarQube Server. Returns installing, updating, and removing arrays with key, name, description, version, category, license, organizationName, organizationUrl, homepageUrl, issueTrackerUrl, implementationBuild, and documentationPath fields for each plugin.
- **list_all_sonarqubeserver_project_analyses** — List project analyses in SonarQube Server for the specified project. Requires project in query. Returns analysis id, date, key, and events associated with each analysis.
- **delete_a_sonarqubeserver_project_analysis_by_id** — Delete a project analysis in the SonarQube Server. Requires id. No fields are returned in the response.
- **create_a_sonarqubeserver_project_analyses_event** — Create a project analysis event in SonarQube Server. Requires analysis and name. Returns projectAnalysisEvent object containing the new event's id, category, analysis, and name. Only VERSION and OTHER categories can be created.
- **update_a_sonarqubeserver_project_analyses_event_by_id** — Update a project-analyses-events resource in SonarQube Server. Requires id and name. Only events of category 'VERSION' and 'OTHER' can be updated. Returns updated event key and name.
- **delete_a_sonarqubeserver_project_analyses_event_by_id** — Delete a project analysis event in SonarQube Server. Requires id. Only events of category 'VERSION' and 'OTHER' can be deleted. No response body is returned.
- **list_all_sonarqubeserver_project_measure_badges** — Generate a badge for a project's measure in SonarQube Server. Requires project and metric parameters. Returns SVG badge representing the specified metric and project.
- **list_all_sonarqubeserver_project_ai_assurance_badge** — Get a project's AI assurance badge in SonarQube Server as an SVG for a specific project. Requires project. The SVG badge image is returned in the response.
- **list_all_sonarqubeserver_quality_gate_badges** — Get the quality gate badge as SVG for a specific project in SonarQube Server. Requires project. Returns the SVG badge in the response.
- **list_all_sonarqubeserver_project_badge_token** — Retrieve a token for accessing project or application badges in SonarQube Server. Requires project. Returned token is used for authenticating with badge-related endpoints and is included in the response.
- **create_a_sonarqubeserver_project_badge_token** — Create a new badge token for a private project or application in SonarQube Server. Requires project parameter. Returns the new token to authenticate badge-related endpoints.
- **list_all_sonarqubeserver_project_branches** — List branches of a project in SonarQube Server. Requires project parameter. Returns fields such as name, isMain, and analysis statuses for each branch.
- **delete_a_sonarqubeserver_project_branch_by_id** — Delete a non-main branch of a project in SonarQube Server. Requires id and project. No content is returned in the response.
- **sonarqubeserver_project_branches_rename** — Rename the main branch of a project in SonarQube Server. Requires project and name. Returns the status and new name in the response.
- **sonarqubeserver_project_branches_set_main** — Set a new main branch for a project in SonarQube Server. Requires branch and project. Returns status indicating the main branch has been updated.
- **sonarqubeserver_project_branches_automatic_deletion_protection** — Set automatic deletion protection for a specific branch in SonarQube Server. Requires project, branch, and value. Returns status confirmation. Cannot disable protection for the main branch.
- **sonarqubeserver_project_dump_export** — Trigger export of a project in SonarQube Server. Requires key. Returns taskId, projectId, projectKey, and projectName in the response.
- **sonarqubeserver_project_dump_import** — Trigger import of a project dump in SonarQube Server. Requires key. Returns taskId, projectId, projectKey, and projectName in the response.
- **list_all_sonarqubeserver_project_links** — List links of a project in SonarQube Server. Requires projectId or projectKey. Returns fields: id, name, type, and url for each link.
- **create_a_sonarqubeserver_project_link** — Create a new project link in SonarQube Server. Requires name and url. Returns details for the created link including name and url.
- **delete_a_sonarqubeserver_project_link_by_id** — Delete project link id in SonarQube Server. Returns status of the deletion. Requires id.
- **list_all_sonarqubeserver_project_pull_requests** — List pull requests of a project in SonarQube Server. Requires project parameter. Returns key fields for each pull request including id, title, branch, status, and merge status.
- **delete_a_sonarqubeserver_project_pull_request_by_id** — Delete a pull request in SonarQube Server. Requires project and id. Returns confirmation of deletion.
- **list_all_sonarqubeserver_project_tags** — List all project-tags in SonarQube Server. Returns each tag as a string in the tags array response field.
- **create_a_sonarqubeserver_project_tag** — Set tags on a specific project in SonarQube Server. Requires project (project key) and tags (comma-separated list of tags). Returns status indicating the tags that were set on the project.
- **list_all_sonarqubeserver_qualitygates** — List qualitygates in SonarQube Server. Returns name, isDefault, isBuiltIn, actions (such as rename, setAsDefault, copy), caycStatus, hasStandardConditions, hasMQRConditions, and isAiCodeSupported for each qualitygate.
- **get_single_sonarqubeserver_qualitygate_by_id** — Get details about a specific quality gate in SonarQube Server using id. Returns information such as quality gate conditions and status in the response.
- **create_a_sonarqubeserver_qualitygate** — Create a Quality Gate in SonarQube Server. Requires name. Returns the created quality gate's details including its name and id in the response.
- **sonarqubeserver_qualitygates_add_group** — Allow a group of users to edit a Quality Gate in SonarQube Server. Requires gateName and groupName. Returns confirmation of group assignment to quality gate.
- **sonarqubeserver_qualitygates_add_user** — Add a user to edit a Quality Gate in SonarQube Server. Requires gateName and login as parameters. No data is returned in the response.
- **sonarqubeserver_qualitygates_copy** — Copy a Quality Gate in SonarQube Server. Requires name and sourceName. Returns the details of the newly created quality gate with its properties.
- **sonarqubeserver_qualitygates_deselect** — Remove the association of a project from a quality gate in SonarQube Server. Requires projectKey. No content is returned in the response.
- **delete_a_sonarqubeserver_qualitygate_by_id** — Delete a quality gate by id in SonarQube Server. Requires id. Deletes the specified quality gate by its name. No response body is returned.
- **sonarqubeserver_qualitygates_remove_group** — Remove a group's ability to edit a Quality Gate in SonarQube Server. Requires gateName and groupName. Returns success status.
- **sonarqubeserver_qualitygates_remove_user** — Remove a user's edit ability for a specific qualitygate in SonarQube Server. Requires gateName and login. No fields are returned in the response.
- **sonarqubeserver_qualitygates_rename** — Rename a quality gate in SonarQube Server. Requires currentName and name. Returns updated details of the renamed quality gate.
- **sonarqubeserver_qualitygates_select** — Associate a project to a quality gate in SonarQube Server. Requires gateName and projectKey. Returns a success status if the association is made.
- **sonarqubeserver_qualitygates_make_default** — Set a quality gate as the default in SonarQube Server. Requires the name parameter. Returns details of the operation performed.
- **list_all_sonarqubeserver_webservices** — List webservices in SonarQube Server. Returns webServices field with details about each available web service.
- **list_all_sonarqubeserver_webservice_response_example** — Get a web service response example in SonarQube Server. Requires parameters action and controller. Returns fields: action (web service action) and controller (web service controller).
- **list_all_sonarqubeserver_webhooks** — List webhooks in SonarQube Server. Returns list of webhooks with their name, URL, and configuration in the response.
- **update_a_sonarqubeserver_webhook_by_id** — Update a webhook in SonarQube Server. Requires name, url, and id. Returns updated webhook key, name, and url.
- **create_a_sonarqubeserver_webhook** — Create a webhook in SonarQube Server. Requires name and url. Returns webhook details including id, name, and url in the response.
- **delete_a_sonarqubeserver_webhook_by_id** — Delete a webhook in SonarQube Server. Requires id as the webhook key. The response confirms deletion of the specified webhook key.
- **list_all_sonarqubeserver_webhooks_deliveries** — List recent deliveries in SonarQube Server. Returns deliveries with fields such as id, status, and webhook details in the response.
- **get_single_sonarqubeserver_webhooks_delivery_by_id** — Get a webhook delivery in SonarQube Server by id. Returns delivery details including additional information specific to the webhook delivery. Requires id.
- **list_all_sonarqubeserver_project_export_findings** — Export all findings (issues and hotspots) for a specific project in SonarQube Server. Requires project as id. Returns key fields: key, projectKey, branch, pullRequest, path, lineNumber, message, ruleReference, impacts, and more for each finding.
- **list_all_sonarqubeserver_projects_ai_code** — Get whether a specific project in SonarQube Server contains AI code or not. Requires id as project key. Returns containsAiCode indicating the presence of AI code.
- **create_a_sonarqubeserver_projects_ai_code** — Set the contains_ai_code flag for a project in SonarQube Server. Requires project and contains_ai_code parameters. The response confirms whether the project's AI code status was updated.
- **list_all_sonarqubeserver_projects_license_usage** — List license usage for all projects in SonarQube Server. Returns projectKey, projectName, branch or pullRequest, linesOfCode, and licenseUsagePercentage for each project.
- **create_a_sonarqubeserver_qualitygates_condition** — Add a new condition to a quality gate in SonarQube Server. Requires gateName, error, and metric. Returns the created condition details including threshold and metric.
- **delete_a_sonarqubeserver_qualitygates_condition_by_id** — Delete a specific qualitygates-condition in SonarQube Server. Requires id. No fields are returned in the response.
- **update_a_sonarqubeserver_qualitygates_condition_by_id** — Update qualitygates-condition in SonarQube Server using id, error, and metric. Returns updated fields for the condition.
- **list_all_sonarqubeserver_qualitygate_project** — Get the quality gate of a project in SonarQube Server. Requires project. Returns quality gate details such as id, name, status, and conditions associated with the project's quality gate.
- **list_all_sonarqubeserver_qualitygate_project_status** — Get quality gate status of a project or Compute Engine task in SonarQube Server. Requires either analysisId, projectId, or projectKey. Returns status, project information, and key conditions in the response.
- **list_all_sonarqubeserver_search_qualitygates** — Search projects associated with a specific quality gate in SonarQube Server. Requires gate_name. Returns the list of authorized projects and their association status.
- **list_all_sonarqubeserver_search_qualitygates_groups** — List groups allowed to edit a Quality Gate in SonarQube Server. Requires gate_name. Returns groups with selection status in the response.
- **list_all_sonarqubeserver_search_qualitygates_users** — List users allowed to edit a Quality Gate in SonarQube Server. Requires gate_name. Returns users with fields such as login, name, and selection status.
- **list_all_sonarqubeserver_qualityprofiles** — List quality profiles in SonarQube Server. Returns profile key, name, language, and isDefault fields in the response.
- **create_a_sonarqubeserver_qualityprofile** — Create a quality profile in SonarQube Server. Requires language and name. Returns details of the created quality profile including its name and language.
- **delete_a_sonarqubeserver_qualityprofile_by_id** — Delete a quality profile by id in SonarQube Server. Requires language and id. Profile must not be a default profile. No content is returned in the response.
- **sonarqubeserver_qualityprofiles_rename** — Rename a quality profile in SonarQube Server. Requires key and name. Returns the updated profile key and new name in the response.
- **sonarqubeserver_qualityprofiles_restore** — Restore a quality profile in SonarQube Server using the required backup file in XML format. The profile name is taken from the backup and may overwrite an existing profile with the same name and language. Returns confirmation of restoration.
- **sonarqubeserver_qualityprofiles_make_default** — Set the default qualityprofile for a given language in SonarQube Server. Requires language and qualityProfile. Returns status indicating if the default was set successfully.
- **sonarqubeserver_qualityprofiles_change_parent** — Change parent of a qualityprofile in SonarQube Server. Requires qualityProfile and language. Returns updated parent linkage in the response.
- **sonarqubeserver_qualityprofiles_copy** — Copy qualityprofiles in SonarQube Server. Requires fromKey and toName. Returns fields of the new quality profile such as key, name, and language.
- **sonarqubeserver_qualityprofiles_rules_bulk_activate** — Bulk-activate rules for a specific quality profile in SonarQube Server. Requires targetKey. Returns the list of rules activated, their status, and any details about the activation process in the response.
- **create_a_sonarqubeserver_qualityprofiles_rule** — Activate a rule on a Quality Profile in SonarQube Server. Requires key and rule. Returns success or error status. Cannot set both severity and impacts; ignored if reset is true.
- **delete_a_sonarqubeserver_qualityprofiles_rule_by_id** — Deactivate a rule on a quality profile by id in SonarQube Server. Requires key and id as parameters. Returns response indicating successful deactivation.
- **sonarqubeserver_qualityprofiles_rules_bulk_deactivate** — Bulk deactivate rules on qualityprofiles-rules by id in SonarQube Server. Requires targetKey as the Quality Profile key. The response is empty if deactivation is successful.
- **create_a_sonarqubeserver_qualityprofile_project** — Associate a project with a quality profile in SonarQube Server. Requires language, project, and qualityProfile. Returns status of the association.
- **list_all_sonarqubeserver_qualityprofile_projects** — List projects with their association status for a specific quality profile in SonarQube Server. Requires key. Returns project name, association status, and relevant project identifiers in the response.
- **delete_a_sonarqubeserver_qualityprofile_project_by_id** — Remove a project's association with a quality profile in SonarQube Server. Requires language, project, and qualityProfile. No content is returned in the response.
- **list_all_sonarqubeserver_qualityprofiles_backup** — Backup a quality profile in SonarQube Server. Requires language and quality_profile. Returns the XML content of the specified quality profile for export and restore operations.
- **list_all_sonarqubeserver_qualityprofiles_changelog** — Get the history of changes on a quality profile in SonarQube Server. Requires language and quality_profile. Returns events with rule activation/deactivation, changes in parameters, severity, and impacts.
- **list_all_sonarqubeserver_qualityprofiles_inheritance** — Get ancestors and children of a specific quality profile in SonarQube Server. Requires language and quality_profile. Returns details about ancestors and children in the response.
- **list_all_sonarqubeserver_rules** — List rules in SonarQube Server. Returns rules with key, name, description, severity, status, tags, type, and additional metadata fields.
- **get_single_sonarqubeserver_rule_by_id** — Get detailed information about a specific rule in SonarQube Server. Requires id as key. Returns key fields such as rule type, name, language, status, and message in the response.
- **create_a_sonarqubeserver_rule** — Create a custom rule in SonarQube Server. Requires customKey, markdownDescription, name, and templateKey. Returns rule with key, name, htmlDesc, severity, status, type, and custom attributes.
- **delete_a_sonarqubeserver_rule_by_id** — Delete a custom rule in SonarQube Server. Requires id. Returns success confirmation if the rule is deleted.
- **update_a_sonarqubeserver_rule_by_id** — Update a rule in SonarQube Server. Requires id. Returns updated rule details including key, name, severity, status, and tags.
- **list_all_sonarqubeserver_rules_tags** — List rule tags in SonarQube Server. Returns tags field containing tag names.
- **list_all_sonarqubeserver_rule_repositories** — List available rule repositories in SonarQube Server. Returns repository key and name fields for each repository.
- **list_all_sonarqubeserver_settings_definitions** — List settings definitions in SonarQube Server. Returns definitions with fields such as key, name, description, type, category, subCategory, multiValues, defaultValue, options, and fields.
- **delete_a_sonarqubeserver_settings_definition_by_id** — Remove specified settings definitions in SonarQube Server by providing id parameter. The response does not return any content.
- **update_a_sonarqubeserver_settings_definition_by_id** — Update a setting value in SonarQube Server using id parameter. Returns confirmation of the update. Either value or values must be provided. Setting keys defined in conf/sonar.properties are read-only and cannot be changed.
- **list_all_sonarqubeserver_settings_values** — List settings values in SonarQube Server. Returns key, value, inherited, values, fieldValues for each setting. Secured settings values are not returned by the endpoint.
- **list_all_sonarqubeserver_file_scm** — Get SCM information of source files in SonarQube Server. Requires key. Returns line, author, date, and revision for each source line.
- **list_all_sonarqubeserver_sources** — Get source code for a specific file in SonarQube Server using id as key. Returns array of line numbers and their corresponding content for the source file. Requires See Source Code permission on file's project.
- **sonarqubeserver_sources_raw** — Get source code as raw text for a file in SonarQube Server. Requires key. Returns the raw source code as plain text if the user has 'See Source Code' permission on the file.
- **list_all_sonarqubeserver_health_status** — Get the health status of SonarQube Server. Returns health (system status), causes (reasons for non-green health), and nodes (each application node's status and details). No parameters required.
- **list_all_sonarqubeserver_system_info** — Get detailed information about SonarQube Server system configuration. Returns health status, system and database properties, plugin versions, JVM state, compute engine stats, ALM configs, settings, and more. Requires 'Administer' permission.
- **sonarqubeserver_system_info_restart** — Restart SonarQube Server. Performs a full restart of the Web, Search, and Compute Engine Server processes. Does not reload sonar.properties. No parameters required. No fields are returned in the response.
- **sonarqubeserver_system_info_migrate_db** — Migrate the database to match the current version of SonarQube Server. Returns state (migration status), message (process details), and startedAt (migration start time). Backup the database before running.
- **sonarqubeserver_system_info_ping** — Ping the system-info resource in SonarQube Server. Returns 'pong' text indicating the server is responsive.
- **list_all_sonarqubeserver_system_logs** — Get system logs in SonarQube Server. Returns log content as plain-text. Only system administrators can access this endpoint.
- **sonarqubeserver_system_logs_change_log_level** — Change the log level for system-logs in SonarQube Server. Requires level parameter. The new level is temporary and lost on server restart. Possible values for level are TRACE, DEBUG, INFO.
- **list_all_sonarqubeserver_system_status** — Get current SonarQube Server system status. Returns id (server identifier), version (SonarQube version), and status (server running state) in the response.
- **list_all_sonarqubeserver_system_upgrades** — List available system-upgrades in SonarQube Server. Returns version, description, releaseDate, changeLogUrl, downloadUrl, required plugin updates, and incompatible plugins for each upgrade.
- **list_all_sonarqubeserver_user_tokens** — List access tokens for a user in SonarQube Server. Returns fields such as name, token, type, and lastConnectionDate for each token. Requires that the login exists and is active. Only required parameter is login.
- **create_a_sonarqubeserver_user_token** — Create a user token in SonarQube Server. Requires name. Returns the generated token string for authentication and project analysis.
- **sonarqubeserver_user_tokens_revoke** — Revoke a user token in SonarQube Server. Requires name. Returns status of the revocation operation.
- **update_a_sonarqubeserver_users_password_by_id** — Update a user's password in SonarQube Server. Requires id and password. The password must be at least 12 characters long and contain at least one uppercase letter, one lowercase letter, one digit, and one special character. Returns success status.
- **list_all_sonarqubeserver_root_portfolios** — List root portfolios in SonarQube Server. Returns key, name, qualifier, and visibility for each portfolio. Only portfolios with admin permission are returned.
- **create_a_sonarqubeserver_root_portfolio** — Create a portfolio in SonarQube Server. Requires name parameter. Returns details for the created portfolio, such as key, name, and visibility.
- **delete_a_sonarqubeserver_root_portfolio_by_id** — Delete a portfolio definition in SonarQube Server using id as the portfolio key. Returns confirmation of deletion.
- **sonarqubeserver_root_portfolios_move** — Move a portfolio resource in SonarQube Server. Requires destination and key.  Returns operation status in response.
- **get_single_sonarqubeserver_root_portfolio_by_id** — Get details of a portfolio in SonarQube Server. Requires id as key. Returns fields such as hierarchy and project selection mode in the response.
- **update_a_sonarqubeserver_root_portfolio_by_id** — Update a portfolio in SonarQube Server. Returns updated portfolio fields such as key, name, and description. Requires Administrator permission on the portfolio.
- **sonarqubeserver_root_portfolios_set_regexp_mode** — Set the projects selection mode of a portfolio on regular expression in SonarQube Server. Requires portfolio and regexp. Key response fields indicate the updated portfolio selection mode.
- **sonarqubeserver_root_portfolios_set_none_mode** — Set the projects selection mode of a specific root-portfolio in SonarQube Server to none.  Returns confirmation of the update.
- **sonarqubeserver_root_portfolios_set_manual_mode** — Set the projects selection mode of a specific root-portfolio to manual in SonarQube Server. Response returns confirmation of portfolio mode change.
- **list_all_sonarqubeserver_portfolio_destinations** — List possible portfolio destinations in SonarQube Server. Requires key. Returns destinations specifying where a portfolio can be moved.
- **create_a_sonarqubeserver_portfolio_application** — Add an existing application to a portfolio in SonarQube Server. Requires application and portfolio. Returns status of addition.
- **sonarqubeserver_portfolio_applications_add_application_branch** — Add an application branch to a portfolio-applications resource in SonarQube Server. Requires application, branch, and key parameters. Response returns details of the added branch and associated application and portfolio.
- **delete_a_sonarqubeserver_portfolio_application_by_id** — Remove a portfolio-application in SonarQube Server. Requires id and portfolio. Returns confirmation of removal.
- **sonarqubeserver_portfolio_applications_remove_application_branch** — Remove a branch from a portfolio application in SonarQube Server. Requires application, branch, and key parameters. Removes the specified branch from the given application in the portfolio. No content is returned.
- **create_a_sonarqubeserver_portfolio_project** — Add a project to a portfolio in SonarQube Server. Requires key and project parameters. Returns confirmation of project addition.
- **sonarqubeserver_portfolio_projects_add_project_branch** — Add a branch to a portfolio-project in SonarQube Server. Requires branch, key, and project. Returns status of the addition. Requires administrator permission on the portfolio and browse permission for the project.
- **delete_a_sonarqubeserver_portfolio_project_by_id** — Remove a project from a portfolio by id in SonarQube Server.  No response content is returned.
- **sonarqubeserver_portfolio_projects_remove_project_branch** — Remove a branch from a specific portfolio-project in SonarQube Server. Requires branch, key, and project parameters. No response body is returned upon success.
- **sonarqubeserver_portfolio_projects_projects_selection_mode** — Set the projects selection mode of a portfolio on unassociated projects in hierarchy  in SonarQube Server. Returns status of the update in the response.
- **list_all_sonarqubeserver_portfolios** — List portfolios that can be referenced in SonarQube Server. Requires portfolio. Returns portfolios with their keys and names.
- **delete_a_sonarqubeserver_portfolio_by_id** — Remove a reference to a portfolio in SonarQube Server. Requires id and reference. No fields are returned in the response.
- **create_a_sonarqubeserver_portfolio** — Add an existing portfolio to the structure of another portfolio in SonarQube Server. Requires portfolio and reference. Returns confirmation of the addition.
- **sonarqubeserver_portfolio_tags_projects_selection_mode** — Set the projects selection mode for a portfolio in SonarQube Server using project tags. Requires portfolio and tags. The response returns the updated status of the portfolio tags mode.

## How it works

1. **Link your customer's SonarQube Server account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach SonarQube Server.** The Proxy API is a 1-to-1 mapping of the SonarQube Server API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Centralize SAST findings into a unified vulnerability management platform** — Security SaaS companies can ingest their customers' SonarQube Server issues, hotspots, and exported findings to build a single-pane-of-glass vulnerability inbox. Truto handles auth and pagination so you can focus on deduplication, triage logic, and bi-directional status sync via issue workflow transitions.
- **Enforce deployment gates based on real-time Quality Gate status** — CI/CD and release orchestration platforms can query SonarQube Quality Gate project status before promoting builds to production. This lets your customers codify code quality and security policies as hard deployment blockers without manual checks.
- **Power engineering analytics with historical code quality metrics** — Engineering intelligence platforms can pull component measures and search history from SonarQube to correlate technical debt accumulation with sprint velocity, giving engineering leaders data-driven insight into quality trade-offs across teams.
- **Surface live code health in internal developer portals and service catalogs** — Developer portal products can display per-service Quality Gate badges, code coverage, and vulnerability counts directly in their UI by reading SonarQube component measures and project measure badges, eliminating context switching for developers.
- **Automate issue triage and assignment from external workflow tools** — Project management and ticketing SaaS platforms can assign SonarQube issues to developers, bulk-change issue statuses, and transition hotspot workflows directly from their UI, keeping both systems perfectly in sync.

## What you can build

- **Unified vulnerability inbox with bi-directional status sync** — Ingest all SAST findings via project export findings and issues endpoints, and push triage decisions back to SonarQube using issue workflow transitions and bulk change operations.
- **Pre-deployment Quality Gate check** — Query Quality Gate project status in real time before a release and automatically block deployments that fail on new bugs, coverage, or security hotspot conditions.
- **Technical debt trend dashboard** — Pull historical component measures via search history to chart code coverage, duplications, complexity, and remediation effort over time across every project in a customer's SonarQube instance.
- **Live service health scorecards with Quality Gate badges** — Embed SonarQube project measure badges and parsed component measures into a service catalog to automatically grade each microservice on code quality maturity.
- **Automated webhook provisioning for event-driven syncs** — Programmatically create and manage SonarQube webhooks so your platform receives instant push notifications when analyses complete or Quality Gates change status, replacing expensive polling.
- **Cross-platform issue assignment and bulk triage** — Let users assign SonarQube issues to specific developers, change severities, and bulk-transition issue states directly from your SaaS interface using the issues assign and bulk change endpoints.

## FAQs

### What authentication methods does the SonarQube Server integration support?

SonarQube Server's API supports user tokens and project analysis tokens. Truto manages token-based auth on behalf of your end users, so you don't need to build or maintain token storage and rotation logic yourself.

### Can I read and write SonarQube issues, or is the integration read-only?

The integration supports full read and write. You can list issues and hotspots, assign issues to users, perform bulk changes, add comments, change severity, and transition issue workflows — all through Truto's available tools.

### How do I sync SonarQube findings in bulk without hitting rate limits?

Use the project export findings endpoint to pull all findings for a project in a single call rather than paginating through individual issues. Truto handles pagination automatically for list endpoints, reducing the complexity of large data pulls.

### Does the integration support managing Quality Gates and Quality Profiles?

Yes. You can list, create, copy, and delete Quality Gates, manage gate conditions, select gates for projects, and set defaults. Quality Profiles can be listed, created, copied, renamed, and have rules activated or deactivated in bulk.

### Can I provision webhooks programmatically for event-driven architectures?

Yes. The integration includes tools to create, list, update, and delete webhooks, as well as inspect webhook delivery history and individual delivery payloads. This lets you set up push-based notifications instead of polling.

### What user and group data is available through the Unified API?

Truto maps SonarQube Server to the Unified User Directory API, giving you normalized access to users, groups, and the authenticated user's profile (me). This means you can list users and user groups through a consistent schema shared across other integrations.
