Skip to main content

Default Assignee

This tutorial explains how to specify default assignee of issues via some example setups.

Auto-assign Issues to Project Owners

  1. Define a groovy script to return project owners

    Groovy Script

Content of the script is as below:

import io.onedev.server.model.*

def project = Project.get()
def owners = project.userAuthorizations.findAll {it->it.role.owner}*.user.name
owners += project.groupAuthorizations.findAll {it->it.role.owner}*.group.members.flatten()*.name
return owners.unique()
  1. Modify custom issue field Assignee to use groovy script defined above as default value:

    Assignee Default Value

Auto-assign Issues to Module Leader

  1. Add custom issue field Module from issue setting of administration menu:

    Default Assignee Module

  2. Define a groovy script to return corresponding module leader based on module name

    Default Assignee Groovy Script

Script content is as below:

import io.onedev.server.util.EditContext

def moduleLeaders = ["Front End":"tommy", "Back End":"jerry"]
def editContext = EditContext.get()

def defaultAssignee

if (editContext != null)
defaultAssignee = moduleLeaders[editContext.getInputValue("Module")]

if (defaultAssignee != null)
return [defaultAssignee]
else
return []
  1. Modify custom issue field Assignee to use groovy script defined above as default value:

    Default Assignee Default Value