You need to make the following changes to an existing workflow:
1. A transition should only be available if code has been committed against the issue.
2. Only users in a specific project role can see a transition
3. Issues must not be commented on in a specific status.
4. The resolution should be set automatically.
5. A transition should send out a specific notification email.
Which workflow elements will you use to implement the desired changes?