Chromium Code Reviews| Index: go/src/infra/monorail/monorail.proto |
| diff --git a/go/src/infra/monorail/monorail.proto b/go/src/infra/monorail/monorail.proto |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5c0eb8f3d03a05ff54d286315ac26f89384ff3da |
| --- /dev/null |
| +++ b/go/src/infra/monorail/monorail.proto |
| @@ -0,0 +1,113 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// This file *partially* describes Monorail API. |
| +// It is derived from |
| +// https://chrome-internal.googlesource.com/infra/infra_internal/+/a411540/appengine/monorail/services/api_svc_v1.py |
| +// and |
| +// https://chrome-internal.googlesource.com/infra/infra_internal/+/a411540/appengine/monorail/proto/api_pb2_v1.py |
| + |
| +syntax = "proto3"; |
| + |
| +package monorail; |
|
seanmccullough1
2016/06/03 18:45:33
What you've done here is handy because you can add
nodir
2016/06/03 18:56:12
Yes https://cs.chromium.org/chromium/infra/go/src/
|
| + |
| +// Monorail service can manipulate issues. |
| +service Monorail { |
| + // Creates an issue. |
| + rpc InsertIssue(InsertIssueRequest) returns (InsertIssueResponse){}; |
| + // Posts a comment to an issue. Can update issue attributes, such as status. |
| + rpc InsertComment(InsertCommentRequest) returns (InsertCommentResponse){}; |
| +} |
| + |
| +// Issue is an existing monorail issue. |
| +message Issue { |
| + // Reporter of the issue. |
| + AtomPerson author = 1; |
| + // Issues that must be fixed before this one can be fixed. |
| + repeated IssueRef blockedOn = 2; |
| + // People participating in the issue discussion. |
| + repeated AtomPerson cc = 6; |
| + // The text body of the issue. |
| + string description = 8; |
| + // Identifier of the issue, unique within the appengine app. |
| + int32 id = 9; |
| + // Arbitrary indexed strings visible to users, |
| + // usually of form "Key-Value" or "Key-Value-SubValue", |
| + repeated string labels = 11; |
| + // Who is currently responsible for closing the issue. |
| + AtomPerson owner = 12; |
| + // Current status of issue. Standard values: |
| + // |
| + // Open statuses: |
| + // "Unconrimed" - New, has been not verified or reproduced. |
| + // "Untriaged" - Confirmed, not reviews for priority of assignment |
| + // "Available" - Triaged, but no owner assigned |
| + // "Started" - Work in progress. |
| + // "ExternalDependency" - Requires action from a third party |
| + // Closed statuses: |
| + // "Fixed" - Work completed, needs verificaiton |
| + // "Verified" - Test or reporter verified that the fix works |
| + // "Duplicate" - Same root cause as another issue |
| + // "WontFix" - Cannot reproduce, works as intended, invalid or absolete. |
| + // "Archived" - Old issue with no activity. |
| + string status = 17; |
| + // A one line description of the issue. |
| + string summary = 18; |
| +} |
| + |
| +// IssueRef references another issue in the same Monorail instance. |
| +message IssueRef { |
| + // ID of the issue. |
| + int32 issueId = 1; |
| + // ID of the project containing the issue. |
| + string projectId = 2; |
| +} |
| + |
| +// Request for Monorail.InsertIssue(). |
| +message InsertIssueRequest { |
| + // Target project id. |
| + string projectId = 1; |
| + // Definition of the issue. |
| + // issue.id must be empty. |
| + Issue issue = 2; |
| + // Whether to send email to participants. |
| + bool sendEmail = 3; |
| +} |
| + |
| +// Response for Monorail.InsertIssue() |
| +message InsertIssueResponse { |
| + // Created issue. |
| + Issue issue = 1; |
| +} |
| + |
| +// Request for Monorail.InsertComment() |
| +message InsertCommentRequest { |
| + // Defines the comment. |
| + // This message is partial. |
| + // Derived from IssueCommentWrapper type in api_pb2_v1.py. |
| + message Comment { |
| + string content = 4; |
| + Update updates = 8; |
| + } |
| + // Definition of the comment. |
| + Comment comment = 1; |
| + // The reference to post the comment to. |
| + IssueRef issue = 2; |
| +} |
| + |
| +message InsertCommentResponse{} |
| + |
| +// Defines a mutation to an issue. |
| +// This message is partial. |
| +// Derived from Update type in api_pb2_v1.py. |
| +message Update { |
| + // If set, the new status of the issue. |
| + string status = 2; |
| +} |
| + |
| +// Identifies a Monorail user. |
| +message AtomPerson { |
| + // User email. |
| + string name = 1; |
| +} |