Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Timetracker version 4.7.5 or higher is required to access this API

JIRA Administrators or JIRA System Administrators permission required for the user this service

Timetracker permissions can be managed via this Service:

  • Query users/groups for permissions

  • Add/remove users or groups to each permission settings

API

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

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));
  • No labels