| // Copyright 2019 The LUCI Authors. All rights reserved. |
| // Use of this source code is governed under the Apache License, Version 2.0 |
| // that can be found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package recipe_engine; |
| |
| // The result of a recipe execution. |
| message Result { |
| oneof oneof_result { |
| // The json result of a recipe. Guaranteed to be a JSON 'object' (e.g. |
| // "{...}") or omitted. |
| string json_result = 1; |
| |
| // The cause of the failure of a recipe. |
| Failure failure = 2; |
| } |
| } |
| |
| message Failure { |
| // A reason readable by humans. Printed to the UI, and will be seen by users. |
| string human_reason = 1; |
| |
| // The cause of this failure. |
| oneof failure_type { |
| // Step threw an exception. |
| Exception exception = 3; |
| |
| // Step failed (return code not ok). |
| StepFailure failure = 5; |
| } |
| } |
| |
| // An unexpected exception occured during execution. Caused by the builtin |
| // Exception class. |
| message Exception { |
| // Traceback of an exception which occured. |
| repeated string traceback = 1; |
| } |
| |
| // A step failed to execute "correctly". Correct generally is indicated by a |
| // return code of 0, but the step can allow for other return codes as well. |
| message StepFailure { |
| // The step which failed. |
| string step = 1; |
| } |
| |