Size: a a a

AUG for Developers

2020 October 26

AM

Alibek Malikov in AUG for Developers
Евгений Русских
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.user.ApplicationUser

ApplicationUser currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
//def issue = ComponentAccessor.issueManager.getIssueObject("IT-93")
// get group manager and user group
def groupManager = ComponentAccessor.getGroupManager()
def groupUsers = groupManager.getUsersInGroup("IWO_ServiseDesk_AND") // false is used to not include inactive users
def groupUsers2 = groupManager.getUsersInGroup("IWO_ServiseDesk_BUX", false)
def arrayOfComponents = issue.getComponents();


// get custom field for multi-user custom field
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def supportMembersField = ComponentAccessor.customFieldManager.getCustomFieldObject(10032L); //Соисолнители
ArrayList<ApplicationUser> userList = new ArrayList()

for(def comp in arrayOfComponents){
if(comp.getName()=="Андижан"){
 userList+=groupUsers
}
   if(comp.getName()=="Андижан"){
 userList+=groupUsers2
}
}

// set custom field value
//issue.setCustomFieldValue(supportMembersField, userList)

// update issue with changes
def issueManager = ComponentAccessor.getIssueManager()
//def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
issueManager.updateIssue(currentUser, issue, EventDispatchOption.DO_NOT_DISPATCH, false)
Он добавляет пользователей из обеих групп, но только нужно что бы он все же придерживался условию( я сейчас при создании добавил один компонент, а он добавил все равно пользователей из обоих групп
источник

ЕР

Евгений Русских... in AUG for Developers
так у тебя условия одинаковые
источник

AM

Alibek Malikov in AUG for Developers
Евгений Русских
так у тебя условия одинаковые
источник

AM

Alibek Malikov in AUG for Developers
точно все работает) спасибо большое)))))))
источник

AM

Alibek Malikov in AUG for Developers
Еще вопрос тут сейчас если я правильно понимаю и делаю НЕ = 0 добавляешь верно?
источник

AM

Alibek Malikov in AUG for Developers
то есть мне так и нужно если не = 0 то добавляешь
источник

ЕР

Евгений Русских... in AUG for Developers
что такое 0 ?
источник

ЕР

Евгений Русских... in AUG for Developers
название компоненты? Если да, то "0"
источник

ЕР

Евгений Русских... in AUG for Developers
в кавычках, кароч
источник

AM

Alibek Malikov in AUG for Developers
Евгений Русских
название компоненты? Если да, то "0"
нет значение поля null
источник

A😇

Anna 😇 in AUG for Developers
Всем доброе утро. Напомню, что 30 октября  будет онлайн встреча по Forge. Подробности и регистрация по ссылке. Если вы хотите получать анонсы будущих встреч добавляйтесь в гуппу на сайте.
источник

AM

Alibek Malikov in AUG for Developers
то есть нужно так
Если в поле comp есть что-то или нет
то добавь
источник

ЕР

Евгений Русских... in AUG for Developers
если компоненты пустые, он у тебя в этот цикл перебора comp не войдёт вообще
источник

ЕР

Евгений Русских... in AUG for Developers
делай if(!arrayOfComponents) {
...
}
источник

ЕР

Евгений Русских... in AUG for Developers
вне цикла
источник

ЕР

Евгений Русских... in AUG for Developers
или arrayOfComponents!=null
источник

AM

Alibek Malikov in AUG for Developers
Евгений Русских
делай if(!arrayOfComponents) {
...
}
Не работает(
источник

AM

Alibek Malikov in AUG for Developers
Евгений Русских
или arrayOfComponents!=null
и так тоже
источник

ЕР

Евгений Русских... in AUG for Developers
Показывай код
источник

AM

Alibek Malikov in AUG for Developers
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.user.ApplicationUser

ApplicationUser currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
//def issue = ComponentAccessor.issueManager.getIssueObject("IT-93")
// get group manager and user group
def groupManager = ComponentAccessor.getGroupManager()
def groupUsers = groupManager.getUsersInGroup("IWO_ServiseDesk_AND") // false is used to not include inactive users
def groupUsers2 = groupManager.getUsersInGroup("IWO_ServiseDesk_BUX", false)
def groupUsers3 = groupManager.getUsersInGroup("IWO_ServiseDesk_TSHTT", false)
def groupUsers4 = groupManager.getUsersInGroup("", false)
def groupUsers5 = groupManager.getUsersInGroup("", false)
def groupUsers6 = groupManager.getUsersInGroup("IWO_ServiseDesk_DJI", false)
def groupUsers7 = groupManager.getUsersInGroup("IWO_ServiseDesk_KAR", false)
def groupUsers8 = groupManager.getUsersInGroup("IWO_ServiseDesk_KASH", false)
def groupUsers9 = groupManager.getUsersInGroup("IWO_ServiseDesk_NAV", false)
def groupUsers10 = groupManager.getUsersInGroup("IWO_ServiseDesk_NAM", false)
def groupUsers11 = groupManager.getUsersInGroup("IWO_ServiseDesk_SAM", false)
def groupUsers12 = groupManager.getUsersInGroup("IWO_ServiseDesk_SUR", false)
def groupUsers13 = groupManager.getUsersInGroup("IWO_ServiseDesk_SIR", false)
def groupUsers14 = groupManager.getUsersInGroup("IWO_ServiseDesk_TOBL", false)
def groupUsers15 = groupManager.getUsersInGroup("IWO_ServiseDesk_TTT", false)
def groupUsers16 = groupManager.getUsersInGroup("IWO_ServiseDesk_FER", false)
def groupUsers17 = groupManager.getUsersInGroup("IWO_ServiseDesk_XOR", false)
def groupUsers18 = groupManager.getUsersInGroup("IWO_ServiseDesk_Uztelecom", false)


def arrayOfComponents = issue.getComponents();
//def userList = getCustomFieldValue(issue,10134L)?:[];


// get custom field for multi-user custom field
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def supportMembersField = ComponentAccessor.customFieldManager.getCustomFieldObject(10032L); //Соисолнители
ArrayList<ApplicationUser> userList = new ArrayList();

for(def comp in arrayOfComponents){
if(comp.getName()=="Андижан"){
 userList+=groupUsers
}
   if(comp.getName()=="Бухара"){
 userList+=groupUsers2
}
   if(comp.getName()=="г.Ташкент"){
 userList+=groupUsers3
}
   if(comp.getName()=="ГЦК СПД"){
 userList+=groupUsers4
}
   if(comp.getName()=="ГЦК ШПД"){
 userList+=groupUsers5
}
   if(comp.getName()=="Джизак"){
 userList+=groupUsers6
}
   if(comp.getName()=="Каракалпакстан"){
 userList+=groupUsers7
}
   if(comp.getName()=="Кашкадарья"){
 userList+=groupUsers8
}
   if(comp.getName()=="Навои"){
 userList+=groupUsers9
}
   if(comp.getName()=="Наманган"){
 userList+=groupUsers10
}
   if(comp.getName()=="Самарканд"){
 userList+=groupUsers11
}
    if(comp.getName()=="Сурхандарья"){
 userList+=groupUsers12
}
   if(comp.getName()=="Сырдарья"){
 userList+=groupUsers13
}
    if(comp.getName()=="Ташкентская обл."){
 userList+=groupUsers14
}
   if(comp.getName()=="ТТС"){
 userList+=groupUsers15
}
   if(comp.getName()=="Фергана"){
 userList+=groupUsers16
}
    if(comp.getName()=="Хорезм"){
 userList+=groupUsers17
}
}


// set custom field value
issue.setCustomFieldValue(supportMembersField, userList)

// update issue with changes
def issueManager = ComponentAccessor.getIssueManager()
//def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
issueManager.updateIssue(currentUser, issue, EventDispatchOption.DO_NOT_DISPATCH, false)

def getUserByName(String userName) {
ComponentAccessor.userManager.getUserByName(userName)
}
источник