-
Type:
MMF
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Labels:
-
Epic Link:
SonarQube must have the built-in concept of "Organization".
An organization has:
- a UUID (generated)
- the technical unique identifier of the organisation
- a display name (mandatory)
- it doesn't have to be unique
- a (functional) key (mandatory)
- this key is, by default, generated from the name, but can be specified by the user
- it must be unique ignoring case and will be used in URLs
- a description (optional)
- a URL (optional)
- an avatar URL (optional)
- members
- These are SQ users
- They can belong to the organization either directly or as member of a group belonging to the organization
Owners:
Some members belong to a special group called "owners". They will be able to administer the organization.
- this group is created automatically when an organization is created
- this group can be deleted and be empty, it's only a convenience
- this group has all permissions on the organization
The user who creates an organization is automatically added to the group "Owners".
Default organization:
SonarQube has 1 (and only 1) default organization.
It will be used later-on by WS to ensure backward compatibility when an "org" parameter is expected but not passed.
When starting SQ from scratch or when moving to SQ 6.2+, we expect a default organization to be created:
- key: default
- name: "Default Organization"
- members:
- when starting from scratch: "admin" - who will be "owner"
- when moving to SQ 6.2+: all the users who have the "Administer System" permission - and they will all be "owners"
Available actions on organizations:
- List all organizations
- Does not require any specific permission
- See all the details of an organization (including its members and their role)
- Does not require any specific permission
- Create an organization
- Requires to be logged-in
- The user who creates it is de-facto an owner of the org
- We'll probably add a new global permission later on (granted to "sonar-users" by default on SQ.com for instance) to be able to create orgs
- Edit the details or delete an org
- Requires to be owner of the org or have the "Administer System" global permission
- Obviously the default org cannot be deleted
- breaks down into
-
SONAR-8096 Add internal WebService /api/organizations/search
-
- Closed
-
-
SONAR-8097 Add internal WebService /api/organizations/create
-
- Closed
-
-
SONAR-8100 Add internal WebService /api/organizations/delete
-
- Closed
-
-
SONAR-8151 Add property sonar.organizations.anyoneCanCreate
-
- Closed
-
-
SONAR-8152 Make creator of an organization automatically an administer of it
-
- Closed
-
-
SONAR-8172 Add internal WebService /api/organizations/update
-
- Closed
-
-
SONAR-8095 Add table ORGANIZATIONS
-
- Closed
-
-
SONAR-8134 Make User Groups belongs to an organization
-
- Closed
-
-
SONAR-8098 Create default organization on first install
-
- Closed
-
-
SONAR-8099 Create default organization when upgrading to SQ 6.2
-
- Closed
-
-
SONAR-8183 Fail at startup if default organization is missing
-
- Closed
-
-
SONAR-8252 Support organizations in web service api/user_groups/create
-
- Closed
-
-
SONAR-8253 Support organizations in web service api/user_groups/delete
-
- Closed
-
-
SONAR-8254 Support organizations in web service api/user_groups/add_user
-
- Closed
-
-
SONAR-8255 Support organizations in web service api/user_groups/remove_user
-
- Closed
-
-
SONAR-8256 Support organizations in web service api/user_groups/search
-
- Closed
-
-
SONAR-8257 Support organizations in web service api/user_groups/update
-
- Closed
-
-
SONAR-8258 Support organizations in web service api/user_groups/users
-
- Closed
-
-
SONAR-8259 Support organizations in web service api/permissions/add_group
-
- Closed
-
-
SONAR-8260 Support organizations in web service api/permissions/add_user
-
- Closed
-
-
SONAR-8261 Support organizations in web service api/permissions/groups
-
- Closed
-
-
SONAR-8262 Support organizations in web service api/permissions/remove_group
-
- Closed
-
-
SONAR-8263 Support organizations in web service api/permissions/remove_user
-
- Closed
-
-
SONAR-8264 Support organizations in web service api/permissions/add_group
-
- Closed
-
-
SONAR-8265 Support organizations in web service api/permissions/search_global_permission
-
- Closed
-
-
SONAR-8267 Support organizations in web service api/permissions/users
-
- Closed
-
-
SONAR-8268 Support organizations in web service api/permissions/delete_template
-
- Closed
-
-
SONAR-8269 Support organizations in web service api/permissions/add_group_to_template
-
- Closed
-
-
SONAR-8270 Support organizations in web service api/permissions/add_project_creator_to_template
-
- Closed
-
-
SONAR-8271 Support organizations in web service api/permissions/add_user_to_template
-
- Closed
-
-
SONAR-8272 Support organizations in web service api/permissions/apply_template
-
- Closed
-
-
SONAR-8273 Support organizations in web service api/permissions/bulk_apply_template
-
- Closed
-
-
SONAR-8274 Support organizations in web service api/permissions/create_template
-
- Closed
-
-
SONAR-8275 Support organizations in web service api/permissions/remove_group_from_template
-
- Closed
-
-
SONAR-8276 Support organizations in web service api/permissions/remove_project_creator_from_template
-
- Closed
-
-
SONAR-8277 Support organizations in web service api/permissions/remove_user_from_template
-
- Closed
-
-
SONAR-8278 Support organizations in web service api/permissions/search_templates
-
- Closed
-
-
SONAR-8279 Support organizations in web service api/permissions/set_default_template
-
- Closed
-
-
SONAR-8280 Support organizations in web service api/permissions/update_template
-
- Closed
-
-
SONAR-8296 Support organizations in web service api/permissions/template_groups
-
- Closed
-
-
SONAR-8297 Support organizations in web service api/permissions/template_users
-
- Closed
-
- is depended upon by
-
MMF-471 Seamlessly replace permission "Administer System" by root and permission "Administer Organization"
-
- Closed
-