Как получить все открытые задачи всех пользователей в Workflow JavaScript?

Всем привет!

Стоит задача делать рассылку ежедневно в определенное время о просроченных задачах всем пользователям. Нашел способы сделать это через Workflow Editor, но интересно узнать решение через JavaScript.

Так как мы задаем правило, которое выполняется периодически, то требуется передавать поле search и я не совсем понимаю, как от него избавиться, чтобы скрипт сработал только один раз, а не большое количество (то есть сколько задач будет найдено). И как получить список всех пользователей в системе, по всем проектам в action? Ну и соответственно получить у каждого список всех задач.

Спасибо!

6 comments
Comment actions Permalink
Official comment

Дмитрий,

Способа получить всех пользователей нет, так что придётся идти от открытых задач.

Вы можете сделать onSchedule rule с таким значением параметра query: "#A_RANDOM_ISSUE_ID". Issue, передаваемый в кач. параметра в тело рула игнорируйте. Обратите внимание на модуль search, который позволяет выполнять поиск. С пом. него вы можете найти все #unresolved issues. После этого обходите их все, занося их (или их Id, или их URLs) в кач. значения в некоторый JS объект, где в кач. ключей выстуапают логины пользователей, ответственных за issue.

Затем для всех ключей, ищите пользователя по логину, и отправляете ему нотификацию.

 

Александр

Comment actions Permalink

Александр, здравствуйте!

Если пишу search: "#A_RANDOM_ISSUE_ID", то ничего не возвращается. Необходимо что-то подключить?

Спасибо!

0
Comment actions Permalink

Дмитрий,

A_RANDOM_ISSUE_ID нужно заменить на ID какого-то ишью из проекта, к которому подключен workflow. Например, PR-1.

0
Comment actions Permalink

А есть возможность не привязываться к определенному ID? Нашел способ сделать некий системный issue и находить его по тегу или нечто подобному, но не хотелось бы так делать, потому что проекты созданы давно и имеют большую ежедневную активность.

Я понял принцип, что мы должны привязаться к одной issue, но не могу найти способ сформировать поисковой запрос, чтобы выдавалась одну задача.

0
Comment actions Permalink

К сожалению, нет. А в чём именно проблема с испоьзованием какого-то ID? Вы ведь не будуте модифицировать issue в правиле.

0
Comment actions Permalink

Я понимаю, что модифицировать я его не буду. Вопрос в том, что проектов много, в районе ста, надо будет везде создать такую задачу и не забывать это делать на новых проектах.

Спасибо, теперь все ясно)

0

Please sign in to leave a comment.