github.com/shashidharatd/test-infra@v0.0.0-20171006011030-71304e1ca560/testgrid/config/config.proto (about) 1 syntax = "proto3"; 2 3 // Protocol buffer for configuring testgrid.k8s.io 4 5 // Specifies the test name. 6 message TestNameConfig { 7 // Specifies name elements to be selected from configuration values 8 message NameElement { 9 reserved 1, 3, 4; 10 11 // Configuration value to use. 12 // Valid choice are: 13 // 'Tests name': The name of a test case 14 // 'Commit': The commit number of the build 15 // 'Context', 'Thread': The info extracted from each junit files: 16 // - junit_core-os_01.xml -> Context: core-os, Thread: 01 17 // - junit_runner.xml -> Context: runner 18 // - junit_01.xml -> Thread: 01 19 // or any metadata key from finished.json, which is copied from your test suite. 20 // 21 // A valid sample TestNameConfig looks like: 22 // test_name_config: 23 // name_elements: 24 // - target_config: Tests name 25 // - target_config: Context 26 // name_format: '%s [%s]' 27 string target_config = 2; 28 } 29 30 // The name elements specifying the target test name for this tab. 31 repeated NameElement name_elements = 1; 32 33 // Specifies a printf-style format string for name elements. The format 34 // string should have as many conversions as there are name_elements. 35 // For example, two name_elements could be used with name_format="%s: %s". 36 string name_format = 2; 37 } 38 39 // A single notification. 40 message Notification { 41 // Required: Text summary of the issue or notice. 42 string summary = 1; 43 // Optional: Link to further information, such as a bug, email, document, etc. 44 string context_link = 2; 45 } 46 47 // Specifies a group of tests to gather. 48 message TestGroup { 49 reserved 5, 7, 8, 10, 13, 14, 16 to 23, 28 to 34; 50 51 // Name of this TestGroup, for mapping dashboard tabs to tests. 52 string name = 1; 53 54 // Path to the test result stored in gcs 55 string gcs_prefix = 2; 56 57 // Number of days of test results to gather and serve. 58 int32 days_of_results = 3; 59 60 // Whether to ignore pending (currently running) test results. 61 bool ignore_pending = 4; 62 63 enum TestsName { 64 TESTS_NAME_MIN = 0; 65 TESTS_NAME_IGNORE = 1; 66 TESTS_NAME_REPLACE = 2; 67 TESTS_NAME_APPEND = 3; 68 } 69 70 // What to do with the 'Tests name' configuration value. It can replace the 71 // name of the test, be appended to the name of the test, or ignored. If it is 72 // ignored, then the name of the tests will be the build target. 73 TestsName tests_name_policy = 6; 74 75 // Custom column headers for defining extra column-heading rows from values in 76 // the test result. 77 message ColumnHeader { 78 reserved 1, 2; 79 string configuration_value = 3; 80 } 81 repeated ColumnHeader column_header = 9; 82 83 // Time in hours before an alert will be added to a test results table if the 84 // run date of the latest results are older than this time. If zero, no 85 // alerts are raised. 86 int32 alert_stale_results_hours = 11; 87 88 // The number of consecutive test result failures to see before alerting of 89 // a consistent failure. If zero, no alerts are raised. 90 int32 num_failures_to_alert = 12; 91 92 // The number of columns to consider "recent" for a variety of purposes. 93 int32 num_columns_recent = 15; 94 95 // deprecated - always set to true 96 bool use_kubernetes_client = 24; 97 98 // deprecated - always set to true 99 bool is_external = 25; 100 101 // Specifies the test name for a test. 102 TestNameConfig test_name_config = 26; 103 104 // A list of notifications attached to this test group. 105 // This is displayed on any dashboard tab backed by this test group. 106 repeated Notification notifications = 27; 107 } 108 109 110 // Specifies a dashboard. 111 message Dashboard { 112 // A list of the tabs on the dashboard. 113 repeated DashboardTab dashboard_tab = 1; 114 115 // A name for the Dashboard. 116 string name = 2; 117 118 // A list of notifications attached to this dashboard. 119 // This is displayed on any dashboard tab in this dashboard. 120 repeated Notification notifications = 3; 121 122 // Option to show 'Summary' tab instead of first results tab when you view 123 // this dashboard. 124 bool show_summary_first = 4; 125 } 126 127 message LinkTemplate { 128 // The URL template. 129 string url = 1; 130 // The options templates. 131 repeated LinkOptionsTemplate options = 2; 132 } 133 134 // A simple key/value pair for link options. 135 message LinkOptionsTemplate { 136 // The key for the option. This is not expanded. 137 string key = 1; 138 139 // The value for the option. This is expanded the same as the LinkTemplate. 140 string value = 2; 141 } 142 143 // A single tab on a dashboard. 144 message DashboardTab { 145 reserved 14; 146 147 // The name of the dashboard tab to display in the client. 148 string name = 1; 149 150 // The name of the TestGroup specifying the test results for this tab. 151 string test_group_name = 2; 152 153 // Default bug component for manually filing bugs from the dashboard 154 int32 bug_component = 3; 155 156 // Default code search path for changelist search links 157 string code_search_path = 4; 158 159 // See TestGroup.num_columns_recent. This value overrides the default in the 160 // TestGroup config so that dashboards may be customized separately. 161 int32 num_columns_recent = 5; 162 163 // Base options to always include, for example: 164 // width=20&include-filter-by-regex=level_tests 165 // This is taken from the #fragment part of the testgrid url. 166 // Best way to create these is to setup the options on testgrid and then 167 // copy the #fragment part. 168 string base_options = 6; 169 170 // The URL template to visit after clicking on a cell. 171 LinkTemplate open_test_template = 7; 172 173 // The URL template to visit when filing a bug. 174 LinkTemplate file_bug_template = 8; 175 176 // The URL template to visit when attaching a bug 177 LinkTemplate attach_bug_template = 9; 178 179 // Text to show in the about menu as a link to another view of the results. 180 string results_text = 10; 181 182 // The URL template to visit after clicking. 183 LinkTemplate results_url_template = 11; 184 185 // The URL template to visit when searching for changelists. 186 LinkTemplate code_search_url_template = 12; 187 188 // A description paragraph to be displayed. 189 string description = 13; 190 191 // Configuration options for dashboard tab alerts. 192 DashboardTabAlertOptions alert_options = 15; 193 } 194 195 // Configuration options for dashboard tab alerts. 196 message DashboardTabAlertOptions { 197 // Time in hours before an alert will be added to a test results table if the 198 // run date of the latest results are older than this time. If zero, no 199 // alerts are raised. 200 int32 alert_stale_results_hours = 1; 201 202 // The number of consecutive test result failures to see before alerting of 203 // a consistent failure. If zero, no alerts are raised. 204 int32 num_failures_to_alert = 2; 205 206 // The comma-separated addresses to send mail. 207 string alert_mail_to_addresses = 3; 208 } 209 210 // Specifies a dashboard group. 211 message DashboardGroup { 212 // The name for the dashboard group. 213 string name = 1; 214 215 // A list of names specifying dashboards to show links to in a separate tabbed 216 // bar at the top of the page for each of the given dashboards. 217 repeated string dashboard_names = 2; 218 } 219 220 // A service configuration consisting of multiple test groups and dashboards. 221 message Configuration { 222 // A list of groups of tests to gather. 223 repeated TestGroup test_groups = 1; 224 225 // A list of all of the dashboards for a server. 226 repeated Dashboard dashboards = 2; 227 228 // A list of all the dashboard groups for a server. 229 repeated DashboardGroup dashboard_groups = 3; 230 } 231 232 message DefaultConfiguration { 233 // A default testgroup with default initialization data 234 TestGroup default_test_group = 1; 235 236 // A default dashboard tab with default initialization data 237 DashboardTab default_dashboard_tab = 2; 238 239 // A default dashboard with default initialization data 240 Dashboard default_dashboard = 3; 241 }