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  }