Support manual run and retry for tools attached to status updates
Review Request #10311 — Created Nov. 7, 2018 and discarded — Latest diff uploaded
Allows Status Updates to have tools that are manually run, and allows
Status Updates with a error/timeout state to be rerun.Adds a new StatusUpdate state
NEEDS_RUN
which represents the ability
to be run manually on user interaction in a review request, and is
considered a pending StatusUpdate for the purposes of collapsing /
summaries.Adds a new option to the PUT API for Status Updates that supports
running a tool attached to a Status Update. This runs a new signal:
status_update_run_tool
, which extensions can hook into to run some
sort of tool when the user manually hits the run/retry button in the
review request.Adds a new button to the front-end to PUT to the new StatusUpdate API,
which checks for updates on newly run tools.Adds a new field to the
StatusUpdatesEntry
model containing the review
request ID to be passed to a the event handler of these new buttons.
Tests have been added for all added functionality in front-end and
back-end.All tests pass, and manual testing with reviewbot tools has been done
and works with the new manual run feature, as well as retrying features.
Diff Revision 10
This is not the most recent revision of the diff. The latest diff is revision 12. See what's changed.
reviewboard/reviews/detail.py |
---|
reviewboard/reviews/signals.py |
---|
reviewboard/reviews/models/status_update.py |
---|
reviewboard/reviews/tests/test_entries.py |
---|
reviewboard/static/rb/css/pages/reviews.less |
---|
reviewboard/static/rb/js/reviewRequestPage/models/statusUpdatesEntryModel.es6.js |
---|
reviewboard/static/rb/js/reviewRequestPage/models/tests/statusUpdatesEntryModelTests.es6.js |
---|
reviewboard/static/rb/js/reviewRequestPage/views/baseStatusUpdatesEntryView.es6.js |
---|
reviewboard/static/rb/js/reviewRequestPage/views/tests/baseStatusUpdatesEntryViewTests.es6.js |
---|
reviewboard/templates/reviews/status_update_summary.html |
---|
reviewboard/webapi/resources/status_update.py |
---|
reviewboard/webapi/tests/test_status_update.py |
---|