f5c9b9c014
Summary: Make Herald conditions and actions more resilient (see discussion in D12896). This protects against invalid rules, which may have been valid in the past but are no longer valid. Specifically: - If a rule has an invalid field, the conditions fail and the actions do not execute. - The transcript shows that the rule failed because of an invalid field, and points at the issue. - If a rule has an invalid action, that action fails but other actions execute. - The transcript shows that the action failed. - Everything else (particularly, other rules) continues normally in both cases. - The edit interface is somewhat working when editing an invalid rule, but it could use some further improvements. Test Plan: # Ran this rule on a differential revision and saw the rule fail in the transcript. # Was able to submit a differential without receiving an `ERR-CONDUIT-CORE`. # Edited the Herald rule using the UI and was able to save the rule succesfully. # Ran this rule on a differential revision and saw one success and one failure in the transcript. # Was able to submit a differential without receiving an `ERR-CONDUIT-CORE`. # Edited the Herald rule using the UI. Clicking save caused a `HeraldInvalidActionException` to be thrown, but maybe this is okay. Differential Revision: http://phabricator.local/D41 |
||
---|---|---|
bin | ||
conf | ||
externals | ||
resources | ||
scripts | ||
src | ||
support | ||
webroot | ||
.arcconfig | ||
.arclint | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
NOTICE | ||
README.md |
Phabricator is an open source collection of web applications which help software companies build better software.
Phabricator includes applications for:
- reviewing and auditing source code;
- hosting and browsing repositories;
- tracking bugs;
- managing projects;
- conversing with team members;
- assembling a party to venture forth;
- writing stuff down and reading it later;
- hiding stuff from coworkers; and
- also some other things.
You can learn more about the project (and find links to documentation and resources) at Phabricator.org
Phabricator is developed and maintained by Phacility.
BUG REPORTS
Please update your install to HEAD before filing bug reports. Follow our bug reporting guide for complete instructions.
FEATURE REQUESTS
We're big fans of feature requests that state core problems, not just 'add this'. We've compiled a short guide to effective upstream requests here.
COMMUNITY CHAT
Please visit our IRC Channel (#phabricator on FreeNode) to talk with other members of the Phabricator community. There might be someone there who can help you with setup issues or what image to choose for a macro.
SECURITY ISSUES
Phabricator participates in HackerOne and may pay out for various issues reported there. You can find out more information on our HackerOne page.
PULL REQUESTS
We do not accept pull requests through GitHub. If you would like to contribute code, please read our Contributor's Guide for more information.
LICENSE
Phabricator is released under the Apache 2.0 license except as otherwise noted.