-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsonarqube_api_webservices_list_v2.json
1 lines (1 loc) · 44.3 KB
/
sonarqube_api_webservices_list_v2.json
1
{"openapi":"3.0.1","info":{"title":"SonarQube Web API v2","description":"The SonarQube API v2 is a REST API which enables you to interact with SonarQube programmatically. Endpoint listed here should work as expected.\nHowever, you should not consider the API stable for now as it is still under development. New releases of SonarQube can bring changes to existing endpoint definitions.\n"},"servers":[{"url":"http://localhost:9000/api/v2","description":"Generated server url"}],"paths":{"/users-management/users":{"get":{"tags":["user-controller"],"summary":"Users search","description":" Get a list of users. By default, only active users are returned.\n The following fields are only returned when user has Administer System permission or for logged-in in user :\n 'email',\n 'externalIdentity',\n 'externalProvider',\n 'groups',\n 'lastConnectionDate',\n 'sonarLintLastConnectionDate',\n 'tokensCount'.\n Field 'sonarqubeLastConnectionDate' is only updated every hour, so it may not be accurate, for instance when a user authenticates many times in less than one hour.\n The results are sorted alphabetically by login.\n","operationId":"search","parameters":[{"name":"active","in":"query","description":"Return active/inactive users","required":false,"schema":{"type":"string","description":"Return active/inactive users","default":"true"}},{"name":"managed","in":"query","description":"Return managed or non-managed users. Only available for managed instances, throws for non-managed instances","required":false,"schema":{"type":"string","description":"Return managed or non-managed users. Only available for managed instances, throws for non-managed instances"}},{"name":"q","in":"query","description":"Filter on login, name and email.\nThis parameter can either perform an exact match, or a partial match (contains), it is case insensitive.","required":false,"schema":{"type":"string","description":"Filter on login, name and email.\nThis parameter can either perform an exact match, or a partial match (contains), it is case insensitive."}},{"name":"externalIdentity","in":"query","description":"Filter on externalIdentity.\nThis parameter perform a case-sensitive exact match","required":false,"schema":{"type":"string","description":"Filter on externalIdentity.\nThis parameter perform a case-sensitive exact match"}},{"name":"sonarQubeLastConnectionDateFrom","in":"query","description":"Filter users based on the last connection date field. Only users who interacted with this instance at or after the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","required":false,"schema":{"type":"string","description":"Filter users based on the last connection date field. Only users who interacted with this instance at or after the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","example":"2020-01-01T00:00:00+0100"},"example":"2020-01-01T00:00:00+0100"},{"name":"sonarQubeLastConnectionDateTo","in":"query","description":"Filter users based on the last connection date field. Only users that never connected or who interacted with this instance at or before the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","required":false,"schema":{"type":"string","description":"Filter users based on the last connection date field. Only users that never connected or who interacted with this instance at or before the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","example":"2020-01-01T00:00:00+0100"},"example":"2020-01-01T00:00:00+0100"},{"name":"sonarLintLastConnectionDateFrom","in":"query","description":"Filter users based on the SonarLint last connection date field Only users who interacted with this instance using SonarLint at or after the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","required":false,"schema":{"type":"string","description":"Filter users based on the SonarLint last connection date field Only users who interacted with this instance using SonarLint at or after the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","example":"2020-01-01T00:00:00+0100"},"example":"2020-01-01T00:00:00+0100"},{"name":"sonarLintLastConnectionDateTo","in":"query","description":"Filter users based on the SonarLint last connection date field. Only users that never connected or who interacted with this instance using SonarLint at or before the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","required":false,"schema":{"type":"string","description":"Filter users based on the SonarLint last connection date field. Only users that never connected or who interacted with this instance using SonarLint at or before the date will be returned. The format must be ISO 8601 datetime format (YYYY-MM-DDThh:mm:ss±hhmm)","example":"2020-01-01T00:00:00+0100"},"example":"2020-01-01T00:00:00+0100"},{"name":"groupId","in":"query","description":"Filter users belonging to group. Only available for system administrators. Using != operator will exclude users from this group.","required":false,"schema":{"type":"string","description":"Filter users belonging to group. Only available for system administrators. Using != operator will exclude users from this group.","x-internal":"true"},"x-internal":"true"},{"name":"pageSize","in":"query","description":"Number of results per page. A value of 0 will only return the pagination information.","required":false,"schema":{"maximum":500,"minimum":0,"type":"string","description":"Number of results per page. A value of 0 will only return the pagination information.","default":"50"}},{"name":"pageIndex","in":"query","description":"1-based page index","required":false,"schema":{"minimum":1,"type":"string","description":"1-based page index","default":"1"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersSearchRestResponse"}}}}}},"post":{"tags":["user-controller"],"summary":"User creation","description":" Create a user.\n If a deactivated user account exists with the given login, it will be reactivated.\n Requires Administer System permission.\n","operationId":"create","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRestResponseForAdmins"}}}}}}},"/dop-translation/gitlab-configurations":{"get":{"tags":["gitlab-configuration-controller"],"summary":"Search GitLab configs","description":" Get the list of GitLab configurations.\n Note that a single configuration is supported at this time.\n Requires 'Administer System' permission.\n","operationId":"searchGitlabConfiguration","responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitlabConfigurationSearchRestResponse"}}}}},"x-internal":"true"},"post":{"tags":["gitlab-configuration-controller"],"summary":"Create Gitlab configuration","description":" Create a new Gitlab configuration.\n Note that only a single configuration can exist at a time.\n Requires 'Administer System' permission.\n","operationId":"create_1","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitlabConfigurationCreateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitlabConfigurationResource"}}}}},"x-internal":"true"}},"/dop-translation/bound-projects":{"post":{"tags":["bound-projects-controller"],"summary":"Create a SonarQube project with the information from the provided DevOps platform project.","description":"Create a SonarQube project with the information from the provided DevOps platform project.\nAutoconfigure Pull-Request decoration mechanism.\nRequires the 'Create Projects' permission\n","operationId":"createBoundProject","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoundProjectCreateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoundProjectCreateRestResponse"}}}}}}},"/clean-code-policy/rules":{"post":{"tags":["rule-controller"],"summary":"Custom rule creation","description":" Create a custom rule.\n Requires the 'Administer Quality Profiles' permission.\n","operationId":"create_2","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleCreateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuleRestResponse"}}}}},"x-internal":"true"}},"/authorizations/groups":{"get":{"tags":["group-controller"],"summary":"Group search","description":" Get the list of groups.\n The results are sorted alphabetically by group name.\n","operationId":"search_1","parameters":[{"name":"managed","in":"query","description":"Return managed or non-managed groups. Only available for managed instances, throws for non-managed instances","required":false,"schema":{"type":"string","description":"Return managed or non-managed groups. Only available for managed instances, throws for non-managed instances"}},{"name":"q","in":"query","description":"Filter on name.\nThis parameter can either perform an exact match, or a partial match (contains), it is case insensitive.","required":false,"schema":{"type":"string","description":"Filter on name.\nThis parameter can either perform an exact match, or a partial match (contains), it is case insensitive."}},{"name":"pageSize","in":"query","description":"Number of results per page. A value of 0 will only return the pagination information.","required":false,"schema":{"maximum":500,"minimum":0,"type":"string","description":"Number of results per page. A value of 0 will only return the pagination information.","default":"50"}},{"name":"pageIndex","in":"query","description":"1-based page index","required":false,"schema":{"minimum":1,"type":"string","description":"1-based page index","default":"1"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupsSearchRestResponse"}}}}}},"post":{"tags":["group-controller"],"summary":"Create a new group","description":"Create a new group.","operationId":"create_3","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupCreateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRestResponse"}}}}}}},"/authorizations/group-memberships":{"get":{"tags":["group-membership-controller"],"summary":"Search across group memberships","description":" Get the list of groups and members matching the query.\n","operationId":"search_2","parameters":[{"name":"userId","in":"query","description":"ID of the user for which to search groups. If not set, all groups are returned.","required":false,"schema":{"type":"string","description":"ID of the user for which to search groups. If not set, all groups are returned."}},{"name":"groupId","in":"query","description":"ID of the group for which to search members. If not set, all groups are returned.","required":false,"schema":{"type":"string","description":"ID of the group for which to search members. If not set, all groups are returned."}},{"name":"pageSize","in":"query","description":"Number of results per page. A value of 0 will only return the pagination information.","required":false,"schema":{"maximum":500,"minimum":0,"type":"string","description":"Number of results per page. A value of 0 will only return the pagination information.","default":"50"}},{"name":"pageIndex","in":"query","description":"1-based page index","required":false,"schema":{"minimum":1,"type":"string","description":"1-based page index","default":"1"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupsMembershipSearchRestResponse"}}}}}},"post":{"tags":["group-membership-controller"],"summary":"Add a group membership","description":"Add a user to a group.","operationId":"create_4","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupMembershipCreateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupMembershipRestResponse"}}}}}}},"/users-management/users/{id}":{"get":{"tags":["user-controller"],"summary":"Fetch a single user","description":"Fetch a single user.\nThe following fields are only returned when user has Administer System permission or for logged-in in user :\n 'email'\n 'externalIdentity'\n 'externalProvider'\n 'groups'\n 'lastConnectionDate'\n 'sonarLintLastConnectionDate'\n 'tokensCount'\n Field 'sonarqubeLastConnectionDate' is only updated every hour, so it may not be accurate, for instance when a user authenticates many times in less than one hour.\n","operationId":"fetchUser","parameters":[{"name":"id","in":"path","description":"The id of the user to fetch.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRestResponseForAdmins"}}}}}},"delete":{"tags":["user-controller"],"summary":"Deactivate a user","description":"Deactivates a user. Requires Administer System permission.","operationId":"deactivate","parameters":[{"name":"id","in":"path","description":"The ID of the user to delete.","required":true,"schema":{"type":"string"}},{"name":"anonymize","in":"query","description":"Anonymize user in addition to deactivating it.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"204":{"description":"No Content"}}},"patch":{"tags":["user-controller"],"summary":"Update a user","description":"Update a user.\nAllows updating user's name, email and SCM accounts.\n","operationId":"updateUser","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/UserUpdateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRestResponseForAdmins"}}}}}}},"/dop-translation/gitlab-configurations/{id}":{"get":{"tags":["gitlab-configuration-controller"],"summary":"Fetch a GitLab configuration","description":"Fetch a GitLab configuration. Requires 'Administer System' permission.\n","operationId":"getGitlabConfiguration","parameters":[{"name":"id","in":"path","description":"The id of the configuration to fetch.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitlabConfigurationResource"}}}}},"x-internal":"true"},"delete":{"tags":["gitlab-configuration-controller"],"summary":"Delete a GitLab configuration","description":"Delete a GitLab configuration.\nRequires 'Administer System' permission.\n","operationId":"deleteGitlabConfiguration","parameters":[{"name":"id","in":"path","description":"The id of the configuration to delete.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"204":{"description":"No Content"}},"x-internal":"true"},"patch":{"tags":["gitlab-configuration-controller"],"summary":"Update a Gitlab configuration","description":"Update a Gitlab configuration. Requires 'Administer System' permission.\n","operationId":"updateGitlabConfiguration","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/GitlabConfigurationUpdateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GitlabConfigurationResource"}}}}},"x-internal":"true"}},"/authorizations/groups/{id}":{"get":{"tags":["group-controller"],"summary":"Fetch a single group","description":"Fetch a single group.","operationId":"fetchGroup","parameters":[{"name":"id","in":"path","description":"The id of the group to fetch.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRestResponse"}}}}}},"delete":{"tags":["group-controller"],"summary":"Deletes a group","description":"Deletes a group.","operationId":"deleteGroup","parameters":[{"name":"id","in":"path","description":"The ID of the group to delete.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"204":{"description":"No Content"}}},"patch":{"tags":["group-controller"],"summary":"Update a group","description":"Update a group name or description.\n","operationId":"updateGroup","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/merge-patch+json":{"schema":{"$ref":"#/components/schemas/GroupUpdateRestRequest"}}},"required":true},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupRestResponse"}}}}}}},"/system/liveness":{"get":{"tags":["liveness-controller"],"summary":"Provide liveness of SonarQube, meant to be used as a liveness probe on Kubernetes","description":" Require 'Administer System' permission or authentication with passcode.\n\n When SonarQube is fully started, liveness check for database connectivity, Compute Engine status, and, except for DataCenter Edition, if ElasticSearch is Green or Yellow.\n\n When SonarQube is on Safe Mode (for example when a database migration is running), liveness check only for database connectivity\n","operationId":"livenessCheck","parameters":[{"name":"X-Sonar-Passcode","in":"header","description":"Passcode can be provided, see SonarQube documentation","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"204":{"description":"This SonarQube node is alive"},"default":{"description":"This SonarQube node is not alive and should be rescheduled"}}}},"/system/health":{"get":{"tags":["health-controller"],"operationId":"getHealth","parameters":[{"name":"X-Sonar-Passcode","in":"header","required":false,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}}}}},"/dop-translation/project-bindings":{"get":{"tags":["project-bindings-controller"],"summary":"Search across project bindings","operationId":"getProjectBindingByProjectId","parameters":[{"name":"repository","in":"query","description":"Filter on the repository name.\nThis parameter performs an exact, case insensitive, match.\n","required":false,"schema":{"type":"string","description":"Filter on the repository name.\nThis parameter performs an exact, case insensitive, match.\n"}},{"name":"dopSettingId","in":"query","description":"Filter on the DevOps Platform setting id.","required":false,"schema":{"type":"string","description":"Filter on the DevOps Platform setting id."}},{"name":"pageSize","in":"query","description":"Number of results per page. A value of 0 will only return the pagination information.","required":false,"schema":{"maximum":500,"minimum":0,"type":"string","description":"Number of results per page. A value of 0 will only return the pagination information.","default":"50"}},{"name":"pageIndex","in":"query","description":"1-based page index","required":false,"schema":{"minimum":1,"type":"string","description":"1-based page index","default":"1"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBindingsSearchRestResponse"}}}}},"x-internal":"true"}},"/dop-translation/project-bindings/{id}":{"get":{"tags":["project-bindings-controller"],"summary":"Fetch a single Project Binding","operationId":"getProjectBinding","parameters":[{"name":"id","in":"path","description":"The id of the project-bindings to fetch.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectBinding"}}}}},"x-internal":"true"}},"/dop-translation/dop-settings":{"get":{"tags":["dop-settings-controller"],"summary":"List all DevOps Platform Integration settings","description":"Requires the 'Create Projects' permission ","operationId":"fetchAllDopSettings","responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DopSettingsRestResponse"}}}}}}},"/authorizations/group-memberships/{id}":{"delete":{"tags":["group-membership-controller"],"summary":"Remove a group membership","description":"Remove a user from a group","operationId":"delete","parameters":[{"name":"id","in":"path","description":"The ID of the group membership to delete.","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestError"}}}},"204":{"description":"No Content"}}}}},"components":{"schemas":{"RestError":{"type":"object","properties":{"message":{"type":"string"}}},"UserCreateRestRequest":{"required":["login","name"],"type":"object","properties":{"email":{"maxLength":100,"minLength":1,"type":"string","description":"User email"},"local":{"type":"boolean","description":"Specify if the user should be authenticated from SonarQube server or from an external authentication system. Password should not be set when local is set to false.","default":true},"login":{"maxLength":100,"minLength":2,"type":"string","description":"User login"},"name":{"maxLength":200,"minLength":0,"type":"string","description":"User name"},"password":{"type":"string","description":"User password. Only mandatory when creating local user, otherwise it should not be set","writeOnly":true},"scmAccounts":{"type":"array","description":"List of SCM accounts.","items":{"type":"string","description":"List of SCM accounts."}}}},"UserRestResponseForAdmins":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"login":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"active":{"type":"boolean","readOnly":true},"local":{"type":"boolean","readOnly":true},"managed":{"type":"boolean","readOnly":true},"externalLogin":{"type":"string"},"externalProvider":{"type":"string"},"avatar":{"type":"string"},"sonarQubeLastConnectionDate":{"type":"string","readOnly":true},"sonarLintLastConnectionDate":{"type":"string","readOnly":true},"scmAccounts":{"type":"array","items":{"type":"string"}}}},"GitlabConfigurationCreateRestRequest":{"required":["allowedGroups","applicationId","enabled","provisioningType","secret","synchronizeGroups","url"],"type":"object","properties":{"enabled":{"type":"boolean","description":"Enable Gitlab authentication"},"applicationId":{"type":"string","description":"Gitlab Application id"},"url":{"type":"string","description":"Url of Gitlab instance for authentication (for instance https://gitlab.com)"},"secret":{"type":"string","description":"Secret of the application","writeOnly":true},"synchronizeGroups":{"type":"boolean","description":"Set whether to synchronize groups"},"allowedGroups":{"type":"array","description":"GitLab groups allowed to authenticate.\nSubgroups will automatically be included.\nWhen Auto-provisioning is enabled, members of these groups will be automatically provisioned in SonarQube.\nThis field is required to be non-empty for Auto-provisioning.\n","items":{"type":"string"}},"provisioningType":{"type":"string","description":"Type of synchronization","enum":["JIT","AUTO_PROVISIONING"]},"provisioningToken":{"type":"string","description":"Gitlab token for provisioning","writeOnly":true},"allowUsersToSignUp":{"type":"boolean","description":"Allow user to sign up"}}},"GitlabConfigurationResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"enabled":{"type":"boolean"},"applicationId":{"type":"string","description":"Gitlab Application id"},"url":{"type":"string","description":"Url of Gitlab instance for authentication (for instance https://gitlab.com/api/v4)"},"synchronizeGroups":{"type":"boolean"},"allowedGroups":{"type":"array","description":"Root Gitlab groups allowed to authenticate and provisioned","items":{"type":"string","description":"Root Gitlab groups allowed to authenticate and provisioned"}},"allowUsersToSignUp":{"type":"boolean"},"provisioningType":{"type":"string","enum":["JIT","AUTO_PROVISIONING"]},"isProvisioningTokenSet":{"type":"boolean","description":"Whether or not the provisioningToken is defined","readOnly":true},"errorMessage":{"type":"string","description":"In case the GitLab configuration is incorrect, error message","readOnly":true}}},"BoundProjectCreateRestRequest":{"required":["devOpsPlatformSettingId","monorepo","projectKey","projectName","repositoryIdentifier"],"type":"object","properties":{"projectKey":{"type":"string","description":"Key of the project to create"},"projectName":{"type":"string","description":"Name of the project to create"},"devOpsPlatformSettingId":{"type":"string","description":"Identifier of DevOps platform configuration to use."},"repositoryIdentifier":{"type":"string","description":"Identifier of the DevOps platform repository to import:\n- repository slug for GitHub and Bitbucket (Cloud and Server)\n- repository id for GitLab\n- repository name for Azure DevOps\n"},"projectIdentifier":{"type":"string","description":"Identifier of the DevOps platform project in which the repository is located.\nThis is only needed for Azure and BitBucket Server platforms\n"},"newCodeDefinitionType":{"type":"string","description":" Project New Code Definition Type\n New code definitions of the following types are allowed:\n - PREVIOUS_VERSION\n - NUMBER_OF_DAYS\n - REFERENCE_BRANCH - will default to the main branch.\n"},"newCodeDefinitionValue":{"type":"string","description":" Project New Code Definition Value\n For each new code definition type, a different value is expected:\n - no value, when the new code definition type is PREVIOUS_VERSION and REFERENCE_BRANCH\n - a number between 1 and 90, when the new code definition type is NUMBER_OF_DAYS\n"},"monorepo":{"type":"boolean","description":"True if project is part of a mono repo."}}},"BoundProjectCreateRestResponse":{"type":"object","properties":{"projectId":{"type":"string","description":"The identifier of the created project"},"bindingId":{"type":"string","description":"The identifier of the binding between the created project and the DevOps platform project"}}},"Impact":{"type":"object","properties":{"softwareQuality":{"type":"string","enum":["MAINTAINABILITY","RELIABILITY","SECURITY"]},"severity":{"type":"string","enum":["LOW","MEDIUM","HIGH"]}},"description":"Impacts"},"Parameter":{"type":"object","properties":{"key":{"type":"string"},"htmlDescription":{"type":"string","readOnly":true},"defaultValue":{"type":"string"},"type":{"type":"string","readOnly":true,"enum":["STRING","TEXT","BOOLEAN","INTEGER","FLOAT"]}},"description":"Custom rule parameters"},"RuleCreateRestRequest":{"required":["cleanCodeAttribute","impacts","key","markdownDescription","name","templateKey"],"type":"object","properties":{"key":{"maxLength":200,"minLength":0,"type":"string","description":"Key of the custom rule to create, must include the repository"},"templateKey":{"maxLength":200,"minLength":0,"type":"string","description":"Key of the rule template to be used to create the custom rule"},"name":{"maxLength":200,"minLength":0,"type":"string","description":"Rule name"},"markdownDescription":{"type":"string","description":"Rule description in markdown format"},"status":{"type":"string","description":"Rule status","default":"READY","enum":["BETA","DEPRECATED","READY","REMOVED"]},"parameters":{"type":"array","description":"Custom rule parameters","items":{"$ref":"#/components/schemas/Parameter"}},"cleanCodeAttribute":{"type":"string","description":"Clean code attribute","enum":["CONVENTIONAL","FORMATTED","IDENTIFIABLE","CLEAR","COMPLETE","EFFICIENT","LOGICAL","DISTINCT","FOCUSED","MODULAR","TESTED","LAWFUL","RESPECTFUL","TRUSTWORTHY"]},"impacts":{"type":"array","description":"Impacts","items":{"$ref":"#/components/schemas/Impact"}}}},"RuleDescriptionSectionContextRestResponse":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"}},"readOnly":true},"RuleDescriptionSectionRestResponse":{"type":"object","properties":{"key":{"type":"string","readOnly":true},"content":{"type":"string","readOnly":true},"context":{"$ref":"#/components/schemas/RuleDescriptionSectionContextRestResponse"}}},"RuleRestResponse":{"type":"object","properties":{"id":{"type":"string"},"key":{"type":"string"},"repositoryKey":{"type":"string"},"name":{"type":"string"},"severity":{"type":"string"},"type":{"type":"string","enum":["CODE_SMELL","BUG","VULNERABILITY","SECURITY_HOTSPOT"]},"impacts":{"type":"array","items":{"$ref":"#/components/schemas/Impact"}},"cleanCodeAttribute":{"type":"string","enum":["CONVENTIONAL","FORMATTED","IDENTIFIABLE","CLEAR","COMPLETE","EFFICIENT","LOGICAL","DISTINCT","FOCUSED","MODULAR","TESTED","LAWFUL","RESPECTFUL","TRUSTWORTHY"]},"cleanCodeAttributeCategory":{"type":"string","enum":["ADAPTABLE","CONSISTENT","INTENTIONAL","RESPONSIBLE"]},"status":{"type":"string","enum":["BETA","DEPRECATED","READY","REMOVED"]},"external":{"type":"boolean"},"createdAt":{"type":"string"},"descriptionSections":{"type":"array","items":{"$ref":"#/components/schemas/RuleDescriptionSectionRestResponse"}},"markdownDescription":{"type":"string"},"gapDescription":{"type":"string"},"htmlNote":{"type":"string"},"markdownNote":{"type":"string"},"educationPrinciples":{"type":"array","items":{"type":"string"}},"template":{"type":"boolean"},"templateId":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"systemTags":{"type":"array","items":{"type":"string"}},"languageKey":{"type":"string"},"languageName":{"type":"string"},"parameters":{"type":"array","items":{"$ref":"#/components/schemas/Parameter"}},"remediationFunctionType":{"type":"string"},"remediationFunctionGapMultiplier":{"type":"string"},"remediationFunctionBaseEffort":{"type":"string"}},"readOnly":true},"GroupCreateRestRequest":{"required":["name"],"type":"object","properties":{"name":{"maxLength":255,"minLength":1,"type":"string","description":"Name for the new group. Must be unique. The value 'anyone' is reserved and cannot be used."},"description":{"maxLength":200,"minLength":0,"type":"string","description":"Description for the new group."}}},"GroupRestResponse":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"managed":{"type":"boolean","readOnly":true},"default":{"type":"boolean","readOnly":true}}},"GroupMembershipCreateRestRequest":{"type":"object","properties":{"userId":{"type":"string","description":"ID of the user to add to group."},"groupId":{"type":"string","description":"ID of the group where a member needs to be added."}}},"GroupMembershipRestResponse":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"groupId":{"type":"string","readOnly":true},"userId":{"type":"string","readOnly":true}}},"UpdateFieldString":{"type":"object","properties":{"value":{"type":"string"},"defined":{"type":"boolean"}},"description":"User login"},"UserUpdateRestRequest":{"type":"object","properties":{"login":{"$ref":"#/components/schemas/UpdateFieldString"},"name":{"maxLength":200,"minLength":0,"type":"string","description":"User first name and last name"},"email":{"maxLength":100,"minLength":1,"type":"string","description":"Email"},"scmAccounts":{"type":"array","description":"List of SCM accounts.","items":{"type":"string"}},"externalProvider":{"type":"string","description":"New external provider. Only authentication system installed are available. Use 'LDAP' identity provider for single server LDAP setup. Use 'LDAP_{serverKey}' identity provider for multiple LDAP servers setup. Warning: when this information has been updated for a user, the user will only be able to authenticate via the new identity provider. It is not possible to migrate external user to local one."},"externalLogin":{"maxLength":255,"minLength":1,"type":"string","description":"New external login, usually the login used in the authentication system. If not provided previous identity will be used."}}},"GitlabConfigurationUpdateRestRequest":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Enable Gitlab authentication"},"applicationId":{"type":"string","description":"Gitlab Application id"},"url":{"type":"string","description":"Url of Gitlab instance for authentication (for instance https://gitlab.com/api/v4)"},"secret":{"type":"string","description":"Secret of the application","nullable":true},"synchronizeGroups":{"type":"boolean","description":"Set whether to synchronize groups"},"allowedGroups":{"type":"array","description":"Root Gitlab groups allowed to authenticate and provisioned","items":{"type":"string"}},"provisioningType":{"type":"string","description":"Type of synchronization","enum":["JIT","AUTO_PROVISIONING"]},"allowUsersToSignUp":{"type":"boolean","description":"Allow user to sign up"},"provisioningToken":{"maxLength":2147483647,"minLength":1,"type":"string","description":"Gitlab token for provisioning","nullable":true}}},"GroupUpdateRestRequest":{"type":"object","properties":{"name":{"maxLength":255,"minLength":1,"type":"string","description":"Group name"},"description":{"maxLength":200,"minLength":0,"type":"string","description":"Description of the group"}}},"PageRestResponse":{"type":"object","properties":{"pageIndex":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"total":{"type":"integer","format":"int32"}}},"UsersSearchRestResponse":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/UserRestResponseForAdmins"}},"page":{"$ref":"#/components/schemas/PageRestResponse"}}},"Health":{"type":"object","properties":{"status":{"type":"string","enum":["GREEN","YELLOW","RED"]},"causes":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}},"ProjectBinding":{"required":["devOpsPlatformSettingId","id","projectId","projectKey"],"type":"object","properties":{"id":{"type":"string"},"devOpsPlatformSettingId":{"type":"string"},"projectId":{"type":"string"},"projectKey":{"type":"string"},"repository":{"type":"string"},"slug":{"type":"string"}}},"ProjectBindingsSearchRestResponse":{"type":"object","properties":{"projectBindings":{"type":"array","items":{"$ref":"#/components/schemas/ProjectBinding"}},"page":{"$ref":"#/components/schemas/PageRestResponse"}}},"GitlabConfigurationSearchRestResponse":{"type":"object","properties":{"gitlabConfigurations":{"type":"array","items":{"$ref":"#/components/schemas/GitlabConfigurationResource"}},"page":{"$ref":"#/components/schemas/PageRestResponse"}}},"DopSettingsResource":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","description":"Supported DevOps Platform are: github, gitlab, azure, bitbucketcloud, bitbucket_server"},"key":{"type":"string"},"url":{"type":"string"},"appId":{"type":"string"}}},"DopSettingsRestResponse":{"type":"object","properties":{"dopSettings":{"type":"array","items":{"$ref":"#/components/schemas/DopSettingsResource"}},"page":{"$ref":"#/components/schemas/PageRestResponse"}}},"GroupsSearchRestResponse":{"type":"object","properties":{"groups":{"type":"array","items":{"$ref":"#/components/schemas/GroupRestResponse"}},"page":{"$ref":"#/components/schemas/PageRestResponse"}}},"GroupsMembershipSearchRestResponse":{"type":"object","properties":{"groupMemberships":{"type":"array","items":{"$ref":"#/components/schemas/GroupMembershipRestResponse"}},"page":{"$ref":"#/components/schemas/PageRestResponse"}}}}}}