Как получить все открытые задачи всех пользователей в Workflow JavaScript?
Всем привет!
Стоит задача делать рассылку ежедневно в определенное время о просроченных задачах всем пользователям. Нашел способы сделать это через Workflow Editor, но интересно узнать решение через JavaScript.
Так как мы задаем правило, которое выполняется периодически, то требуется передавать поле search и я не совсем понимаю, как от него избавиться, чтобы скрипт сработал только один раз, а не большое количество (то есть сколько задач будет найдено). И как получить список всех пользователей в системе, по всем проектам в action? Ну и соответственно получить у каждого список всех задач.
Спасибо!
Please sign in to leave a comment.
Дмитрий,
Способа получить всех пользователей нет, так что придётся идти от открытых задач.
Вы можете сделать onSchedule rule с таким значением параметра query: "#A_RANDOM_ISSUE_ID". Issue, передаваемый в кач. параметра в тело рула игнорируйте. Обратите внимание на модуль search, который позволяет выполнять поиск. С пом. него вы можете найти все #unresolved issues. После этого обходите их все, занося их (или их Id, или их URLs) в кач. значения в некоторый JS объект, где в кач. ключей выстуапают логины пользователей, ответственных за issue.
Затем для всех ключей, ищите пользователя по логину, и отправляете ему нотификацию.
Александр
Александр, здравствуйте!
Если пишу search: "#A_RANDOM_ISSUE_ID", то ничего не возвращается. Необходимо что-то подключить?
Спасибо!
Дмитрий,
A_RANDOM_ISSUE_ID нужно заменить на ID какого-то ишью из проекта, к которому подключен workflow. Например, PR-1.
А есть возможность не привязываться к определенному ID? Нашел способ сделать некий системный issue и находить его по тегу или нечто подобному, но не хотелось бы так делать, потому что проекты созданы давно и имеют большую ежедневную активность.
Я понял принцип, что мы должны привязаться к одной issue, но не могу найти способ сформировать поисковой запрос, чтобы выдавалась одну задача.
К сожалению, нет. А в чём именно проблема с испоьзованием какого-то ID? Вы ведь не будуте модифицировать issue в правиле.
Я понимаю, что модифицировать я его не буду. Вопрос в том, что проектов много, в районе ста, надо будет везде создать такую задачу и не забывать это делать на новых проектах.
Спасибо, теперь все ясно)