More manual control over issue states

As discussed in java:S2259 keeps turning on and off - #3 by MisterPi, there are issues that alternate between being detected and not being detected. If we mark something FP and a later scan decides the issue is not there (even though the code hasn’t actually changed), it changes to CLOSED/FIXED but retains our comments and custom tags. If a third scan redetects the issue, it goes back to RESOLVED/falsepositive. But if it stays in the CLOSED/FIXED state too long, it might be removed entirely, losing our information.

We can work around this but need finer control through the web_api than SQ currently allows. Any of the following would enable us to have a script to keep these issues from going away:

  1. Ability to do_transition an issue from CLOSED to falsepositive (currently, no transition out of the CLOSED state is allowed) while retaining the info we added (comments and custom tag);
  2. Ability to change the time that an issue stayed CLOSED before being removed, for an individual issue – like the “Delete closed issues after” setting under Housekeeping, but for an individual issue (right now the finest granularity is the project level); alternately, ability to prevent an individual issue from being removed automatically, such as a special tag;
  3. Ability to change the closeDate of the issue manually (to reset the clock for timing out and removing the issue);
  4. Making the “Delete closed issues after” operation use the updateDate rather than the closeDate (because it is still possible to update a closed issue);
  5. Any other web_api trick you can think of…