I'm hoping for some help developing a logic for a transition/step in a fairly complex workflow used to track department hiring requests/candidates. I've looked around and could not find anything similar to my request given the links and custom logic. I will give as much info as possible while staying concise:
Primary problem: Need workflow step / transition logic for an issue needing multiple approvals by different people (determined by the issue links) before transitioning to a specific step.
Background: Project for hiring/tracking in a department.
Two issue types: Hiring Request, Candidate
Candidate Workflow: RCRT Candidate Snip.PNG
Issue links: one valid issue link is set up for with "is a candidate for" and "has candidates". One hiring request can have multiple candidates at a time. Also, a candidate could be a fit (is a candidate for) multiple hiring requests.
Detailed Problem: The main problem is transitioning a candidate from "Pending Hiring Manager Review" to "Pending Phone Interview". I'd like a way to have the following logic implemented:
- If any Hiring Manager (Requester field of the 'Hiring Request' which the 'Candidate' is linked to) approves a candidate to phone interview, transition the candidate to the "Pending Phone Interview" Status.
- When above (1) happens, transition the 'Hiring Request' Item also to the 'Interviewing' status (this one seems easy enough with a post function)
- **Difficult** If a Hiring Manager (Requester field of the 'Hiring Request' which a 'Candidate' is linked to) rejects a candidate, wait until other Hiring Managers who are linked to the candidate also reject him before moving. Example: Candidate A is a candidate for hiring requests X, Y, and Z. Hiring Managers for X and Y reject him. I do not want him to go to rejected status yet (as that would kick off a rejection notification). Once hiring manager Z rejects him (and we double check he has not been added to other hiring requests, besides X, Y, Z) then all Managers have rejected him and he can be moved to rjected status.
- My thoughts on above: Would this be better done by 'de-linking' the candidate from the hiring request if a rejection occurs? Then, when a rejection occurs, we could check if the candidate has any other outstanding (besides his current rejection) hiring requests attached, and if not, move him to rejected.
- If this is done strictly from the candidate item point of view - we'd need some logic to track all the hiring managers responses attached the candidate (maybe with an extra hidden or non-modifiable field?)
I greatly appreciate any help or suggestions on how to make this work.
Thank you,