com.collabnet.ce.soap60.webservices.rbac

## Interface IRbacAppSoap

- All Known Implementing Classes:
    RbacAppSoapMockStub, RbacAppSoapStub

      public interface IRbacAppSoap

  SOAP APIs for Role Based Access Control (RBAC).

  Change History
  Version 18.2
  - getIntegratedAppPermissions: New operation added to get list of integratedApp permissions for the user associated with specified projects.
  Version 17.8
  - removeIntegratedApplicationPermission: New operation added to remove an integrated application permission from role.
  Version 8.0
  - getRoleData: New operation added in 8.0 to get the requested Role data.
  - listClusterForDefaultAccessPermissions: New operation added in 8.0.
  - addIntegratedApplicationPermission:New operation added in 8.0.
  Version 6.1
  - createRole2: Removed and merged into createRole.
  - getRoleMemberList2: Renamed to getProjectRoleMemberList.
  - getRoleMemberListForProject: Removed, use getRoleMemberList instead.
  - getRoleGroupUsers2: Removed and merged into getRoleGroupUsers.
  - getMemberInfo: Removed, use getUserRoleList instead.
  - addUser2: Renamed to addUserToProjectRole.
  - removeUser2: Renamed to removeUserFromProjectRole.
  Version 6.0.1
  - getRoleMemberList2:New operation added in 6.0.1
  - listGroupRolesByProjectGroup:New operation added in 6.0.1
  Version 6.0
  - createRole2: New operation added in 6.0
  - addUser2: New operation added in 6.0
  - removeUser2: New operation added in 6.0
  - getInheritedRoleList: New operation added in 6.0
  - getSiteWideRoleList: New operation added in 6.0
  - createSiteWideRole: New operation added in 6.0
  - getUserSiteWideRoleList: New operation added in 6.0
  - createGlobalRole: New operation added in 6.0
  - getGlobalRoleList: New operation added in 6.0
  - getProjectsForAction:New operation added in 6.0
  - grantRolesToMembers:New operation added in 6.0
  - revokeRolesFromMembers:New operation added in 6.0
  - getMemberInfo:New operation added in 6.0
  - getRoleMemberListForProject:New operation added in 6.0
  - setAutomaticallyGrantOnRequest:New operation added in 6.0
  - getAutomaticallyGrantOnRequest:New operation added in 6.0
  - getPendingRequestedRoles:New operation added in 6.0
  - approveRoleRequest:New operation added in 6.0
  - rejectRoleRequest:New operation added in 6.0
  - requestRole:New operation added in 6.0
  - getIntegratedAppPermissionsForProject:New operation added in 6.0
  - setRoleData:New operation added in 6.0
  - getGlobalRolesForAssignment:New operation added in 6.0
  Version 5.4
  - getRoleMemberList2: Added in 5.4 to return new `User2SoapList` objects.
  - getRoleGroupUsers2: Added in 5.4 to return new `User2SoapList` objects.
  - getProjectsByIntegratedAppPermission: Return a list of projects for a given integrated application permission.
  - getIntegratedAppPermissionsForProject: Return a list of integrated application permissions in a project.
  Version 5.2
  - getUserRoleList: Modified in 5.2 to allow non project admins to call method on own self
  - setRolePaths: New operation added in 5.2
  - listRolePaths: New operation added in 5.2
  Version 4.4
  - addCluster2: Operation removed in 4.4. Use addCluster instead
  - addCluster: Operation modified in 4.4 to remove parameter resourceName
  - deleteRole: New operation added in 4.4
  - removeCluster: New operation added in 4.4
  - listClusters: New operation added in 4.4
  Since:
    4.1-HOTFIX4

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCluster(String sessionId, String roleId, String operationCluster, String folderId)` Adds an operation cluster to a role, expanding the permission set that the role grants access to.
    `void` | `addGroup(String sessionId, String groupId, String roleId, String projectOrProjectGroupId)` Adds a user group to a role, within the Project/ProjectGroup scope.
    `void` | `addIntegratedApplicationPermission(String sessionId, String roleId, String integratedAppName, String permission)` Adds an integrated application permission to a role, expanding the permission set that the role grants access to.
    `void` | `addUser(String sessionId, String roleId, String username)` Adds a user to the role, giving them all of the permissions of that role
    `void` | `addUserToProjectRole(String sessionId, String roleId, String username, String projectOrProjectGroupId)` Adds a user to the role in the given project context, giving them all of the permissions of that role in that project Same as `addUser` but also takes projectOrProjectGroupId as an additional parameter.
    `void` | `approveRoleRequest(String sessionId, String requestId, String projectId)` Approves a role request
    `RoleSoapDO` | `createGlobalRole(String sessionId, String title, String description, boolean preventInheritance, boolean requestable)` Creates a global role.
    `RoleSoapDO` | `createRole(String sessionId, String projectOrProjectGroupId, String title, String description, boolean preventInheritance, boolean requestable, boolean autoGrant)` Creates a role in a given project
    `RoleSoapDO` | `createSiteWideRole(String sessionId, String title, String description, boolean preventInheritance)` Creates a site-wide role.
    `void` | `deleteRole(String sessionId, String roleId)` Deletes a role.
    `boolean` | `getAutomaticallyGrantOnRequest(String sessionId, String roleId, String projectId)` Gets the role's Automatically Grant On Request for the given project.
    `RoleSoapList` | `getGlobalRoleList(String sessionId)` Returns a list of all the global roles available on the site.
    `RoleSoapList` | `getGlobalRolesForAssignment(String sessionId, String projectOrProjectGroupId)` Returns a list of global roles available in the project or project group for user/user group assignment.
    `RoleSoapList` | `getGroupRoleList(String sessionId, String groupId, String projectIdOrProjectGroupId)` Returns a list of roles the user group is associated with in a project or projectGroup.
    `RoleSoapList` | `getInheritedRoleList(String sessionId, String projectId)` Gets a list of roles inherited from any of the parent projects.
    `com.collabnet.ce.soap60.webservices.rbac.IntegratedAppProjectPermissionSoapList` | `getIntegratedAppPermissions(String sessionId, String[] projectIds, String baseUrl)` Returns list of integratedApp permissions for the user associated with specified projects
    `String[]` | `getIntegratedAppPermissionsForProject(String sessionId, String projectId, String linkId)` Returns integratedApp permissions for the user associated with a project
    `RoleRequestSoapList` | `getPendingRequestedRoles(String sessionId, String projectId)` Lists the pending requested roles for the given projectId
    `UserSoapList` | `getProjectRoleMemberList(String sessionId, String roleId, String projectOrProjectGroupId)` Returns a list of users that are in a specified role in the given project or project group. 1.
    `String[]` | `getProjectsByIntegratedAppPermission(String sessionId, String perm, String integratedAppName)` Returns the list of projects by integratedApp permission.
    `ProjectSoapList` | `getProjectsForAction(String sessionId, String operationString, String userName)` Gets the list of all projects in which the given user has given permission.
    `RoleSoapDO` | `getRoleData(String sessionId, String roleId)` Get a role data.
    `UserGroupSoapList` | `getRoleGroupList(String sessionId, String roleId)` Returns a list of user groups that belong to the specified role.
    `UserSoapList` | `getRoleGroupUsers(String sessionId, String projectIdOrProjectGroupId, String roleId)` Returns a list of users who are part of a group and associated with the specified role.
    `RoleSoapList` | `getRoleList(String sessionId, String projectOrProjectGroupId)` Gets a list of Roles in a project context.
    `UserSoapList` | `getRoleMemberList(String sessionId, String roleId)` Returns a list of users that are assigned to the specified role.
    `RoleSoapList` | `getSiteWideRoleList(String sessionId)` Returns a list of all the site-wide roles available on the site.
    `RoleSoapList` | `getUserRoleList(String sessionId, String projectOrProjectGroupId, String username)` Returns a list of roles that a user is a member of in the specified project or project group.
    `RoleSoapList` | `getUserSiteWideRoleList(String sessionId, String username)` Returns a list of roles that a user is a member of site wide role.
    `void` | `grantRolesToMembers(String sessionId, UserRolesSoapDO[] userRolesSoapDOs, String projectId)` Grants roles to list of users in a given project and user is made as member of the project if not already.
    `RoleCluster2SoapList` | `listClusterForDefaultAccessPermissions(String sessionId, String projectId)` Gets the list of operation cluster with default access permission.
    `RoleClusterSoapList` | `listClusters(String sessionId, String roleId)` Gets the list of operation cluster assigned to a role.
    `RoleGroupSoapList` | `listGroupRolesByProject(String sessionId, String projectId)` Returns a list of user groups and the roles it is associated with in a project.
    `RoleGroupSoapList` | `listGroupRolesByProjectGroup(String sessionId, String projectGroupId)` Returns a list of user groups and the roles it is associated with in a project group.
    `com.collabnet.ce.soap60.types.SoapNamedValues` | `listRolePaths(String sessionId, String roleId, String repositoryId)` Gets the list of paths for a role.
    `void` | `rejectRoleRequest(String sessionId, String requestId, String projectId)` Rejects a role request
    `void` | `removeCluster(String sessionId, String roleId, String operationCluster, String folderId)` Removes an operation cluster to a role, removing the permission set.
    `void` | `removeGroup(String sessionId, String groupId, String roleId, String projectOrProjectGroupId)` Removes the user group for the role, within the Project/ProjectGroup scope
    `void` | `removeIntegratedApplicationPermission(String sessionId, String roleId, String integratedAppName, String permission)` Removes an integrated application permission from the given role.
    `void` | `removeUser(String sessionId, String roleId, String username)` Removes a user from a role The behavior of this API is as follows. 1) Removing users is not supported for global role.
    `void` | `removeUserFromProjectRole(String sessionId, String roleId, String username, String projectOrProjectGroupId)` Removes a user from a role in the given project Same as `removeUser` but also takes projectOrProjectGroupId as an additional parameter.
    `void` | `requestRole(String sessionId, String roleId, String projectId)` Requests a role
    `void` | `revokeRolesFromMembers(String sessionId, UserRolesSoapDO[] userRolesSoapDOs, String projectId)` Removes roles from users in the project
    `void` | `setAutomaticallyGrantOnRequest(String sessionId, String roleId, String projectId, boolean autoGrant)` Sets the role's Automatically Grant On Request for the given project.
    `void` | `setRoleData(String sessionId, RoleSoapDO roleData)` Saves a role object.
    `void` | `setRolePaths(String sessionId, String roleId, String repositoryId, com.collabnet.ce.soap60.types.SoapNamedValues rolePaths)` Sets the list of paths for a role.

- - ### Method Detail

    - #### createRole

          RoleSoapDO createRole(String sessionId,
                                String projectOrProjectGroupId,
                                String title,
                                String description,
                                boolean preventInheritance,
                                boolean requestable,
                                boolean autoGrant)
                         throws RemoteException

      Creates a role in a given project
      Parameters:
        `sessionId` - User session Id
        `projectOrProjectGroupId` - The project /project group Id to create the role in
        `title` - The title of the role
        `description` - A description of the role
        `preventInheritance` - If the role's permission is prevented from applying to private subprojects.
        `requestable` - If the role is available upon request:Only applicable for Project Roles Not for Project Groups.
        `autoGrant` - If the role is granted automatically on request:Only applicable for Project Roles Not for Project Groups.
      Returns:
        The Role2SoapDO that was created
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid or the created roleId is invalid.
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the role exists with the specified title in the project
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        4.1-HOTFIX4

    - #### createSiteWideRole

          RoleSoapDO createSiteWideRole(String sessionId,
                                        String title,
                                        String description,
                                        boolean preventInheritance)
                                 throws RemoteException

      Creates a site-wide role. Users with site-admin permissions or users having rolecreate permissions for creating site-wide role will be able to create site-wide role.
      Parameters:
        `sessionId` - User session Id
        `title` - The title of the site-wide role
        `description` - A description of the role
        `preventInheritance` - If the role's permission is prevented from applying to private projects.
      Returns:
        The Role2SoapDO that was created
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the created roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the role exists with the specified title in the project
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0

    - #### createGlobalRole

          RoleSoapDO createGlobalRole(String sessionId,
                                      String title,
                                      String description,
                                      boolean preventInheritance,
                                      boolean requestable)
                               throws RemoteException

      Creates a global role. Only Super-users or users having Role-Create permission can create global role.
      Parameters:
        `sessionId` - User session Id
        `title` - The title of the global role
        `description` - The description of the global role
        `preventInheritance` - If the role's permission is prevented from applying to private projects.
        `requestable` - If the role is available upon request
      Returns:
        The Role2SoapDO that was created
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the created roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the global role exists with the specified title
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0

    - #### setRoleData

          void setRoleData(String sessionId,
                           RoleSoapDO roleData)
                    throws RemoteException

      Saves a role object. Project Admins in the case of a project-level role and users having Role - Edit permissions through a site-wide role in the case of SiteWide/Global roles are allowed to save.
      Parameters:
        `sessionId` - User session Id
        `roleData` - the role object to save
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.VersionMismatchFault` - The role version being edited is not the latest one
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0

    - #### getRoleData

          RoleSoapDO getRoleData(String sessionId,
                                 String roleId)
                          throws RemoteException

      Get a role data.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The id of the role to be fetch
      Returns:
        The RoleSoapDO that was fetched
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - When the roleId is invalid
        `RemoteException`
      Since:
        8.0

    - #### deleteRole

          void deleteRole(String sessionId,
                          String roleId)
                   throws RemoteException

      Deletes a role.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The id of the role to be deleted
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `RemoteException`
      Since:
        4.4

    - #### addCluster

          void addCluster(String sessionId,
                          String roleId,
                          String operationCluster,
                          String folderId)
                   throws RemoteException

      Adds an operation cluster to a role, expanding the permission set that the role grants access to.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The role id to add the cluster to
        `operationCluster` - The cluster name to add to the role. See OperationClusterConstants.
        `folderId` - the folder id for the specified cluster. Pass in empty string to apply to all folders of the same type in the project. Note that passing in an empty folder id will not replace existing folder specific clusters.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the cluster already exists in the role
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        4.4

    - #### addIntegratedApplicationPermission

          void addIntegratedApplicationPermission(String sessionId,
                                                  String roleId,
                                                  String integratedAppName,
                                                  String permission)
                                           throws RemoteException

      Adds an integrated application permission to a role, expanding the permission set that the role grants access to.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The role id to add the integrated application permission to
        `integratedAppName` - The integrated application name (e.g: 'Pebble Blog')
        `permission` - The integrated application permission name to add to the role. (e.g: 'Blog Reader' for Pebble Blog integrated application)
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the cluster already exists in the role
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        8.0

    - #### removeIntegratedApplicationPermission

          void removeIntegratedApplicationPermission(String sessionId,
                                                     String roleId,
                                                     String integratedAppName,
                                                     String permission)
                                              throws RemoteException

      Removes an integrated application permission from the given role.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The role id from which the integrated application permission to be removed
        `integratedAppName` - The integrated application name (e.g: 'Pebble Blog')
        `permission` - The integrated application permission to be removed from the role. (e.g: 'Blog Reader' for Pebble Blog integrated application)
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the cluster already exists in the role
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        17.8

    - #### removeCluster

          void removeCluster(String sessionId,
                             String roleId,
                             String operationCluster,
                             String folderId)
                      throws RemoteException

      Removes an operation cluster to a role, removing the permission set.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The role id to remove the cluster to
        `operationCluster` - The cluster name to add to the role
        `folderId` - the folder id for the specified cluster. Pass in empty string to remove a cluster defined for all folders. Note that passing in an empty folder id will not remove existing folder specific clusters.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `RemoteException`
      Since:
        4.4

    - #### listClusters

          RoleClusterSoapList listClusters(String sessionId,
                                           String roleId)
                                    throws RemoteException

      Gets the list of operation cluster assigned to a role.
      Parameters:
        `sessionId` - User session Id
        `roleId` - The ID of the role for which clusters will be listed
      Returns:
        list of clusters for a role
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `RemoteException`
      Since:
        4.4

    - #### listClusterForDefaultAccessPermissions

          RoleCluster2SoapList listClusterForDefaultAccessPermissions(String sessionId,
                                                                      String projectId)
                                                               throws RemoteException

      Gets the list of operation cluster with default access permission.
      Parameters:
        `sessionId` - User session Id
        `projectId` - The ID of the project for which clusters will be listed
      Returns:
        list of clusters for a project
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.SystemFault`
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault`
        `RemoteException`
      Since:
        8.0

    - #### addUser

          void addUser(String sessionId,
                       String roleId,
                       String username)
                throws RemoteException

      Adds a user to the role, giving them all of the permissions of that role
      Parameters:
        `sessionId` - User sessionId
        `roleId` - The role id to add the user to
        `username` - The username of the user to add to the role
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the user already exists in the role
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        4.1-HOTFIX4

    - #### grantRolesToMembers

          void grantRolesToMembers(String sessionId,
                                   UserRolesSoapDO[] userRolesSoapDOs,
                                   String projectId)
                            throws RemoteException

      Grants roles to list of users in a given project and user is made as member of the project if not already.
      Parameters:
        `sessionId` - User sessionId
        `userRolesSoapDOs` - user to roles data container, simulation of map - key as user and lists of roles as values
        `projectId` - project to which users would be the members with the given roles.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the user already exists in the role
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0

    - #### removeUser

          void removeUser(String sessionId,
                          String roleId,
                          String username)
                   throws RemoteException

      Removes a user from a role The behavior of this API is as follows. 1) Removing users is not supported for global role. When a global role's id is passed to this API it will throw a NoSuchObjectFault.
      Parameters:
        `sessionId` - User sessionId
        `roleId` - The role id to add the user to
        `username` - The username of the user to add to the role
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        4.3-HOTFIX1

    - #### revokeRolesFromMembers

          void revokeRolesFromMembers(String sessionId,
                                      UserRolesSoapDO[] userRolesSoapDOs,
                                      String projectId)
                               throws RemoteException

      Removes roles from users in the project
      Parameters:
        `sessionId` - User sessionId
        `userRolesSoapDOs` - user to roles data container, simulation of map - key as user and lists of roles to remove as values
        `projectId` - project in which roles would be removed from the users.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0

    - #### addUserToProjectRole

          void addUserToProjectRole(String sessionId,
                                    String roleId,
                                    String username,
                                    String projectOrProjectGroupId)
                             throws RemoteException

      Adds a user to the role in the given project context, giving them all of the permissions of that role in that project

      Same as `addUser` but also takes projectOrProjectGroupId as an additional parameter. If a Project Group's role is being assigned in a normal project (even if it is a member of this Project Group) or in another Project Group a SystemFault will be thrown. Because A Project Group's role can only be assigned within that Project Group and nowhere else.

      Also site-wide role are not supported. For site-wide role use addUser method.

      Parameters:
        `sessionId` - User sessionId
        `roleId` - The role id to add the user to
        `username` - The username of the user to add to the role
        `projectOrProjectGroupId` - projectId (or) Project group ID. The project/Project Group in which the role has to be added to the user. The permission check varies accordingly for Project- User with Edit Role permissions. ProjectGroup-ProjectGroup.Admin Permission
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the user already exists in the role
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0 (renamed from addUser2 in 6.1)
      See Also:
        `addUser(java.lang.String, java.lang.String, java.lang.String)`

    - #### removeUserFromProjectRole

          void removeUserFromProjectRole(String sessionId,
                                         String roleId,
                                         String username,
                                         String projectOrProjectGroupId)
                                  throws RemoteException

      Removes a user from a role in the given project Same as `removeUser` but also takes projectOrProjectGroupId as an additional parameter.
      Parameters:
        `sessionId` - User sessionId
        `roleId` - The role id to add the user to
        `username` - The username of the user to add to the role
        `projectOrProjectGroupId` - projectId (or) Project group ID. The project/Project Group in which the role has to be removed from the user. The permission check varies accordingly: for Project - User with Edit Role permissions. for ProjectGroup - ProjectGroup.Admin Permission
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0 (renamed from removeUser2 in 6.1)
      See Also:
        `removeUser(java.lang.String, java.lang.String, java.lang.String)`

    - #### addGroup

          void addGroup(String sessionId,
                        String groupId,
                        String roleId,
                        String projectOrProjectGroupId)
                 throws RemoteException

      Adds a user group to a role, within the Project/ProjectGroup scope.

      If a Project Group's role is being assigned in a normal project (even if it is a member of this Project Group) or in another Project Group a SystemFault will be thrown. Because A Project Group's role can only be assigned within that Project Group and nowhere else.

      Parameters:
        `sessionId` - User sessionId.
        `groupId` - the user group to be added.
        `roleId` - The role to which the user group is to be added.
        `projectOrProjectGroupId` - The project/projectgroup id to which the role belongs.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user does not have permission to perform the operation.
        `com.collabnet.ce.soap60.fault.SystemFault` - When an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid.
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the user group already exists in the role.
        `RemoteException`
      Since:
        4.4-SP1

    - #### removeGroup

          void removeGroup(String sessionId,
                           String groupId,
                           String roleId,
                           String projectOrProjectGroupId)
                    throws RemoteException

      Removes the user group for the role, within the Project/ProjectGroup scope
      Parameters:
        `sessionId` - User sessionId.
        `groupId` - the user group to be added.
        `roleId` - The role to which the user group is to be added.
        `projectOrProjectGroupId` - The project/projectgroup id to which the role belongs.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user does not have permission to perform the operation.
        `com.collabnet.ce.soap60.fault.SystemFault` - When an unexpected system level error occurs.
        `RemoteException`
      Since:
        4.4-SP1

    - #### getRoleList

          RoleSoapList getRoleList(String sessionId,
                                   String projectOrProjectGroupId)
                            throws RemoteException

      Gets a list of Roles in a project context. This call required project admin permissions.
      Parameters:
        `sessionId` - User session Id
        `projectOrProjectGroupId` - The Project/Project Group Id to list roles from
      Returns:
        The RoleSoapList describing all roles in the project
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `com.collabnet.ce.soap60.fault.ObjectAlreadyExistsFault` - If the role exists with the specified title in the project
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        4.3

    - #### getInheritedRoleList

          RoleSoapList getInheritedRoleList(String sessionId,
                                            String projectId)
                                     throws RemoteException

      Gets a list of roles inherited from any of the parent projects. This call requires project admin permission.
      Parameters:
        `sessionId` - User session Id
        `projectId` - The project Id to list the inherited roles from
      Returns:
        The Role2SoapList describing all inherited roles in the project
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        6.0

    - #### getRoleMemberList

          UserSoapList getRoleMemberList(String sessionId,
                                         String roleId)
                                  throws RemoteException

      Returns a list of users that are assigned to the specified role.

      The behavior of this API is as follows. 1) Retrieving users assigned to a global role is not supported. When a global role's id is passed to this API it will throw a IllegalArgumentFault 2) When invoked on a project role (i.e., a role created in a project) returns all the users assigned to this role in that project and any users assigned to this role in any of the sub projects of the project in which this role is created. 3) When invoked on a site-wide role returns all the users assigned to that site-wide role. 4) When invoked on a role created in a Project Group, returns all the users assigned to that role in the Project Group.

      Parameters:
        `sessionId` - User session id.
        `roleId` - Role id.
      Returns:
        List of users in the specified role.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - Role id is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified role id is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        4.3-SP1

    - #### getProjectRoleMemberList

          UserSoapList getProjectRoleMemberList(String sessionId,
                                                String roleId,
                                                String projectOrProjectGroupId)
                                         throws RemoteException

      Returns a list of users that are in a specified role in the given project or project group. 1. Supports depreciated method getRoleMemberListForProject 2. Supports project roles assigned in the project where the role is created. 3. Supports inherited role assignments in any of its subprojects. 4. Assignments to roles created in Project Groups. 5. Global role assignments in projects and project groups.
      Parameters:
        `sessionId` - User session id.
        `roleId` - Role id.
        `projectOrProjectGroupId` - Project or Project Group Id
      Returns:
        List of users in the specified role in the given project or project group.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - Role id is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified role id is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0.1 (renamed from getRoleMemberList2 in 6.1)

    - #### getUserRoleList

          RoleSoapList getUserRoleList(String sessionId,
                                       String projectOrProjectGroupId,
                                       String username)
                                throws RemoteException

      Returns a list of roles that a user is a member of in the specified project or project group. In order to view the list of roles another user belongs to, the caller must be an admin of that project or project group.
      Parameters:
        `sessionId` - User session id.
        `projectOrProjectGroupId` - Project or Project Group id.
        `username` - Name of the user.
      Returns:
        List of roles that a user is a member of.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - Username is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project or project group id is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        4.3-SP1

    - #### getUserSiteWideRoleList

          RoleSoapList getUserSiteWideRoleList(String sessionId,
                                               String username)
                                        throws RemoteException

      Returns a list of roles that a user is a member of site wide role. To view the site wide role members the uses must have admin permissions or role view permissions.
      Parameters:
        `sessionId` - User session id.
        `username` - Name of the user.
      Returns:
        List of site-wide roles that a user is a member of.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - Username is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project id is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0

    - #### getSiteWideRoleList

          RoleSoapList getSiteWideRoleList(String sessionId)
                                    throws RemoteException

      Returns a list of all the site-wide roles available on the site. The user must have site admin permission or site-wide role admin permission to list all the site-wide roles.
      Parameters:
        `sessionId` - User session id.
      Returns:
        List of site-wide roles available
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have the permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0

    - #### getGlobalRoleList

          RoleSoapList getGlobalRoleList(String sessionId)
                                  throws RemoteException

      Returns a list of all the global roles available on the site. The user must have site admin permission or site-wide role admin/view permission to list all the global roles.
      Parameters:
        `sessionId` - User session id.
      Returns:
        List of global roles available
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have the permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0

    - #### getGlobalRolesForAssignment

          RoleSoapList getGlobalRolesForAssignment(String sessionId,
                                                   String projectOrProjectGroupId)
                                            throws RemoteException

      Returns a list of global roles available in the project or project group for user/user group assignment. The user must be an admin of that project or project group to get the list.
      Parameters:
        `sessionId` - User session id.
        `projectOrProjectGroupId` - the project or project group from which to get the global roles list
      Returns:
        List of global roles available
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have the permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project or project group id is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0

    - #### getGroupRoleList

          RoleSoapList getGroupRoleList(String sessionId,
                                        String groupId,
                                        String projectIdOrProjectGroupId)
                                 throws RemoteException

      Returns a list of roles the user group is associated with in a project or projectGroup.
      Parameters:
        `sessionId` - User session id.
        `groupId` - User Group id.
        `projectIdOrProjectGroupId` - Project id or project group id.
      Returns:
        List of roles the user group is associated with.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation.
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project id or project group id is invalid.
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid.
        `RemoteException`
      Since:
        4.4-SP1

    - #### getRoleGroupList

          UserGroupSoapList getRoleGroupList(String sessionId,
                                             String roleId)
                                      throws RemoteException

      Returns a list of user groups that belong to the specified role.
      Parameters:
        `sessionId` - User session id.
        `roleId` - Role id.
      Returns:
        List of user groups associated with a role.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - roleId is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation.
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project id is invalid.
        `RemoteException`
      Since:
        4.4-SP1

    - #### listGroupRolesByProject

          RoleGroupSoapList listGroupRolesByProject(String sessionId,
                                                    String projectId)
                                             throws RemoteException

      Returns a list of user groups and the roles it is associated with in a project.
      Parameters:
        `sessionId` - User session id.
        `projectId` - Project id.
      Returns:
        list of user groups and the roles it is associated with
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - projectId is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation.
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project id is invalid.
        `RemoteException`
      Since:
        4.4-SP1

    - #### getRoleGroupUsers

          UserSoapList getRoleGroupUsers(String sessionId,
                                         String projectIdOrProjectGroupId,
                                         String roleId)
                                  throws RemoteException

      Returns a list of users who are part of a group and associated with the specified role.
      Parameters:
        `sessionId` - User session id.
        `projectIdOrProjectGroupId` - Project or Project Group's id.
        `roleId` - Role id.
      Returns:
        List of users in the specified role.
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - Role id is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified role id is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        4.4-SP1

    - #### listRolePaths

          com.collabnet.ce.soap60.types.SoapNamedValues listRolePaths(String sessionId,
                                                                      String roleId,
                                                                      String repositoryId)
                                                               throws RemoteException

      Gets the list of paths for a role.
      Parameters:
        `sessionId` - User session Id
        `roleId` - the key of the role the role paths belongs to
        `repositoryId` - the repository id
      Returns:
        role path in soap named values format
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        5.2

    - #### setRolePaths

          void setRolePaths(String sessionId,
                            String roleId,
                            String repositoryId,
                            com.collabnet.ce.soap60.types.SoapNamedValues rolePaths)
                     throws RemoteException

      Sets the list of paths for a role.
      Parameters:
        `sessionId` - User session Id
        `roleId` - the key of the role the role paths belongs to
        `repositoryId` - the repository id
        `rolePaths` - list of role paths
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - If one of the parameters is invalid
        `RemoteException`
      Since:
        5.2

    - #### getProjectsForAction

          ProjectSoapList getProjectsForAction(String sessionId,
                                               String operationString,
                                               String userName)
                                        throws RemoteException

      Gets the list of all projects in which the given user has given permission.
      Parameters:
        `sessionId` - User session Id
        `operationString` - Operation in format type.category.name, except for integrated application, which is in format PluggableLink.<id of the integrated app>.<permission name>.<permission name>.
        `userName` - the user who would have cluster permission in the returned project list
      Returns:
        List of projects
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - when the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - when the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - when the arguments are null or empty.
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the userName doesn't exist.
        `RemoteException`
      Since:
        6.0

    - #### requestRole

          void requestRole(String sessionId,
                           String roleId,
                           String projectId)
                    throws RemoteException

      Requests a role
      Parameters:
        `sessionId` - User session Id
        `roleId` - the role id
        `projectId` - project in which to make the request
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the roleId or projectId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - incorrect parameters
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `RemoteException`
      Since:
        6.0

    - #### setAutomaticallyGrantOnRequest

          void setAutomaticallyGrantOnRequest(String sessionId,
                                              String roleId,
                                              String projectId,
                                              boolean autoGrant)
                                       throws RemoteException

      Sets the role's Automatically Grant On Request for the given project.
      Parameters:
        `sessionId` - User session Id
        `roleId` - the role id
        `projectId` - the project to which automatically grant property to be set
        `autoGrant` - true to set it available upon request
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - when the role is not available upon request
        `RemoteException`
      Since:
        6.0

    - #### getAutomaticallyGrantOnRequest

          boolean getAutomaticallyGrantOnRequest(String sessionId,
                                                 String roleId,
                                                 String projectId)
                                          throws RemoteException

      Gets the role's Automatically Grant On Request for the given project.
      Parameters:
        `sessionId` - User session Id
        `roleId` - the role id
        `projectId` - the project to which automatically grant property to be set
      Returns:
        Auto grant flag of role
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - when there is a request for global role with Projects project id.
        `RemoteException`
      Since:
        6.0

    - #### getPendingRequestedRoles

          RoleRequestSoapList getPendingRequestedRoles(String sessionId,
                                                       String projectId)
                                                throws RemoteException

      Lists the pending requested roles for the given projectId
      Parameters:
        `sessionId` - User session Id
        `projectId` - project in which the pending requested roles needs to be retrieved
      Returns:
        List of pending requested roles.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When projectId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - incorrect parameters
        `com.collabnet.ce.soap60.fault.SystemFault` - unexpected error occurs
        `RemoteException`
      Since:
        6.0

    - #### approveRoleRequest

          void approveRoleRequest(String sessionId,
                                  String requestId,
                                  String projectId)
                           throws RemoteException

      Approves a role request
      Parameters:
        `sessionId` - User session Id
        `requestId` - Role request Id
        `projectId` - project in which the role request was raised
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - incorrect parameters
        `com.collabnet.ce.soap60.fault.SystemFault` - unexpected error occurs
        `RemoteException`
      Since:
        6.0

    - #### rejectRoleRequest

          void rejectRoleRequest(String sessionId,
                                 String requestId,
                                 String projectId)
                          throws RemoteException

      Rejects a role request
      Parameters:
        `sessionId` - User session Id
        `requestId` - Role request Id
        `projectId` - project in which the role request was raised
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - If the session is invalid
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - If the user doesn't have permission to perform the operation
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the projectId is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - incorrect parameters
        `com.collabnet.ce.soap60.fault.SystemFault` - unexpected error occurs
        `RemoteException`
      Since:
        6.0

    - #### listGroupRolesByProjectGroup

          RoleGroupSoapList listGroupRolesByProjectGroup(String sessionId,
                                                         String projectGroupId)
                                                  throws RemoteException

      Returns a list of user groups and the roles it is associated with in a project group.
      Parameters:
        `sessionId` - User session id.
        `projectGroupId` - Project group id.
      Returns:
        list of user groups and the roles it is associated with
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - projectGroupId is not specified or invalid.
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - if the session is invalid.
        `com.collabnet.ce.soap60.fault.PermissionDeniedFault` - if the user does not have permission to perform the operation.
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified project group id is invalid.
        `RemoteException`
      Since:
        6.0.1

    - #### getProjectsByIntegratedAppPermission

          String[] getProjectsByIntegratedAppPermission(String sessionId,
                                                        String perm,
                                                        String integratedAppName)
                                                 throws RemoteException

      Returns the list of projects by integratedApp permission.
      Parameters:
        `sessionId` - User session key.
        `perm` - permission criteria
        `integratedAppName` - the IntegratedApp plugName.
      Returns:
        string array of id of projects in which the current user has given permission to given integrated app.
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - when the specified session id is invalid.
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system level error occurs.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - When the plugName is invalid
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - When the userId is invalid
        `RemoteException`
      Since:
        5.4

    - #### getIntegratedAppPermissionsForProject

          String[] getIntegratedAppPermissionsForProject(String sessionId,
                                                         String projectId,
                                                         String linkId)
                                                  throws RemoteException

      Returns integratedApp permissions for the user associated with a project
      Parameters:
        `sessionId` - User session key.
        `projectId` - the projectId
        `linkId` - the linkId between integrated app and project
      Returns:
        String array of permissions for given integrated application
      Throws:
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - when the specified session id is invalid.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault`
        `RemoteException`
      Since:
        5.4

    - #### getIntegratedAppPermissions

          com.collabnet.ce.soap60.webservices.rbac.IntegratedAppProjectPermissionSoapList getIntegratedAppPermissions(String sessionId,
                                                                                                                      String[] projectIds,
                                                                                                                      String baseUrl)
                                                                                                               throws RemoteException

      Returns list of integratedApp permissions for the user associated with specified projects
      Parameters:
        `sessionId` - User session key.
        `projectIds` - the projectIds
        `baseUrl` - the base url of the integrated application
      Returns:
        List of integrated application permission on the specified projects for current user
      Throws:
        `com.collabnet.ce.soap60.fault.IllegalArgumentFault` - when baseUrl is null or empty
        `com.collabnet.ce.soap60.fault.InvalidSessionFault` - when the specified session id is invalid.
        `com.collabnet.ce.soap60.fault.NoSuchObjectFault` - when the specified baseUrl is invalid
        `com.collabnet.ce.soap60.fault.SystemFault` - when an unexpected system error occurs
        `RemoteException`
      Since:
        18.2

Copyright © 2019 CollabNet. All rights reserved.