AutoOpenInactive bugfix and action prepare return values #361
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR originated as an unexpected behavior on my production RT instance. I noticed that tickets were being moved into open status unexpectedly -- for example, a new ticket that the requestor made the first reply to would be opened by the requestor's reply.
I initially thought this was a bug in
AutoOpen, so I went looking through the code of it and other actions. I came across a sort of red herring -- that thePrepareguards were returning true instead of false. These actually don't have a functional effect because theCommitphase will return early if the last part ofPrepareis not reached, but they do make the debug log messages more confusing since, really,Commitshould never be run ifPreparefails to satisfy all of its guard clauses.Eventually, though, I realized that
AutoOpenInactivewas running not just oninactivestatuses (but also oninitialstatuses), and so it was the culprit of my "new tickets being auto-opened" problem.I am submitting these two commits to fix the bug in
AutoOpenInactiveso that its behavior matches its documentation and name (only operating on tickets in aninactivestatus), and to clean up thePrepareblocks of three RT Actions so that the return value semantics are more correct.