github.com/munnerz/test-infra@v0.0.0-20190108210205-ce3d181dc989/testgrid/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, 16 to 23, 28 to 37; 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 // Default code search path for searching regressions. Overridden by 93 // code_search_path in DashboardTab. 94 string code_search_path = 14; 95 96 // The number of columns to consider "recent" for a variety of purposes. 97 int32 num_columns_recent = 15; 98 99 // deprecated - always set to true 100 bool use_kubernetes_client = 24; 101 102 // deprecated - always set to true 103 bool is_external = 25; 104 105 // Specifies the test name for a test. 106 TestNameConfig test_name_config = 26; 107 108 // A list of notifications attached to this test group. 109 // This is displayed on any dashboard tab backed by this test group. 110 repeated Notification notifications = 27; 111 112 // The number of consecutive test passes to close the alert. 113 int32 num_passes_to_disable_alert = 38; 114 115 // Numeric property metric value to be used for short text. If this property 116 // is present, it will override all the other short text values. 117 string short_text_metric = 43; 118 } 119 120 121 // Specifies a dashboard. 122 message Dashboard { 123 // A list of the tabs on the dashboard. 124 repeated DashboardTab dashboard_tab = 1; 125 126 // A name for the Dashboard. 127 string name = 2; 128 129 // A list of notifications attached to this dashboard. 130 // This is displayed on any dashboard tab in this dashboard. 131 repeated Notification notifications = 3; 132 133 reserved 4; // Deprecated show_summary_first bool, unused 134 135 // Control which tab is displayed when first opening a dashboard. 136 // Defaults to Summary 137 string default_tab = 5; 138 } 139 140 message LinkTemplate { 141 // The URL template. 142 string url = 1; 143 // The options templates. 144 repeated LinkOptionsTemplate options = 2; 145 } 146 147 // A simple key/value pair for link options. 148 message LinkOptionsTemplate { 149 // The key for the option. This is not expanded. 150 string key = 1; 151 152 // The value for the option. This is expanded the same as the LinkTemplate. 153 string value = 2; 154 } 155 156 // A single tab on a dashboard. 157 message DashboardTab { 158 reserved 14; 159 160 // The name of the dashboard tab to display in the client. 161 string name = 1; 162 163 // The name of the TestGroup specifying the test results for this tab. 164 string test_group_name = 2; 165 166 // Default bug component for manually filing bugs from the dashboard 167 int32 bug_component = 3; 168 169 // Default code search path for searching regressions. This value overrides 170 // the default in the TestGroup config so that dashboards may be customized 171 // separately. 172 string code_search_path = 4; 173 174 // See TestGroup.num_columns_recent. This value overrides the default in the 175 // TestGroup config so that dashboards may be customized separately. 176 int32 num_columns_recent = 5; 177 178 // Base options to always include, for example: 179 // width=20&include-filter-by-regex=level_tests 180 // This is taken from the #fragment part of the testgrid url. 181 // Best way to create these is to setup the options on testgrid and then 182 // copy the #fragment part. 183 string base_options = 6; 184 185 // The URL template to visit after clicking on a cell. 186 LinkTemplate open_test_template = 7; 187 188 // The URL template to visit when filing a bug. 189 LinkTemplate file_bug_template = 8; 190 191 // The URL template to visit when attaching a bug 192 LinkTemplate attach_bug_template = 9; 193 194 // Text to show in the about menu as a link to another view of the results. 195 string results_text = 10; 196 197 // The URL template to visit after clicking. 198 LinkTemplate results_url_template = 11; 199 200 // The URL template to visit when searching for changelists. 201 LinkTemplate code_search_url_template = 12; 202 203 // A description paragraph to be displayed. 204 string description = 13; 205 206 // Configuration options for dashboard tab alerts. 207 DashboardTabAlertOptions alert_options = 15; 208 } 209 210 // Configuration options for dashboard tab alerts. 211 message DashboardTabAlertOptions { 212 // Time in hours before an alert will be added to a test results table if the 213 // run date of the latest results are older than this time. If zero, no 214 // alerts are raised. 215 int32 alert_stale_results_hours = 1; 216 217 // The number of consecutive test result failures to see before alerting of 218 // a consistent failure. If zero, no alerts are raised. 219 int32 num_failures_to_alert = 2; 220 221 // The comma-separated addresses to send mail. 222 string alert_mail_to_addresses = 3; 223 } 224 225 // Specifies a dashboard group. 226 message DashboardGroup { 227 // The name for the dashboard group. 228 string name = 1; 229 230 // A list of names specifying dashboards to show links to in a separate tabbed 231 // bar at the top of the page for each of the given dashboards. 232 repeated string dashboard_names = 2; 233 } 234 235 // A service configuration consisting of multiple test groups and dashboards. 236 message Configuration { 237 // A list of groups of tests to gather. 238 repeated TestGroup test_groups = 1; 239 240 // A list of all of the dashboards for a server. 241 repeated Dashboard dashboards = 2; 242 243 // A list of all the dashboard groups for a server. 244 repeated DashboardGroup dashboard_groups = 3; 245 } 246 247 message DefaultConfiguration { 248 // A default testgroup with default initialization data 249 TestGroup default_test_group = 1; 250 251 // A default dashboard tab with default initialization data 252 DashboardTab default_dashboard_tab = 2; 253 }