Per-Project email notifications?

  • 8
  • 62

Hi,

I'm wondering if it's possible to apply mail notifications to a group on a per-project basis?

For example, We have 'runtime' and 'tools' projects, each with their own separate assignee groups.

It'd be nice if I could change a setting on the 'Tools' project to send emails to the 'tools dev' group, whenever a new issue is created/commented/closed etc.


Currently, the only way I can see any form of setup similar to this, is by asking each tools group member to edit their own Filters and Notifications via some 'Saved Search'?

Thanks,
Hello Jim,

Sorry for the delay.

Your variant is absolutely right- each member can enable needed checkbox in "Filters and notifications".
As an alternative, user with the administrative rights ("Admin" or "Project Admin") can do it by himself- create "Saved Search"-> make it visible for all project members-> enable notification for the "Saved Search" on issue created for each project member (navigate to each project member's profile-> "Filters and notifications").

Also, it's possible to create a workflow for this functionality, we'll be happy to assist you with its creating.
Regards,

Andrey Tigay
YouTrack engineer

Hi Andrey,

I'm not a huge fan of the idea of performing administrative actions on each user within our company (roughly 250 users), so it sounds like we'd require the creation of a workflow for this instead.

We've not created one here ourselves, as we're still in evaluation, but would be interested in your thoughts on how we'd approach this.

Thanks.

I've downloaded the workflow editor, and have imported all current workflows from my YouTrack version.

I'm attempting to add my own workflow as per this topic, entitled "Notify potential assignee"
The plan is that when an issue is opened or modified, that we determine the issue's project, and check all users in a group named the same (with 'developers' appended), then notify each of those users to the new.updated topic.

I've had a look at the API here, but there's very little to start with.


I'm thinking something similar to this, but am struggling to get it into the Workflow editor with correct formatting, and no red highlights.

var groupName = issue.project.name + " developers"; when <issue created or updated> { for each user in {group: groupName}.getUsers() { user.notify("Updated Issue in your project", "An issue has been created/Updated in your area. See issue " + getId()); }

There's a few things that make the Workflow Editor rather difficult to use.

1) Lack of documentation of API
2) Can't paste into it (pasting ignores all formatting, providing a single line including /n/t's)
3) 'Delete' key deletes backwards rather than forwards
4) Can't multi-line select (can't select text at all actually)
5) Can't press 'enter' mid-line and create a new line
6) The errors aren't user friendly

Jim,
Your difficulties are understandable. Some of them (like 1 and 6) should definitely be eliminated by our team, but some (2, 4, 5) are somewhat essential to projectional editors. Our intention of leveraging a projectional editor was that it somehow helps to discover language syntax and features.
We have plans (see JT-17984) to move WF editor to web, which will remove some pain points.

We can also assist you in creating a workflow – just let us know if you have any particular questions.

Regards,
Alexander

Thanks for your reply Alexander,

I had another good look at this tool today, and having just read Hadi's guide here on the blog, I must say I can understand your response and decisions, and feel the tool actually does a great job. (ctrl+space was the key combo to make everything clear)

I'll have another go at creating my own workflow for this particular issue.

A few weeks ago, I created another thread with similar complaints about the editor. Since then, I've figured out how to work with it a lot better. If you know the anachronisms, it's less painful.

  • You actually can copy-and-paste, but it's entity-based and there's not always a visual clue that anything is happening. A couple of examples:

    • Place the cursor right before an if-then block and type shift-down-array. This will cause the block to be selected. Hit cmd-C (probably control-C on Windows), and you can then paste it elsewhere. But, you have to paste it where it's valid syntax.

    • Place the cursor just inside the quotes of a string and copy. You won't see anything, but you can then paste the entire string, minus quotes, elsewhere.

    • Place the cursor at the beginning or end of a line, then type option-up- or option-down-arrow. The statement you're on (e.g., an entire if-then or for loop) will be moved up or down a line.

  • You can right-click on a line, and you'll find a command to comment it out.

  • Select a workflow rule and type shift-f5 to duplicate it, or type shift-f6 to rename it.

  • Select an expression by clicking into the text and typing control-up-arrow or control-down-arrow. Right-click, and you'll see a Surround With command in the context menu, which lets you move the expression into parentheses.

  • You really have to let code-completion work for you. Otherwise, you may type something that's perfectly valid but is processed as something invalid.

  • When typing expressions with multiple operators (e.g., a boolean expression with two operands ORed together), type the first expression, type the operator, then type the second operand. Don't try to do formatting; just let the editor do it for you as it parses the syntax. If you need to add an operand, just click to place the cursor where you want to add the new operand and type the operator, letting the IDE do the rest. This is hard to explain without sounding like I'm just stating the obvious, but play around and you'll see what I mean.

...And so on. This is far from everything I've learned, but it's enough to get you going, and you can play around with the themes to figure out more. With a little knowledge, the editor is at least usable even if it's not exactly friendly. When I first started with it, it was incredibly frustrating, and I think some basic docs along these lines would go a long, long way to helping out new users.

Thanks for that info Bob,

Definitely some useful tips in there, I agree with the code-completion stuff being vital, I've found the less I type, the better things seem to work.

I'll try out some of these ideas, but you're right in saying that a basic document with some handy hints like this, would help a lot.

----

My current issue (relating to the original post) is something I don't think can be resolved using this entity-driven interface.
  • I have user groups for each project (entitled "<project> Developers")
  • In the workflow editor, I want to send a notification to all potential assignees when an issue is edited.
  • I attempted to create a variable to hold issue.project.name + " Developers"
  • Then use this in my for each user in group statement

This fails because I can't have a string as a group, so it can't figure out a group to loop through.
I did resolve this issue using the original offer of using the 'saved searches', so I'm not blocked by this anyway.