The Python script save-feedback.py now sets payment-N-approved, so this
script will run against tickets that are in needs-project-ok state and
payment-N-approved is set (for now, anyway).
This script was originally written to handle the approval data appearing in
files in a directory rather than the ticket traffic itself. This change
reworks that so that the script is always processing a group of tickets, and
searches for payment approval in the ticket traffic itself.
Note that this change is not yet secure, as the interns, if they know format,
could "approve themselves". The "security" comes from the script before (or
a by hand action with someone with RT access to set the completed-internship
field to 'payment-N-approved'.
I made various improvements quickly while processing payment 1 in 2018-12 and
this is the result. I didn't commit incrementally, but I do now see that I
added the support for activating the travel ticket and some error message
cleanup.
My initial drafting of this script could not support Payment 1 properly, as I
started the script after Payment 1 in 2018-05 round was already done.
These changes, while not yet fully tested, probably should work to handle
Payment 1 tickets.
Travel reimbursement tickets might already be activated. We track activation
by leaving them to "dependson" the main travel ticket, and hav them only
refersto relationship once activated.
In cases where the dependson link does not exist, then we should send notice
upon failure when rejecting the ticket.
The Outreachy tickets have to move in some semi-automated fashion when
Conservancy receives approval from the Outreachy PLC that mentors have
approved Outreachy payments.
This script will likely be too specific that it can't be used outside of
Conservancy, but the details of what it does might be useful to learn how to
glue together RT operations from the RT CLI.
This first pass simply finds the tickets via the file names of the approval
files as sent by Outreachy PLC.