Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

Timetracker version 4.7.5 or higher is required to access this API

API

Code Block
package org.everit.jira.reporting.service.permission;

/**
 * Semi-Public Permission Service.
 */
public interface PermissionService {

  /**
   * Get groups and users for the given permission type. Requires System Administrator or Administrator jira permission.
   *
   * @param permissionType
   *          the tpye of permission.
   * @return the {@link GroupUser} object.
   */
  GroupUser getGroupUserByPermissionType(PermissionType permissionType);

  /**
   * Update groups and users for the given permission. Requires System Administrator or Administrator jira permission.
   * This method clears the users and groups previously specified for the permission.
   *
   * @param permissionType
   *          the type of permission.
   * @param groupUser
   *          the {@link GroupUser} object.
   */
  void updatePermission(PermissionType permissionType, GroupUser groupUser);
}

Example

Code Block
import com.onresolve.scriptrunner.runner.customisers.PluginModule;
import com.onresolve.scriptrunner.runner.customisers.WithPlugin;
import org.everit.jira.reporting.service.permission.PermissionService;
import org.everit.jira.reporting.service.permission.PermissionType;
import org.everit.jira.reporting.service.permission.GroupUser;
import java.util.Arrays;


@WithPlugin("org.everit.jira.timetracker.plugin")

@PluginModule
PermissionService permissionService;

log.error("BEYOND_PERIOD: " + permissionService.getGroupUserByPermissionType(PermissionType.BEYOND_PERIOD));
log.error("BROWSE_GROUPS: " + permissionService.getGroupUserByPermissionType(PermissionType.BROWSE_GROUPS));
log.error("EMAIL_GROUPS: " + permissionService.getGroupUserByPermissionType(PermissionType.EMAIL_GROUPS));
log.error("PLUGIN_PERMISSION: " + permissionService.getGroupUserByPermissionType(PermissionType.PLUGIN_PERMISSION));
log.error("REPORTING_PERMISSION: " + permissionService.getGroupUserByPermissionType(PermissionType.REPORTING_PERMISSION));
log.error("TIMETRACKER_PERMISSION: " + permissionService.getGroupUserByPermissionType(PermissionType.TIMETRACKER_PERMISSION));
log.error("WAGE_MANAGER: " + permissionService.getGroupUserByPermissionType(PermissionType.WAGE_MANAGER));
log.error("PROJECT_CONTROLLER: " + permissionService.getGroupUserByPermissionType(PermissionType.PROJECT_CONTROLLER));

GroupUser groupUser = new GroupUser();
permissionService.updatePermission(PermissionType.BEYOND_PERIOD, groupUser);
log.error("BEYOND_PERIOD: " + permissionService.getGroupUserByPermissionType(PermissionType.BEYOND_PERIOD));

groupUser = new GroupUser()
             .setGroups(Arrays.asList("jira-administrators"))
             .setUsers(Arrays.asList("douglas.arnold@everit.biz"));
permissionService.updatePermission(PermissionType.BEYOND_PERIOD, groupUser);
log.error("BEYOND_PERIOD: " + permissionService.getGroupUserByPermissionType(PermissionType.BEYOND_PERIOD));