| // Copyright (C) 2018 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| syntax = "proto2"; |
| |
| package devtools.gerritcodereview; |
| |
| option java_package = "com.google.gerrit.proto"; |
| |
| // Serialized form of com.google.gerrit.entities.Change.Id. |
| // Next ID: 2 |
| message Change_Id { |
| required int32 id = 1; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.Change.Key. |
| // Next ID: 2 |
| message Change_Key { |
| optional string id = 1; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.Change. |
| // Next ID: 26 |
| message Change { |
| required Change_Id change_id = 1; |
| optional Change_Key change_key = 2; |
| optional fixed64 created_on = 4; |
| optional fixed64 last_updated_on = 5; |
| optional Account_Id owner_account_id = 7; |
| optional Branch_NameKey dest = 8; |
| optional uint32 status = 10; |
| optional int32 current_patch_set_id = 12; |
| optional string subject = 13; |
| optional string topic = 14; |
| optional string original_subject = 17; |
| optional string submission_id = 18; |
| optional bool is_private = 20; |
| optional bool work_in_progress = 21; |
| optional bool review_started = 22; |
| optional Change_Id revert_of = 23; |
| optional PatchSet_Id cherry_pick_of = 24; |
| optional string server_id = 25; |
| |
| // Deleted fields, should not be reused: |
| reserved 3; // row_version |
| reserved 6; // sortkey |
| reserved 9; // open |
| reserved 11; // nbrPatchSets |
| reserved 15; // lastSha1MergeTested |
| reserved 16; // mergeable |
| reserved 19; // assignee |
| reserved 101; // note_db_state |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.common.ChangeInput. |
| // Next ID: 19 |
| message ChangeInput { |
| optional string project = 1; |
| optional string branch = 2; |
| optional string subject = 3; |
| optional string topic = 4; |
| optional ChangeStatus status = 5; |
| optional bool is_private = 6; |
| optional bool work_in_progress = 7; |
| optional string base_change = 8; |
| optional string base_commit = 9; |
| optional bool new_branch = 10; |
| map<string, string> validation_options = 11; |
| map<string, string> custom_keyed_values = 12; |
| optional MergeInput merge = 13; |
| optional ApplyPatchInput patch = 14; |
| optional AccountInput author = 15; |
| repeated ListChangesOption response_format_options = 16; |
| optional NotifyHandling notify = 17 [default = ALL]; |
| // The key is the string representation of the RecipientType enum. |
| // We use a string here because proto does not allow enum keys in maps. |
| map<string, NotifyInfo> notify_details = 18; |
| } |
| |
| // Serialized form of com.google.gerrit.enities.ChangeMessage. |
| // Next ID: 3 |
| message ChangeMessage_Key { |
| required Change_Id change_id = 1; |
| required string uuid = 2; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.ChangeMessage. |
| // Next ID: 8 |
| message ChangeMessage { |
| required ChangeMessage_Key key = 1; |
| optional Account_Id author_id = 2; |
| optional fixed64 written_on = 3; |
| optional string message = 4; |
| optional PatchSet_Id patchset = 5; |
| optional string tag = 6; |
| optional Account_Id real_author = 7; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.client.ChangeStatus. |
| // Next ID: 3 |
| enum ChangeStatus { |
| NEW = 0; |
| MERGED = 1; |
| ABANDONED = 2; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.common.MergeInput. |
| // Next ID: 5 |
| message MergeInput { |
| optional string source = 1; |
| optional string source_branch = 2; |
| optional string strategy = 3; |
| optional bool allow_conflicts = 4; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.api.changes.ApplyPatchInput. |
| // Next ID: 3 |
| message ApplyPatchInput { |
| optional string patch = 1; |
| optional bool allow_conflicts = 2; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.api.accounts.AccountInput. |
| // Next ID: 8 |
| message AccountInput { |
| optional string username = 1; |
| optional string name = 2; |
| optional string display_name = 3; |
| optional string email = 4; |
| optional string ssh_key = 5; |
| optional string http_password = 6; |
| repeated string groups = 7; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.client.ListChangesOption. |
| // Next ID: 28 |
| enum ListChangesOption { |
| LABELS = 0; |
| CURRENT_REVISION = 1; |
| ALL_REVISIONS = 2; |
| CURRENT_COMMIT = 3; |
| ALL_COMMITS = 4; |
| CURRENT_FILES = 5; |
| ALL_FILES = 6; |
| DETAILED_ACCOUNTS = 7; |
| DETAILED_LABELS = 8; |
| MESSAGES = 9; |
| CURRENT_ACTIONS = 10; |
| REVIEWED = 11; |
| DRAFT_COMMENTS = 12; |
| DOWNLOAD_COMMANDS = 13; |
| WEB_LINKS = 14; |
| CHECK = 15; |
| CHANGE_ACTIONS = 16; |
| COMMIT_FOOTERS = 17; |
| PUSH_CERTIFICATES = 18; |
| REVIEWER_UPDATES = 19; |
| SUBMITTABLE = 20; |
| TRACKING_IDS = 21; |
| SKIP_MERGEABLE = 22; |
| SKIP_DIFFSTAT = 23; |
| SUBMIT_REQUIREMENTS = 24; |
| CUSTOM_KEYED_VALUES = 25; |
| STAR = 26; |
| PARENTS = 27; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.api.changes.NotifyHandling. |
| // Next ID: 4 |
| enum NotifyHandling { |
| NONE = 0; |
| OWNER = 1; |
| OWNER_REVIEWERS = 2; |
| ALL = 3; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.api.changes.RecipientType. |
| // Next ID: 3 |
| enum RecipientType { |
| TO = 0; |
| CC = 1; |
| BCC = 2; |
| } |
| |
| // Serialized form of com.google.gerrit.extensions.api.changes.NotifyInfo. |
| // Next ID: 2 |
| message NotifyInfo { |
| repeated string accounts = 1; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.PatchSet.Id. |
| // Next ID: 3 |
| message PatchSet_Id { |
| required Change_Id change_id = 1; |
| required int32 id = 2; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.PatchSet. |
| // Next ID: 12 |
| message PatchSet { |
| required PatchSet_Id id = 1; |
| optional ObjectId commitId = 2; |
| optional Account_Id uploader_account_id = 3; |
| optional fixed64 created_on = 4; |
| optional string groups = 6; |
| optional string push_certificate = 8; |
| optional string description = 9; |
| optional Account_Id real_uploader_account_id = 10; |
| optional string branch = 11; |
| |
| // Deleted fields, should not be reused: |
| reserved 5; // draft |
| reserved 7; // pushCertficate |
| } |
| |
| // Serialized form of com.google.gerrit.entities.Account.Id. |
| // Next ID: 2 |
| message Account_Id { |
| required int32 id = 1; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.LabelId. |
| // Next ID: 2 |
| message LabelId { |
| required string id = 1; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.PatchSetApproval.Key. |
| // Next ID: 4 |
| message PatchSetApproval_Key { |
| required PatchSet_Id patch_set_id = 1; |
| required Account_Id account_id = 2; |
| required LabelId label_id = 3; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.PatchSetApproval. |
| // Next ID: 11 |
| message PatchSetApproval { |
| required PatchSetApproval_Key key = 1; |
| optional int32 value = 2; |
| optional fixed64 granted = 3; |
| optional string tag = 6; |
| optional Account_Id real_account_id = 7; |
| optional bool post_submit = 8; |
| optional bool copied = 9; |
| optional string uuid = 10; |
| |
| // Deleted fields, should not be reused: |
| reserved 4; // changeOpen |
| reserved 5; // changeSortKey |
| } |
| |
| // Serialized form of com.google.gerrit.entities.Project.NameKey. |
| // Next ID: 2 |
| message Project_NameKey { |
| optional string name = 1; |
| } |
| |
| // Serialized form of com.google.gerrit.entities.Branch.NameKey. |
| // Next ID: 3 |
| message Branch_NameKey { |
| optional Project_NameKey project = 1; |
| optional string branch = 2; |
| } |
| |
| // Serialized form of org.eclipse.jgit.lib.ObjectId. |
| // Next ID: 2 |
| message ObjectId { |
| // Hex string representation of the ID. |
| optional string name = 1 [default="0000000000000000000000000000000000000000"]; |
| } |
| |
| // Serialized form of a continuation token used for pagination. |
| // Next ID: 2 |
| message PaginationToken { |
| optional string next_page_token = 1; |
| } |
| |
| // Proto representation of the User preferences classes |
| // Next ID: 4 |
| message UserPreferences { |
| // Next ID: 26 |
| message GeneralPreferencesInfo { |
| // Number of changes to show in a screen. |
| optional int32 changes_per_page = 1 [default = 25]; |
| |
| // Type of download URL the user prefers to use. */ |
| optional string download_scheme = 2; |
| |
| enum Theme { |
| AUTO = 0; |
| DARK = 1; |
| LIGHT = 2; |
| } |
| optional Theme theme = 3; |
| |
| enum DateFormat { |
| STD = 0; |
| US = 1; |
| ISO = 2; |
| EURO = 3; |
| UK = 4; |
| } |
| optional DateFormat date_format = 4; |
| |
| enum TimeFormat { |
| HHMM_12 = 0; |
| HHMM_24 = 1; |
| } |
| optional TimeFormat time_format = 5; |
| |
| optional bool expand_inline_diffs = 6; |
| optional bool relative_date_in_change_table = 20; |
| |
| enum DiffView { |
| SIDE_BY_SIDE = 0; |
| UNIFIED_DIFF = 1; |
| } |
| optional DiffView diff_view = 21; |
| |
| optional bool size_bar_in_change_table = 22 [default = true]; |
| optional bool legacycid_in_change_table = 7; |
| optional bool mute_common_path_prefixes = 8 [default = true]; |
| optional bool signed_off_by = 9; |
| |
| enum EmailStrategy { |
| ENABLED = 0; |
| CC_ON_OWN_COMMENTS = 1; |
| ATTENTION_SET_ONLY = 2; |
| DISABLED = 3; |
| } |
| optional EmailStrategy email_strategy = 10; |
| |
| enum EmailFormat { |
| PLAINTEXT = 0; |
| HTML_PLAINTEXT = 1; |
| } |
| optional EmailFormat email_format = 11 [default = HTML_PLAINTEXT]; |
| |
| enum DefaultBase { |
| AUTO_MERGE = 0; |
| FIRST_PARENT = 1; |
| } |
| optional DefaultBase default_base_for_merges = 12 [default = FIRST_PARENT]; |
| |
| optional bool publish_comments_on_push = 13; |
| optional bool disable_keyboard_shortcuts = 14; |
| optional bool disable_token_highlighting = 15; |
| optional bool work_in_progress_by_default = 16; |
| |
| message MenuItem { |
| optional string url = 1; |
| optional string name = 2; |
| optional string target = 3; |
| optional string id = 4; |
| } |
| repeated MenuItem my_menu_items = 17; |
| |
| repeated string change_table = 18; |
| optional bool allow_browser_notifications = 19 [default = true]; |
| optional bool allow_suggest_code_while_commenting = 24 [default = true]; |
| optional bool allow_autocompleting_comments = 25 [default = true]; |
| optional string diff_page_sidebar = 23 [default = "NONE"]; |
| } |
| optional GeneralPreferencesInfo general_preferences_info = 1; |
| |
| // Next ID: 25 |
| message DiffPreferencesInfo { |
| optional int32 context = 1 [default = 10]; |
| optional int32 tab_size = 2 [default = 8]; |
| optional int32 font_size = 3 [default = 12]; |
| optional int32 line_length = 4 [default = 100]; |
| optional int32 cursor_blink_rate = 5; |
| optional bool expand_all_comments = 6; |
| optional bool intraline_difference = 7 [default = true]; |
| optional bool manual_review = 8; |
| optional bool show_line_endings = 9 [default = true]; |
| optional bool show_tabs = 10 [default = true]; |
| optional bool show_whitespace_errors = 11 [default = true]; |
| optional bool syntax_highlighting = 12 [default = true]; |
| optional bool hide_top_menu = 13; |
| optional bool auto_hide_diff_table_header = 14 [default = true]; |
| optional bool hide_line_numbers = 15; |
| optional bool render_entire_file = 16; |
| optional bool hide_empty_pane = 17; |
| optional bool match_brackets = 18; |
| optional bool line_wrapping = 19; |
| |
| enum Whitespace { |
| IGNORE_NONE = 0; |
| IGNORE_TRAILING = 1; |
| IGNORE_LEADING_AND_TRAILING = 2; |
| IGNORE_ALL = 3; |
| } |
| optional Whitespace ignore_whitespace = 20; |
| |
| optional bool retain_header = 21; |
| optional bool skip_deleted = 22; |
| optional bool skip_unchanged = 23; |
| optional bool skip_uncommented = 24; |
| } |
| optional DiffPreferencesInfo diff_preferences_info = 2; |
| |
| // Next ID: 15 |
| message EditPreferencesInfo { |
| optional int32 tab_size = 1 [default = 8]; |
| optional int32 line_length = 2 [default = 100]; |
| optional int32 indent_unit = 3 [default = 2]; |
| optional int32 cursor_blink_rate = 4; |
| optional bool hide_top_menu = 5; |
| optional bool show_tabs = 6 [default = true]; |
| optional bool show_whitespace_errors = 7; |
| optional bool syntax_highlighting = 8 [default = true]; |
| optional bool hide_line_numbers = 9; |
| optional bool match_brackets = 10 [default = true]; |
| optional bool line_wrapping = 11; |
| optional bool indent_with_tabs = 12; |
| optional bool auto_close_brackets = 13; |
| optional bool show_base = 14; |
| } |
| optional EditPreferencesInfo edit_preferences_info = 3; |
| } |
| |
| // Next Id: 13 |
| message HumanComment { |
| // Required. Note that the equivalent Java struct does not contain the change |
| // ID, so we keep the same format here. |
| optional int32 patchset_id = 1; |
| optional ObjectId dest_commit_id = 2; |
| // Required. |
| optional Account_Id account_id = 3; |
| optional Account_Id real_author = 4; |
| |
| // Next Id: 5 |
| message InFilePosition { |
| optional string file_path = 1; |
| enum Side { |
| // Should match the logic in |
| // http://google3/third_party/java_src/gerritcodereview/gerrit/java/com/google/gerrit/extensions/client/Side.java?rcl=579772037&l=24 |
| PARENT = 0; |
| REVISION = 1; |
| } |
| // Default should match |
| // http://google3/third_party/java_src/gerritcodereview/gerrit/Documentation/rest-api-changes.txt?l=7423 |
| optional Side side = 2 [default = REVISION]; |
| message Range { |
| // 1-based |
| optional int32 start_line = 1 [default = 1]; |
| // 0-based |
| optional int32 start_char = 2; |
| // 1-based |
| optional int32 end_line = 3 [default = 1]; |
| // 0-based |
| optional int32 end_char = 4; |
| } |
| // If neither range nor line number set, the comment is on the file level. It is possible |
| // (though not required) for both values to be set. in this case, it is expected that the line |
| // number is identical to the range's end line. |
| optional Range position_range = 3; |
| // 1-based |
| optional int32 line_number = 4 [default = 1]; |
| } |
| |
| // If not set, the comment is on the patchset level. |
| optional InFilePosition in_file_position = 5; |
| |
| // Required. |
| optional string comment_text = 6; |
| // Might be set by the user while creating the draft. |
| // See http://go/gerrit-rest-api-change#comment-info. |
| optional string tag = 7; |
| optional bool unresolved = 8 [default = false]; |
| |
| // Required. |
| optional string comment_uuid = 9; |
| // Required. |
| optional string parent_comment_uuid = 10; |
| |
| // Required. Epoch millis. |
| optional fixed64 written_on_millis = 11; |
| // Required. |
| optional string server_id = 12; |
| } |