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  }