{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "/toolresults/v1beta3/projects/",
  "baseUrl": "https://www.googleapis.com/toolresults/v1beta3/projects/",
  "batchPath": "batch/toolresults/v1beta3",
  "canonicalName": "Tool Results",
  "description": "Reads and publishes results from Firebase Test Lab.",
  "discoveryVersion": "v1",
  "documentationLink": "https://firebase.google.com/docs/test-lab/",
  "etag": "\"VPK3KBfpaEgZ16pozGOoMYfKc0U/MORIh9GJD8kNeP5pxzb7lPxrRsI\"",
  "icons": {
    "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
    "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
  },
  "id": "toolresults:v1beta3",
  "kind": "discovery#restDescription",
  "name": "toolresults",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "alt": {
      "default": "json",
      "description": "Data format for the response.",
      "enum": [
        "json"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json"
      ],
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "userIp": {
      "description": "Deprecated. Please use quotaUser instead.",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "projects": {
      "methods": {
        "getSettings": {
          "description": "Gets the Tool Results settings for a project.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read from project",
          "httpMethod": "GET",
          "id": "toolresults.projects.getSettings",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "{projectId}/settings",
          "response": {
            "$ref": "ProjectSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "initializeSettings": {
          "description": "Creates resources for settings which have not yet been set.\n\nCurrently, this creates a single resource: a Google Cloud Storage bucket, to be used as the default bucket for this project. The bucket is created in an FTL-own storage project. Except for in rare cases, calling this method in parallel from multiple clients will only create a single bucket. In order to avoid unnecessary storage charges, the bucket is configured to automatically delete objects older than 90 days.\n\nThe bucket is created with the following permissions: - Owner access for owners of central storage project (FTL-owned) - Writer access for owners/editors of customer project - Reader access for viewers of customer project The default ACL on objects created in the bucket is: - Owner access for owners of central storage project - Reader access for owners/editors/viewers of customer project See Google Cloud Storage documentation for more details.\n\nIf there is already a default bucket set and the project can access the bucket, this call does nothing. However, if the project doesn't have the permission to access the bucket or the bucket is deleted, a new bucket will be created.\n\nMay return any canonical error codes, including the following:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - Any error code raised by Google Cloud Storage",
          "httpMethod": "POST",
          "id": "toolresults.projects.initializeSettings",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "projectId": {
              "description": "A Project id.\n\nRequired.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "{projectId}:initializeSettings",
          "response": {
            "$ref": "ProjectSettings"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      },
      "resources": {
        "histories": {
          "methods": {
            "create": {
              "description": "Creates a History.\n\nThe returned History will have the id set.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing project does not exist",
              "httpMethod": "POST",
              "id": "toolresults.projects.histories.create",
              "parameterOrder": [
                "projectId"
              ],
              "parameters": {
                "projectId": {
                  "description": "A Project id.\n\nRequired.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "requestId": {
                  "description": "A unique request ID for server to detect duplicated requests. For example, a UUID.\n\nOptional, but strongly recommended.",
                  "location": "query",
                  "type": "string"
                }
              },
              "path": "{projectId}/histories",
              "request": {
                "$ref": "History"
              },
              "response": {
                "$ref": "History"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "get": {
              "description": "Gets a History.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History does not exist",
              "httpMethod": "GET",
              "id": "toolresults.projects.histories.get",
              "parameterOrder": [
                "projectId",
                "historyId"
              ],
              "parameters": {
                "historyId": {
                  "description": "A History id.\n\nRequired.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "projectId": {
                  "description": "A Project id.\n\nRequired.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "{projectId}/histories/{historyId}",
              "response": {
                "$ref": "History"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            },
            "list": {
              "description": "Lists Histories for a given Project.\n\nThe histories are sorted by modification time in descending order. The history_id key will be used to order the history with the same modification time.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the History does not exist",
              "httpMethod": "GET",
              "id": "toolresults.projects.histories.list",
              "parameterOrder": [
                "projectId"
              ],
              "parameters": {
                "filterByName": {
                  "description": "If set, only return histories with the given name.\n\nOptional.",
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "The maximum number of Histories to fetch.\n\nDefault value: 20. The server will use this default if the field is not set or has a value of 0. Any value greater than 100 will be treated as 100.\n\nOptional.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "A continuation token to resume the query at the next item.\n\nOptional.",
                  "location": "query",
                  "type": "string"
                },
                "projectId": {
                  "description": "A Project id.\n\nRequired.",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "{projectId}/histories",
              "response": {
                "$ref": "ListHistoriesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ]
            }
          },
          "resources": {
            "executions": {
              "methods": {
                "create": {
                  "description": "Creates an Execution.\n\nThe returned Execution will have the id set.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing History does not exist",
                  "httpMethod": "POST",
                  "id": "toolresults.projects.histories.executions.create",
                  "parameterOrder": [
                    "projectId",
                    "historyId"
                  ],
                  "parameters": {
                    "historyId": {
                      "description": "A History id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "projectId": {
                      "description": "A Project id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "requestId": {
                      "description": "A unique request ID for server to detect duplicated requests. For example, a UUID.\n\nOptional, but strongly recommended.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "{projectId}/histories/{historyId}/executions",
                  "request": {
                    "$ref": "Execution"
                  },
                  "response": {
                    "$ref": "Execution"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "get": {
                  "description": "Gets an Execution.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Execution does not exist",
                  "httpMethod": "GET",
                  "id": "toolresults.projects.histories.executions.get",
                  "parameterOrder": [
                    "projectId",
                    "historyId",
                    "executionId"
                  ],
                  "parameters": {
                    "executionId": {
                      "description": "An Execution id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "historyId": {
                      "description": "A History id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "projectId": {
                      "description": "A Project id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "{projectId}/histories/{historyId}/executions/{executionId}",
                  "response": {
                    "$ref": "Execution"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "list": {
                  "description": "Lists Executions for a given History.\n\nThe executions are sorted by creation_time in descending order. The execution_id key will be used to order the executions with the same creation_time.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing History does not exist",
                  "httpMethod": "GET",
                  "id": "toolresults.projects.histories.executions.list",
                  "parameterOrder": [
                    "projectId",
                    "historyId"
                  ],
                  "parameters": {
                    "historyId": {
                      "description": "A History id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "pageSize": {
                      "description": "The maximum number of Executions to fetch.\n\nDefault value: 25. The server will use this default if the field is not set or has a value of 0.\n\nOptional.",
                      "format": "int32",
                      "location": "query",
                      "type": "integer"
                    },
                    "pageToken": {
                      "description": "A continuation token to resume the query at the next item.\n\nOptional.",
                      "location": "query",
                      "type": "string"
                    },
                    "projectId": {
                      "description": "A Project id.\n\nRequired.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    }
                  },
                  "path": "{projectId}/histories/{historyId}/executions",
                  "response": {
                    "$ref": "ListExecutionsResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "patch": {
                  "description": "Updates an existing Execution with the supplied partial entity.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal - NOT_FOUND - if the containing History does not exist",
                  "httpMethod": "PATCH",
                  "id": "toolresults.projects.histories.executions.patch",
                  "parameterOrder": [
                    "projectId",
                    "historyId",
                    "executionId"
                  ],
                  "parameters": {
                    "executionId": {
                      "description": "Required.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "historyId": {
                      "description": "Required.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "projectId": {
                      "description": "A Project id. Required.",
                      "location": "path",
                      "required": true,
                      "type": "string"
                    },
                    "requestId": {
                      "description": "A unique request ID for server to detect duplicated requests. For example, a UUID.\n\nOptional, but strongly recommended.",
                      "location": "query",
                      "type": "string"
                    }
                  },
                  "path": "{projectId}/histories/{historyId}/executions/{executionId}",
                  "request": {
                    "$ref": "Execution"
                  },
                  "response": {
                    "$ref": "Execution"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              },
              "resources": {
                "clusters": {
                  "methods": {
                    "get": {
                      "description": "Retrieves a single screenshot cluster by its ID",
                      "httpMethod": "GET",
                      "id": "toolresults.projects.histories.executions.clusters.get",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId",
                        "clusterId"
                      ],
                      "parameters": {
                        "clusterId": {
                          "description": "A Cluster id\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "executionId": {
                          "description": "An Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters/{clusterId}",
                      "response": {
                        "$ref": "ScreenshotCluster"
                      }
                    },
                    "list": {
                      "description": "Lists Screenshot Clusters\n\nReturns the list of screenshot clusters corresponding to an execution. Screenshot clusters are created after the execution is finished. Clusters are created from a set of screenshots. Between any two screenshots, a matching score is calculated based off their metadata that determines how similar they are. Screenshots are placed in the cluster that has screens which have the highest matching scores.",
                      "httpMethod": "GET",
                      "id": "toolresults.projects.histories.executions.clusters.list",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "An Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/clusters",
                      "response": {
                        "$ref": "ListScreenshotClustersResponse"
                      }
                    }
                  }
                },
                "steps": {
                  "methods": {
                    "create": {
                      "description": "Creates a Step.\n\nThe returned Step will have the id set.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist",
                      "httpMethod": "POST",
                      "id": "toolresults.projects.histories.executions.steps.create",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "A Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "requestId": {
                          "description": "A unique request ID for server to detect duplicated requests. For example, a UUID.\n\nOptional, but strongly recommended.",
                          "location": "query",
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps",
                      "request": {
                        "$ref": "Step"
                      },
                      "response": {
                        "$ref": "Step"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "get": {
                      "description": "Gets a Step.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the Step does not exist",
                      "httpMethod": "GET",
                      "id": "toolresults.projects.histories.executions.steps.get",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId",
                        "stepId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "A Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "stepId": {
                          "description": "A Step id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}",
                      "response": {
                        "$ref": "Step"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "getPerfMetricsSummary": {
                      "description": "Retrieves a PerfMetricsSummary.\n\nMay return any of the following error code(s): - NOT_FOUND - The specified PerfMetricsSummary does not exist",
                      "httpMethod": "GET",
                      "id": "toolresults.projects.histories.executions.steps.getPerfMetricsSummary",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId",
                        "stepId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "A tool results execution ID.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A tool results history ID.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "The cloud project",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "stepId": {
                          "description": "A tool results step ID.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
                      "response": {
                        "$ref": "PerfMetricsSummary"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "list": {
                      "description": "Lists Steps for a given Execution.\n\nThe steps are sorted by creation_time in descending order. The step_id key will be used to order the steps with the same creation_time.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to read project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if an argument in the request happens to be invalid; e.g. if an attempt is made to list the children of a nonexistent Step - NOT_FOUND - if the containing Execution does not exist",
                      "httpMethod": "GET",
                      "id": "toolresults.projects.histories.executions.steps.list",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "A Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "pageSize": {
                          "description": "The maximum number of Steps to fetch.\n\nDefault value: 25. The server will use this default if the field is not set or has a value of 0.\n\nOptional.",
                          "format": "int32",
                          "location": "query",
                          "type": "integer"
                        },
                        "pageToken": {
                          "description": "A continuation token to resume the query at the next item.\n\nOptional.",
                          "location": "query",
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps",
                      "response": {
                        "$ref": "ListStepsResponse"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "patch": {
                      "description": "Updates an existing Step with the supplied partial entity.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal (e.g try to upload a duplicate xml file), if the updated step is too large (more than 10Mib) - NOT_FOUND - if the containing Execution does not exist",
                      "httpMethod": "PATCH",
                      "id": "toolresults.projects.histories.executions.steps.patch",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId",
                        "stepId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "A Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "requestId": {
                          "description": "A unique request ID for server to detect duplicated requests. For example, a UUID.\n\nOptional, but strongly recommended.",
                          "location": "query",
                          "type": "string"
                        },
                        "stepId": {
                          "description": "A Step id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}",
                      "request": {
                        "$ref": "Step"
                      },
                      "response": {
                        "$ref": "Step"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    },
                    "publishXunitXmlFiles": {
                      "description": "Publish xml files to an existing Step.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write project - INVALID_ARGUMENT - if the request is malformed - FAILED_PRECONDITION - if the requested state transition is illegal, e.g try to upload a duplicate xml file or a file too large. - NOT_FOUND - if the containing Execution does not exist",
                      "httpMethod": "POST",
                      "id": "toolresults.projects.histories.executions.steps.publishXunitXmlFiles",
                      "parameterOrder": [
                        "projectId",
                        "historyId",
                        "executionId",
                        "stepId"
                      ],
                      "parameters": {
                        "executionId": {
                          "description": "A Execution id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "historyId": {
                          "description": "A History id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "projectId": {
                          "description": "A Project id.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        },
                        "stepId": {
                          "description": "A Step id. Note: This step must include a TestExecutionStep.\n\nRequired.",
                          "location": "path",
                          "required": true,
                          "type": "string"
                        }
                      },
                      "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}:publishXunitXmlFiles",
                      "request": {
                        "$ref": "PublishXunitXmlFilesRequest"
                      },
                      "response": {
                        "$ref": "Step"
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ]
                    }
                  },
                  "resources": {
                    "perfMetricsSummary": {
                      "methods": {
                        "create": {
                          "description": "Creates a PerfMetricsSummary resource. Returns the existing one if it has already been created.\n\nMay return any of the following error code(s): - NOT_FOUND - The containing Step does not exist",
                          "httpMethod": "POST",
                          "id": "toolresults.projects.histories.executions.steps.perfMetricsSummary.create",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "A tool results execution ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A tool results history ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "projectId": {
                              "description": "The cloud project",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A tool results step ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfMetricsSummary",
                          "request": {
                            "$ref": "PerfMetricsSummary"
                          },
                          "response": {
                            "$ref": "PerfMetricsSummary"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    },
                    "perfSampleSeries": {
                      "methods": {
                        "create": {
                          "description": "Creates a PerfSampleSeries.\n\nMay return any of the following error code(s): - ALREADY_EXISTS - PerfMetricSummary already exists for the given Step - NOT_FOUND - The containing Step does not exist",
                          "httpMethod": "POST",
                          "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.create",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "A tool results execution ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A tool results history ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "projectId": {
                              "description": "The cloud project",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A tool results step ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
                          "request": {
                            "$ref": "PerfSampleSeries"
                          },
                          "response": {
                            "$ref": "PerfSampleSeries"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "get": {
                          "description": "Gets a PerfSampleSeries.\n\nMay return any of the following error code(s): - NOT_FOUND - The specified PerfSampleSeries does not exist",
                          "httpMethod": "GET",
                          "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.get",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId",
                            "sampleSeriesId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "A tool results execution ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A tool results history ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "projectId": {
                              "description": "The cloud project",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "sampleSeriesId": {
                              "description": "A sample series id",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A tool results step ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}",
                          "response": {
                            "$ref": "PerfSampleSeries"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "list": {
                          "description": "Lists PerfSampleSeries for a given Step.\n\nThe request provides an optional filter which specifies one or more PerfMetricsType to include in the result; if none returns all. The resulting PerfSampleSeries are sorted by ids.\n\nMay return any of the following canonical error codes: - NOT_FOUND - The containing Step does not exist",
                          "httpMethod": "GET",
                          "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.list",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "A tool results execution ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "filter": {
                              "description": "Specify one or more PerfMetricType values such as CPU to filter the result",
                              "enum": [
                                "cpu",
                                "graphics",
                                "memory",
                                "network",
                                "perfMetricTypeUnspecified"
                              ],
                              "enumDescriptions": [
                                "",
                                "",
                                "",
                                "",
                                ""
                              ],
                              "location": "query",
                              "repeated": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A tool results history ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "projectId": {
                              "description": "The cloud project",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A tool results step ID.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries",
                          "response": {
                            "$ref": "ListPerfSampleSeriesResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      },
                      "resources": {
                        "samples": {
                          "methods": {
                            "batchCreate": {
                              "description": "Creates a batch of PerfSamples - a client can submit multiple batches of Perf Samples through repeated calls to this method in order to split up a large request payload - duplicates and existing timestamp entries will be ignored. - the batch operation may partially succeed - the set of elements successfully inserted is returned in the response (omits items which already existed in the database).\n\nMay return any of the following canonical error codes: - NOT_FOUND - The containing PerfSampleSeries does not exist",
                              "httpMethod": "POST",
                              "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.batchCreate",
                              "parameterOrder": [
                                "projectId",
                                "historyId",
                                "executionId",
                                "stepId",
                                "sampleSeriesId"
                              ],
                              "parameters": {
                                "executionId": {
                                  "description": "A tool results execution ID.",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "historyId": {
                                  "description": "A tool results history ID.",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "projectId": {
                                  "description": "The cloud project",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "sampleSeriesId": {
                                  "description": "A sample series id",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "stepId": {
                                  "description": "A tool results step ID.",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples:batchCreate",
                              "request": {
                                "$ref": "BatchCreatePerfSamplesRequest"
                              },
                              "response": {
                                "$ref": "BatchCreatePerfSamplesResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            },
                            "list": {
                              "description": "Lists the Performance Samples of a given Sample Series - The list results are sorted by timestamps ascending - The default page size is 500 samples; and maximum size allowed 5000 - The response token indicates the last returned PerfSample timestamp - When the results size exceeds the page size, submit a subsequent request including the page token to return the rest of the samples up to the page limit\n\nMay return any of the following canonical error codes: - OUT_OF_RANGE - The specified request page_token is out of valid range - NOT_FOUND - The containing PerfSampleSeries does not exist",
                              "httpMethod": "GET",
                              "id": "toolresults.projects.histories.executions.steps.perfSampleSeries.samples.list",
                              "parameterOrder": [
                                "projectId",
                                "historyId",
                                "executionId",
                                "stepId",
                                "sampleSeriesId"
                              ],
                              "parameters": {
                                "executionId": {
                                  "description": "A tool results execution ID.",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "historyId": {
                                  "description": "A tool results history ID.",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "pageSize": {
                                  "description": "The default page size is 500 samples, and the maximum size is 5000. If the page_size is greater than 5000, the effective page size will be 5000",
                                  "format": "int32",
                                  "location": "query",
                                  "type": "integer"
                                },
                                "pageToken": {
                                  "description": "Optional, the next_page_token returned in the previous response",
                                  "location": "query",
                                  "type": "string"
                                },
                                "projectId": {
                                  "description": "The cloud project",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "sampleSeriesId": {
                                  "description": "A sample series id",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                },
                                "stepId": {
                                  "description": "A tool results step ID.",
                                  "location": "path",
                                  "required": true,
                                  "type": "string"
                                }
                              },
                              "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/perfSampleSeries/{sampleSeriesId}/samples",
                              "response": {
                                "$ref": "ListPerfSamplesResponse"
                              },
                              "scopes": [
                                "https://www.googleapis.com/auth/cloud-platform"
                              ]
                            }
                          }
                        }
                      }
                    },
                    "testCases": {
                      "methods": {
                        "get": {
                          "description": "Gets details of a Test Case for a Step. Experimental test cases API. Still in active development.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing Test Case does not exist",
                          "httpMethod": "GET",
                          "id": "toolresults.projects.histories.executions.steps.testCases.get",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId",
                            "testCaseId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "A Execution id\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A History id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "projectId": {
                              "description": "A Project id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A Step id. Note: This step must include a TestExecutionStep.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "testCaseId": {
                              "description": "A Test Case id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases/{testCaseId}",
                          "response": {
                            "$ref": "TestCase"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        },
                        "list": {
                          "description": "Lists Test Cases attached to a Step. Experimental test cases API. Still in active development.\n\nMay return any of the following canonical error codes:\n\n- PERMISSION_DENIED - if the user is not authorized to write to project - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the containing Step does not exist",
                          "httpMethod": "GET",
                          "id": "toolresults.projects.histories.executions.steps.testCases.list",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "A Execution id\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A History id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "The maximum number of TestCases to fetch.\n\nDefault value: 100. The server will use this default if the field is not set or has a value of 0.\n\nOptional.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "pageToken": {
                              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
                              "location": "query",
                              "type": "string"
                            },
                            "projectId": {
                              "description": "A Project id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A Step id. Note: This step must include a TestExecutionStep.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/testCases",
                          "response": {
                            "$ref": "ListTestCasesResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    },
                    "thumbnails": {
                      "methods": {
                        "list": {
                          "description": "Lists thumbnails of images attached to a step.\n\nMay return any of the following canonical error codes: - PERMISSION_DENIED - if the user is not authorized to read from the project, or from any of the images - INVALID_ARGUMENT - if the request is malformed - NOT_FOUND - if the step does not exist, or if any of the images do not exist",
                          "httpMethod": "GET",
                          "id": "toolresults.projects.histories.executions.steps.thumbnails.list",
                          "parameterOrder": [
                            "projectId",
                            "historyId",
                            "executionId",
                            "stepId"
                          ],
                          "parameters": {
                            "executionId": {
                              "description": "An Execution id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "historyId": {
                              "description": "A History id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "pageSize": {
                              "description": "The maximum number of thumbnails to fetch.\n\nDefault value: 50. The server will use this default if the field is not set or has a value of 0.\n\nOptional.",
                              "format": "int32",
                              "location": "query",
                              "type": "integer"
                            },
                            "pageToken": {
                              "description": "A continuation token to resume the query at the next item.\n\nOptional.",
                              "location": "query",
                              "type": "string"
                            },
                            "projectId": {
                              "description": "A Project id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            },
                            "stepId": {
                              "description": "A Step id.\n\nRequired.",
                              "location": "path",
                              "required": true,
                              "type": "string"
                            }
                          },
                          "path": "{projectId}/histories/{historyId}/executions/{executionId}/steps/{stepId}/thumbnails",
                          "response": {
                            "$ref": "ListStepThumbnailsResponse"
                          },
                          "scopes": [
                            "https://www.googleapis.com/auth/cloud-platform"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20190425",
  "rootUrl": "https://www.googleapis.com/",
  "schemas": {
    "AndroidAppInfo": {
      "description": "Android app information.",
      "id": "AndroidAppInfo",
      "properties": {
        "name": {
          "description": "The name of the app. Optional",
          "type": "string"
        },
        "packageName": {
          "description": "The package name of the app. Required.",
          "type": "string"
        },
        "versionCode": {
          "description": "The internal version code of the app. Optional.",
          "type": "string"
        },
        "versionName": {
          "description": "The version name of the app. Optional.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AndroidInstrumentationTest": {
      "description": "A test of an Android application that can control an Android component independently of its normal lifecycle.\n\nSee  for more information on types of Android tests.",
      "id": "AndroidInstrumentationTest",
      "properties": {
        "testPackageId": {
          "description": "The java package for the test to be executed. Required",
          "type": "string"
        },
        "testRunnerClass": {
          "description": "The InstrumentationTestRunner class. Required",
          "type": "string"
        },
        "testTargets": {
          "description": "Each target must be fully qualified with the package name or class name, in one of these formats: - \"package package_name\" - \"class package_name.class_name\" - \"class package_name.class_name#method_name\"\n\nIf empty, all targets in the module will be run.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "useOrchestrator": {
          "description": "The flag indicates whether Android Test Orchestrator will be used to run test or not.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "AndroidRoboTest": {
      "description": "A test of an android application that explores the application on a virtual or physical Android device, finding culprits and crashes as it goes.",
      "id": "AndroidRoboTest",
      "properties": {
        "appInitialActivity": {
          "description": "The initial activity that should be used to start the app. Optional",
          "type": "string"
        },
        "bootstrapPackageId": {
          "description": "The java package for the bootstrap. Optional",
          "type": "string"
        },
        "bootstrapRunnerClass": {
          "description": "The runner class for the bootstrap. Optional",
          "type": "string"
        },
        "maxDepth": {
          "description": "The max depth of the traversal stack Robo can explore. Optional",
          "format": "int32",
          "type": "integer"
        },
        "maxSteps": {
          "description": "The max number of steps/actions Robo can execute. Default is no limit (0). Optional",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "AndroidTest": {
      "description": "An Android mobile test specification.",
      "id": "AndroidTest",
      "properties": {
        "androidAppInfo": {
          "$ref": "AndroidAppInfo",
          "description": "Information about the application under test."
        },
        "androidInstrumentationTest": {
          "$ref": "AndroidInstrumentationTest",
          "description": "An Android instrumentation test."
        },
        "androidRoboTest": {
          "$ref": "AndroidRoboTest",
          "description": "An Android robo test."
        },
        "testTimeout": {
          "$ref": "Duration",
          "description": "Max time a test is allowed to run before it is automatically cancelled."
        }
      },
      "type": "object"
    },
    "Any": {
      "description": "`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\nFoo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(\u0026foo)) { ... }\n\nExample 2: Pack and unpack a message in Java.\n\nFoo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); }\n\nExample 3: Pack and unpack a message in Python.\n\nfoo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...\n\nExample 4: Pack and unpack a message in Go\n\nfoo := \u0026pb.Foo{...} any, err := ptypes.MarshalAny(foo) ... foo := \u0026pb.Foo{} if err := ptypes.UnmarshalAny(any, foo); err != nil { ... }\n\nThe pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example \"foo.bar.com/x/y.z\" will yield type name \"y.z\".\n\n\n\nJSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example:\n\npackage google.profile; message Person { string first_name = 1; string last_name = 2; }\n\n{ \"@type\": \"type.googleapis.com/google.profile.Person\", \"firstName\": , \"lastName\":  }\n\nIf the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]):\n\n{ \"@type\": \"type.googleapis.com/google.protobuf.Duration\", \"value\": \"1.212s\" }",
      "id": "Any",
      "properties": {
        "typeUrl": {
          "description": "A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one \"/\" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.)\n\nNote: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics.",
          "type": "string"
        },
        "value": {
          "description": "Must be a valid serialized protocol buffer of the above specified type.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AppStartTime": {
      "id": "AppStartTime",
      "properties": {
        "fullyDrawnTime": {
          "$ref": "Duration",
          "description": "Optional. The time from app start to reaching the developer-reported \"fully drawn\" time. This is only stored if the app includes a call to Activity.reportFullyDrawn(). See https://developer.android.com/topic/performance/launch-time.html#time-full"
        },
        "initialDisplayTime": {
          "$ref": "Duration",
          "description": "The time from app start to the first displayed activity being drawn, as reported in Logcat. See https://developer.android.com/topic/performance/launch-time.html#time-initial"
        }
      },
      "type": "object"
    },
    "BasicPerfSampleSeries": {
      "description": "Encapsulates the metadata for basic sample series represented by a line chart",
      "id": "BasicPerfSampleSeries",
      "properties": {
        "perfMetricType": {
          "enum": [
            "cpu",
            "graphics",
            "memory",
            "network",
            "perfMetricTypeUnspecified"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "perfUnit": {
          "enum": [
            "byte",
            "bytesPerSecond",
            "framesPerSecond",
            "kibibyte",
            "percent",
            "perfUnitUnspecified"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "sampleSeriesLabel": {
          "enum": [
            "cpuKernel",
            "cpuTotal",
            "cpuUser",
            "graphicsFrameRate",
            "memoryRssPrivate",
            "memoryRssShared",
            "memoryRssTotal",
            "memoryTotal",
            "networkReceived",
            "networkSent",
            "ntBytesReceived",
            "ntBytesTransferred",
            "sampleSeriesTypeUnspecified"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "BatchCreatePerfSamplesRequest": {
      "description": "The request must provide up to a maximum of 5000 samples to be created; a larger sample size will cause an INVALID_ARGUMENT error",
      "id": "BatchCreatePerfSamplesRequest",
      "properties": {
        "perfSamples": {
          "description": "The set of PerfSamples to create should not include existing timestamps",
          "items": {
            "$ref": "PerfSample"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchCreatePerfSamplesResponse": {
      "id": "BatchCreatePerfSamplesResponse",
      "properties": {
        "perfSamples": {
          "items": {
            "$ref": "PerfSample"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CPUInfo": {
      "id": "CPUInfo",
      "properties": {
        "cpuProcessor": {
          "description": "description of the device processor ie '1.8 GHz hexa core 64-bit ARMv8-A'",
          "type": "string"
        },
        "cpuSpeedInGhz": {
          "description": "the CPU clock speed in GHz",
          "format": "float",
          "type": "number"
        },
        "numberOfCores": {
          "description": "the number of CPU cores",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Duration": {
      "description": "A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.\n\n# Examples\n\nExample 1: Compute Duration from two Timestamps in pseudo code.\n\nTimestamp start = ...; Timestamp end = ...; Duration duration = ...;\n\nduration.seconds = end.seconds - start.seconds; duration.nanos = end.nanos - start.nanos;\n\nif (duration.seconds  0) { duration.seconds += 1; duration.nanos -= 1000000000; } else if (durations.seconds \u003e 0 \u0026\u0026 duration.nanos \u003c 0) { duration.seconds -= 1; duration.nanos += 1000000000; }\n\nExample 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\nTimestamp start = ...; Duration duration = ...; Timestamp end = ...;\n\nend.seconds = start.seconds + duration.seconds; end.nanos = start.nanos + duration.nanos;\n\nif (end.nanos = 1000000000) { end.seconds += 1; end.nanos -= 1000000000; }\n\nExample 3: Compute Duration from datetime.timedelta in Python.\n\ntd = datetime.timedelta(days=3, minutes=10) duration = Duration() duration.FromTimedelta(td)\n\n# JSON Mapping\n\nIn JSON format, the Duration type is encoded as a string rather than an object, where the string ends in the suffix \"s\" (indicating seconds) and is preceded by the number of seconds, with nanoseconds expressed as fractional seconds. For example, 3 seconds with 0 nanoseconds should be encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1 microsecond should be expressed in JSON format as \"3.000001s\".",
      "id": "Duration",
      "properties": {
        "nanos": {
          "description": "Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Execution": {
      "description": "An Execution represents a collection of Steps. For instance, it could represent: - a mobile test executed across a range of device configurations - a jenkins job with a build step followed by a test step\n\nThe maximum size of an execution message is 1 MiB.\n\nAn Execution can be updated until its state is set to COMPLETE at which point it becomes immutable.",
      "id": "Execution",
      "properties": {
        "completionTime": {
          "$ref": "Timestamp",
          "description": "The time when the Execution status transitioned to COMPLETE.\n\nThis value will be set automatically when state transitions to COMPLETE.\n\n- In response: set if the execution state is COMPLETE. - In create/update request: never set"
        },
        "creationTime": {
          "$ref": "Timestamp",
          "description": "The time when the Execution was created.\n\nThis value will be set automatically when CreateExecution is called.\n\n- In response: always set - In create/update request: never set"
        },
        "executionId": {
          "description": "A unique identifier within a History for this Execution.\n\nReturns INVALID_ARGUMENT if this field is set or overwritten by the caller.\n\n- In response always set - In create/update request: never set",
          "type": "string"
        },
        "outcome": {
          "$ref": "Outcome",
          "description": "Classify the result, for example into SUCCESS or FAILURE\n\n- In response: present if set by create/update request - In create/update request: optional"
        },
        "specification": {
          "$ref": "Specification",
          "description": "Lightweight information about execution request.\n\n- In response: present if set by create - In create: optional - In update: optional"
        },
        "state": {
          "description": "The initial state is IN_PROGRESS.\n\nThe only legal state transitions is from IN_PROGRESS to COMPLETE.\n\nA PRECONDITION_FAILED will be returned if an invalid transition is requested.\n\nThe state can only be set to COMPLETE once. A FAILED_PRECONDITION will be returned if the state is set to COMPLETE multiple times.\n\nIf the state is set to COMPLETE, all the in-progress steps within the execution will be set as COMPLETE. If the outcome of the step is not set, the outcome will be set to INCONCLUSIVE.\n\n- In response always set - In create/update request: optional",
          "enum": [
            "complete",
            "inProgress",
            "pending",
            "unknownState"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "testExecutionMatrixId": {
          "description": "TestExecution Matrix ID that the TestExecutionService uses.\n\n- In response: present if set by create - In create: optional - In update: never set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FailureDetail": {
      "id": "FailureDetail",
      "properties": {
        "crashed": {
          "description": "If the failure was severe because the system (app) under test crashed.",
          "type": "boolean"
        },
        "notInstalled": {
          "description": "If an app is not installed and thus no test can be run with the app. This might be caused by trying to run a test on an unsupported platform.",
          "type": "boolean"
        },
        "otherNativeCrash": {
          "description": "If a native process (including any other than the app) crashed.",
          "type": "boolean"
        },
        "timedOut": {
          "description": "If the test overran some time limit, and that is why it failed.",
          "type": "boolean"
        },
        "unableToCrawl": {
          "description": "If the robo was unable to crawl the app; perhaps because the app did not start.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FileReference": {
      "description": "A reference to a file.",
      "id": "FileReference",
      "properties": {
        "fileUri": {
          "description": "The URI of a file stored in Google Cloud Storage.\n\nFor example: http://storage.googleapis.com/mybucket/path/to/test.xml or in gsutil format: gs://mybucket/path/to/test.xml with version-specific info, gs://mybucket/path/to/test.xml#1360383693690000\n\nAn INVALID_ARGUMENT error will be returned if the URI format is not supported.\n\n- In response: always set - In create/update request: always set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GraphicsStats": {
      "description": "Graphics statistics for the App. The information is collected from 'adb shell dumpsys graphicsstats'. For more info see: https://developer.android.com/training/testing/performance.html Statistics will only be present for API 23+.",
      "id": "GraphicsStats",
      "properties": {
        "buckets": {
          "description": "Histogram of frame render times. There should be 154 buckets ranging from [5ms, 6ms) to [4950ms, infinity)",
          "items": {
            "$ref": "GraphicsStatsBucket"
          },
          "type": "array"
        },
        "highInputLatencyCount": {
          "description": "Total \"high input latency\" events.",
          "format": "int64",
          "type": "string"
        },
        "jankyFrames": {
          "description": "Total frames with slow render time. Should be \u003c= total_frames.",
          "format": "int64",
          "type": "string"
        },
        "missedVsyncCount": {
          "description": "Total \"missed vsync\" events.",
          "format": "int64",
          "type": "string"
        },
        "p50Millis": {
          "description": "50th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "p90Millis": {
          "description": "90th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "p95Millis": {
          "description": "95th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "p99Millis": {
          "description": "99th percentile frame render time in milliseconds.",
          "format": "int64",
          "type": "string"
        },
        "slowBitmapUploadCount": {
          "description": "Total \"slow bitmap upload\" events.",
          "format": "int64",
          "type": "string"
        },
        "slowDrawCount": {
          "description": "Total \"slow draw\" events.",
          "format": "int64",
          "type": "string"
        },
        "slowUiThreadCount": {
          "description": "Total \"slow UI thread\" events.",
          "format": "int64",
          "type": "string"
        },
        "totalFrames": {
          "description": "Total frames rendered by package.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GraphicsStatsBucket": {
      "id": "GraphicsStatsBucket",
      "properties": {
        "frameCount": {
          "description": "Number of frames in the bucket.",
          "format": "int64",
          "type": "string"
        },
        "renderMillis": {
          "description": "Lower bound of render time in milliseconds.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "History": {
      "description": "A History represents a sorted list of Executions ordered by the start_timestamp_millis field (descending). It can be used to group all the Executions of a continuous build.\n\nNote that the ordering only operates on one-dimension. If a repository has multiple branches, it means that multiple histories will need to be used in order to order Executions per branch.",
      "id": "History",
      "properties": {
        "displayName": {
          "description": "A short human-readable (plain text) name to display in the UI. Maximum of 100 characters.\n\n- In response: present if set during create. - In create request: optional",
          "type": "string"
        },
        "historyId": {
          "description": "A unique identifier within a project for this History.\n\nReturns INVALID_ARGUMENT if this field is set or overwritten by the caller.\n\n- In response always set - In create request: never set",
          "type": "string"
        },
        "name": {
          "description": "A name to uniquely identify a history within a project. Maximum of 200 characters.\n\n- In response always set - In create request: always set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Image": {
      "description": "An image, with a link to the main image and a thumbnail.",
      "id": "Image",
      "properties": {
        "error": {
          "$ref": "Status",
          "description": "An error explaining why the thumbnail could not be rendered."
        },
        "sourceImage": {
          "$ref": "ToolOutputReference",
          "description": "A reference to the full-size, original image.\n\nThis is the same as the tool_outputs entry for the image under its Step.\n\nAlways set."
        },
        "stepId": {
          "description": "The step to which the image is attached.\n\nAlways set.",
          "type": "string"
        },
        "thumbnail": {
          "$ref": "Thumbnail",
          "description": "The thumbnail."
        }
      },
      "type": "object"
    },
    "InconclusiveDetail": {
      "id": "InconclusiveDetail",
      "properties": {
        "abortedByUser": {
          "description": "If the end user aborted the test execution before a pass or fail could be determined. For example, the user pressed ctrl-c which sent a kill signal to the test runner while the test was running.",
          "type": "boolean"
        },
        "infrastructureFailure": {
          "description": "If the test runner could not determine success or failure because the test depends on a component other than the system under test which failed.\n\nFor example, a mobile test requires provisioning a device where the test executes, and that provisioning can fail.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "IndividualOutcome": {
      "description": "Step Id and outcome of each individual step that was run as a group with other steps with the same configuration.",
      "id": "IndividualOutcome",
      "properties": {
        "multistepNumber": {
          "description": "Unique int given to each step. Ranges from 0(inclusive) to total number of steps(exclusive). The primary step is 0.",
          "format": "int32",
          "type": "integer"
        },
        "outcomeSummary": {
          "enum": [
            "failure",
            "flaky",
            "inconclusive",
            "skipped",
            "success",
            "unset"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "runDuration": {
          "$ref": "Duration",
          "description": "How long it took for this step to run."
        },
        "stepId": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListExecutionsResponse": {
      "id": "ListExecutionsResponse",
      "properties": {
        "executions": {
          "description": "Executions.\n\nAlways set.",
          "items": {
            "$ref": "Execution"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nWill only be set if there are more Executions to fetch.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListHistoriesResponse": {
      "description": "Response message for HistoryService.List",
      "id": "ListHistoriesResponse",
      "properties": {
        "histories": {
          "description": "Histories.",
          "items": {
            "$ref": "History"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nWill only be set if there are more histories to fetch.\n\nTokens are valid for up to one hour from the time of the first list request. For instance, if you make a list request at 1PM and use the token from this first request 10 minutes later, the token from this second response will only be valid for 50 minutes.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListPerfSampleSeriesResponse": {
      "id": "ListPerfSampleSeriesResponse",
      "properties": {
        "perfSampleSeries": {
          "description": "The resulting PerfSampleSeries sorted by id",
          "items": {
            "$ref": "PerfSampleSeries"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListPerfSamplesResponse": {
      "id": "ListPerfSamplesResponse",
      "properties": {
        "nextPageToken": {
          "description": "Optional, returned if result size exceeds the page size specified in the request (or the default page size, 500, if unspecified). It indicates the last sample timestamp to be used as page_token in subsequent request",
          "type": "string"
        },
        "perfSamples": {
          "items": {
            "$ref": "PerfSample"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListScreenshotClustersResponse": {
      "id": "ListScreenshotClustersResponse",
      "properties": {
        "clusters": {
          "description": "The set of clusters associated with an execution Always set",
          "items": {
            "$ref": "ScreenshotCluster"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListStepThumbnailsResponse": {
      "description": "A response containing the thumbnails in a step.",
      "id": "ListStepThumbnailsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nIf set, indicates that there are more thumbnails to read, by calling list again with this value in the page_token field.",
          "type": "string"
        },
        "thumbnails": {
          "description": "A list of image data.\n\nImages are returned in a deterministic order; they are ordered by these factors, in order of importance: * First, by their associated test case. Images without a test case are considered greater than images with one. * Second, by their creation time. Images without a creation time are greater than images with one. * Third, by the order in which they were added to the step (by calls to CreateStep or UpdateStep).",
          "items": {
            "$ref": "Image"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListStepsResponse": {
      "description": "Response message for StepService.List.",
      "id": "ListStepsResponse",
      "properties": {
        "nextPageToken": {
          "description": "A continuation token to resume the query at the next item.\n\nIf set, indicates that there are more steps to read, by calling list again with this value in the page_token field.",
          "type": "string"
        },
        "steps": {
          "description": "Steps.",
          "items": {
            "$ref": "Step"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTestCasesResponse": {
      "description": "Response message for StepService.ListTestCases.",
      "id": "ListTestCasesResponse",
      "properties": {
        "nextPageToken": {
          "type": "string"
        },
        "testCases": {
          "description": "List of test cases.",
          "items": {
            "$ref": "TestCase"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MemoryInfo": {
      "id": "MemoryInfo",
      "properties": {
        "memoryCapInKibibyte": {
          "description": "Maximum memory that can be allocated to the process in KiB",
          "format": "int64",
          "type": "string"
        },
        "memoryTotalInKibibyte": {
          "description": "Total memory available on the device in KiB",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MultiStep": {
      "description": "Details when multiple steps are run with the same configuration as a group.",
      "id": "MultiStep",
      "properties": {
        "multistepNumber": {
          "description": "Unique int given to each step. Ranges from 0(inclusive) to total number of steps(exclusive). The primary step is 0.",
          "format": "int32",
          "type": "integer"
        },
        "primaryStep": {
          "$ref": "PrimaryStep",
          "description": "Present if it is a primary (original) step."
        },
        "primaryStepId": {
          "description": "Step Id of the primary (original) step, which might be this step.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Outcome": {
      "description": "Interprets a result so that humans and machines can act on it.",
      "id": "Outcome",
      "properties": {
        "failureDetail": {
          "$ref": "FailureDetail",
          "description": "More information about a FAILURE outcome.\n\nReturns INVALID_ARGUMENT if this field is set but the summary is not FAILURE.\n\nOptional"
        },
        "inconclusiveDetail": {
          "$ref": "InconclusiveDetail",
          "description": "More information about an INCONCLUSIVE outcome.\n\nReturns INVALID_ARGUMENT if this field is set but the summary is not INCONCLUSIVE.\n\nOptional"
        },
        "skippedDetail": {
          "$ref": "SkippedDetail",
          "description": "More information about a SKIPPED outcome.\n\nReturns INVALID_ARGUMENT if this field is set but the summary is not SKIPPED.\n\nOptional"
        },
        "successDetail": {
          "$ref": "SuccessDetail",
          "description": "More information about a SUCCESS outcome.\n\nReturns INVALID_ARGUMENT if this field is set but the summary is not SUCCESS.\n\nOptional"
        },
        "summary": {
          "description": "The simplest way to interpret a result.\n\nRequired",
          "enum": [
            "failure",
            "flaky",
            "inconclusive",
            "skipped",
            "success",
            "unset"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "PerfEnvironment": {
      "description": "Encapsulates performance environment info",
      "id": "PerfEnvironment",
      "properties": {
        "cpuInfo": {
          "$ref": "CPUInfo",
          "description": "CPU related environment info"
        },
        "memoryInfo": {
          "$ref": "MemoryInfo",
          "description": "Memory related environment info"
        }
      },
      "type": "object"
    },
    "PerfMetricsSummary": {
      "description": "A summary of perf metrics collected and performance environment info",
      "id": "PerfMetricsSummary",
      "properties": {
        "appStartTime": {
          "$ref": "AppStartTime"
        },
        "executionId": {
          "description": "A tool results execution ID.",
          "type": "string"
        },
        "graphicsStats": {
          "$ref": "GraphicsStats",
          "description": "Graphics statistics for the entire run. Statistics are reset at the beginning of the run and collected at the end of the run."
        },
        "historyId": {
          "description": "A tool results history ID.",
          "type": "string"
        },
        "perfEnvironment": {
          "$ref": "PerfEnvironment",
          "description": "Describes the environment in which the performance metrics were collected"
        },
        "perfMetrics": {
          "description": "Set of resource collected",
          "items": {
            "enum": [
              "cpu",
              "graphics",
              "memory",
              "network",
              "perfMetricTypeUnspecified"
            ],
            "enumDescriptions": [
              "",
              "",
              "",
              "",
              ""
            ],
            "type": "string"
          },
          "type": "array"
        },
        "projectId": {
          "description": "The cloud project",
          "type": "string"
        },
        "stepId": {
          "description": "A tool results step ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PerfSample": {
      "description": "Resource representing a single performance measure or data point",
      "id": "PerfSample",
      "properties": {
        "sampleTime": {
          "$ref": "Timestamp",
          "description": "Timestamp of collection"
        },
        "value": {
          "description": "Value observed",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "PerfSampleSeries": {
      "description": "Resource representing a collection of performance samples (or data points)",
      "id": "PerfSampleSeries",
      "properties": {
        "basicPerfSampleSeries": {
          "$ref": "BasicPerfSampleSeries",
          "description": "Basic series represented by a line chart"
        },
        "executionId": {
          "description": "A tool results execution ID.",
          "type": "string"
        },
        "historyId": {
          "description": "A tool results history ID.",
          "type": "string"
        },
        "projectId": {
          "description": "The cloud project",
          "type": "string"
        },
        "sampleSeriesId": {
          "description": "A sample series id",
          "type": "string"
        },
        "stepId": {
          "description": "A tool results step ID.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PrimaryStep": {
      "description": "Stores rollup test status of multiple steps that were run as a group and outcome of each individual step.",
      "id": "PrimaryStep",
      "properties": {
        "individualOutcome": {
          "description": "Step Id and outcome of each individual step.",
          "items": {
            "$ref": "IndividualOutcome"
          },
          "type": "array"
        },
        "rollUp": {
          "description": "Rollup test status of multiple steps that were run with the same configuration as a group.",
          "enum": [
            "failure",
            "flaky",
            "inconclusive",
            "skipped",
            "success",
            "unset"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProjectSettings": {
      "description": "Per-project settings for the Tool Results service.",
      "id": "ProjectSettings",
      "properties": {
        "defaultBucket": {
          "description": "The name of the Google Cloud Storage bucket to which results are written.\n\nBy default, this is unset.\n\nIn update request: optional In response: optional",
          "type": "string"
        },
        "name": {
          "description": "The name of the project's settings.\n\nAlways of the form: projects/{project-id}/settings\n\nIn update request: never set In response: always set",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PublishXunitXmlFilesRequest": {
      "description": "Request message for StepService.PublishXunitXmlFiles.",
      "id": "PublishXunitXmlFilesRequest",
      "properties": {
        "xunitXmlFiles": {
          "description": "URI of the Xunit XML files to publish.\n\nThe maximum size of the file this reference is pointing to is 50MB.\n\nRequired.",
          "items": {
            "$ref": "FileReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Screen": {
      "id": "Screen",
      "properties": {
        "fileReference": {
          "description": "File reference of the png file. Required.",
          "type": "string"
        },
        "locale": {
          "description": "Locale of the device that the screenshot was taken on. Required.",
          "type": "string"
        },
        "model": {
          "description": "Model of the device that the screenshot was taken on. Required.",
          "type": "string"
        },
        "version": {
          "description": "OS version of the device that the screenshot was taken on. Required.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ScreenshotCluster": {
      "id": "ScreenshotCluster",
      "properties": {
        "activity": {
          "description": "A string that describes the activity of every screen in the cluster.",
          "type": "string"
        },
        "clusterId": {
          "description": "A unique identifier for the cluster.",
          "type": "string"
        },
        "keyScreen": {
          "$ref": "Screen",
          "description": "A singular screen that represents the cluster as a whole. This screen will act as the \"cover\" of the entire cluster. When users look at the clusters, only the key screen from each cluster will be shown. Which screen is the key screen is determined by the ClusteringAlgorithm"
        },
        "screens": {
          "description": "Full list of screens.",
          "items": {
            "$ref": "Screen"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SkippedDetail": {
      "id": "SkippedDetail",
      "properties": {
        "incompatibleAppVersion": {
          "description": "If the App doesn't support the specific API level.",
          "type": "boolean"
        },
        "incompatibleArchitecture": {
          "description": "If the App doesn't run on the specific architecture, for example, x86.",
          "type": "boolean"
        },
        "incompatibleDevice": {
          "description": "If the requested OS version doesn't run on the specific device model.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "Specification": {
      "description": "The details about how to run the execution.",
      "id": "Specification",
      "properties": {
        "androidTest": {
          "$ref": "AndroidTest",
          "description": "An Android mobile test execution specification."
        }
      },
      "type": "object"
    },
    "StackTrace": {
      "description": "A stacktrace.",
      "id": "StackTrace",
      "properties": {
        "exception": {
          "description": "The stack trace message.\n\nRequired",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users - Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of [google.rpc.Code][].",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "$ref": "Any"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][] field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Step": {
      "description": "A Step represents a single operation performed as part of Execution. A step can be used to represent the execution of a tool ( for example a test runner execution or an execution of a compiler).\n\nSteps can overlap (for instance two steps might have the same start time if some operations are done in parallel).\n\nHere is an example, let's consider that we have a continuous build is executing a test runner for each iteration. The workflow would look like: - user creates a Execution with id 1 - user creates an TestExecutionStep with id 100 for Execution 1 - user update TestExecutionStep with id 100 to add a raw xml log + the service parses the xml logs and returns a TestExecutionStep with updated TestResult(s). - user update the status of TestExecutionStep with id 100 to COMPLETE\n\nA Step can be updated until its state is set to COMPLETE at which points it becomes immutable.",
      "id": "Step",
      "properties": {
        "completionTime": {
          "$ref": "Timestamp",
          "description": "The time when the step status was set to complete.\n\nThis value will be set automatically when state transitions to COMPLETE.\n\n- In response: set if the execution state is COMPLETE. - In create/update request: never set"
        },
        "creationTime": {
          "$ref": "Timestamp",
          "description": "The time when the step was created.\n\n- In response: always set - In create/update request: never set"
        },
        "description": {
          "description": "A description of this tool For example: mvn clean package -D skipTests=true\n\n- In response: present if set by create/update request - In create/update request: optional",
          "type": "string"
        },
        "deviceUsageDuration": {
          "$ref": "Duration",
          "description": "How much the device resource is used to perform the test.\n\nThis is the device usage used for billing purpose, which is different from the run_duration, for example, infrastructure failure won't be charged for device usage.\n\nPRECONDITION_FAILED will be returned if one attempts to set a device_usage on a step which already has this field set.\n\n- In response: present if previously set. - In create request: optional - In update request: optional"
        },
        "dimensionValue": {
          "description": "If the execution containing this step has any dimension_definition set, then this field allows the child to specify the values of the dimensions.\n\nThe keys must exactly match the dimension_definition of the execution.\n\nFor example, if the execution has `dimension_definition = ['attempt', 'device']` then a step must define values for those dimensions, eg. `dimension_value = ['attempt': '1', 'device': 'Nexus 6']`\n\nIf a step does not participate in one dimension of the matrix, the value for that dimension should be empty string. For example, if one of the tests is executed by a runner which does not support retries, the step could have `dimension_value = ['attempt': '', 'device': 'Nexus 6']`\n\nIf the step does not participate in any dimensions of the matrix, it may leave dimension_value unset.\n\nA PRECONDITION_FAILED will be returned if any of the keys do not exist in the dimension_definition of the execution.\n\nA PRECONDITION_FAILED will be returned if another step in this execution already has the same name and dimension_value, but differs on other data fields, for example, step field is different.\n\nA PRECONDITION_FAILED will be returned if dimension_value is set, and there is a dimension_definition in the execution which is not specified as one of the keys.\n\n- In response: present if set by create - In create request: optional - In update request: never set",
          "items": {
            "$ref": "StepDimensionValueEntry"
          },
          "type": "array"
        },
        "hasImages": {
          "description": "Whether any of the outputs of this step are images whose thumbnails can be fetched with ListThumbnails.\n\n- In response: always set - In create/update request: never set",
          "type": "boolean"
        },
        "labels": {
          "description": "Arbitrary user-supplied key/value pairs that are associated with the step.\n\nUsers are responsible for managing the key namespace such that keys don't accidentally collide.\n\nAn INVALID_ARGUMENT will be returned if the number of labels exceeds 100 or if the length of any of the keys or values exceeds 100 characters.\n\n- In response: always set - In create request: optional - In update request: optional; any new key/value pair will be added to the map, and any new value for an existing key will update that key's value",
          "items": {
            "$ref": "StepLabelsEntry"
          },
          "type": "array"
        },
        "multiStep": {
          "$ref": "MultiStep",
          "description": "Details when multiple steps are run with the same configuration as a group. These details can be used identify which group this step is part of. It also identifies the groups 'primary step' which indexes all the group members.\n\n- In response: present if previously set. - In create request: optional, set iff this step was performed more than once. - In update request: optional"
        },
        "name": {
          "description": "A short human-readable name to display in the UI. Maximum of 100 characters. For example: Clean build\n\nA PRECONDITION_FAILED will be returned upon creating a new step if it shares its name and dimension_value with an existing step. If two steps represent a similar action, but have different dimension values, they should share the same name. For instance, if the same set of tests is run on two different platforms, the two steps should have the same name.\n\n- In response: always set - In create request: always set - In update request: never set",
          "type": "string"
        },
        "outcome": {
          "$ref": "Outcome",
          "description": "Classification of the result, for example into SUCCESS or FAILURE\n\n- In response: present if set by create/update request - In create/update request: optional"
        },
        "runDuration": {
          "$ref": "Duration",
          "description": "How long it took for this step to run.\n\nIf unset, this is set to the difference between creation_time and completion_time when the step is set to the COMPLETE state. In some cases, it is appropriate to set this value separately: For instance, if a step is created, but the operation it represents is queued for a few minutes before it executes, it would be appropriate not to include the time spent queued in its run_duration.\n\nPRECONDITION_FAILED will be returned if one attempts to set a run_duration on a step which already has this field set.\n\n- In response: present if previously set; always present on COMPLETE step - In create request: optional - In update request: optional"
        },
        "state": {
          "description": "The initial state is IN_PROGRESS. The only legal state transitions are * IN_PROGRESS -\u003e COMPLETE\n\nA PRECONDITION_FAILED will be returned if an invalid transition is requested.\n\nIt is valid to create Step with a state set to COMPLETE. The state can only be set to COMPLETE once. A PRECONDITION_FAILED will be returned if the state is set to COMPLETE multiple times.\n\n- In response: always set - In create/update request: optional",
          "enum": [
            "complete",
            "inProgress",
            "pending",
            "unknownState"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "stepId": {
          "description": "A unique identifier within a Execution for this Step.\n\nReturns INVALID_ARGUMENT if this field is set or overwritten by the caller.\n\n- In response: always set - In create/update request: never set",
          "type": "string"
        },
        "testExecutionStep": {
          "$ref": "TestExecutionStep",
          "description": "An execution of a test runner."
        },
        "toolExecutionStep": {
          "$ref": "ToolExecutionStep",
          "description": "An execution of a tool (used for steps we don't explicitly support)."
        }
      },
      "type": "object"
    },
    "StepDimensionValueEntry": {
      "id": "StepDimensionValueEntry",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "StepLabelsEntry": {
      "id": "StepLabelsEntry",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "SuccessDetail": {
      "id": "SuccessDetail",
      "properties": {
        "otherNativeCrash": {
          "description": "If a native process other than the app crashed.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "TestCase": {
      "id": "TestCase",
      "properties": {
        "endTime": {
          "$ref": "Timestamp",
          "description": "The end time of the test case.\n\nOptional."
        },
        "skippedMessage": {
          "description": "Why the test case was skipped.\n\nPresent only for skipped test case",
          "type": "string"
        },
        "stackTraces": {
          "description": "The stack trace details if the test case failed or encountered an error.\n\nThe maximum size of the stack traces is 100KiB, beyond which the stack track will be truncated.\n\nZero if the test case passed.",
          "items": {
            "$ref": "StackTrace"
          },
          "type": "array"
        },
        "startTime": {
          "$ref": "Timestamp",
          "description": "The start time of the test case.\n\nOptional."
        },
        "status": {
          "description": "The status of the test case.\n\nRequired.",
          "enum": [
            "error",
            "failed",
            "passed",
            "skipped"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "testCaseId": {
          "description": "A unique identifier within a Step for this Test Case.",
          "type": "string"
        },
        "testCaseReference": {
          "$ref": "TestCaseReference",
          "description": "Test case reference, e.g. name, class name and test suite name.\n\nRequired."
        },
        "toolOutputs": {
          "description": "References to opaque files of any format output by the tool execution.",
          "items": {
            "$ref": "ToolOutputReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TestCaseReference": {
      "description": "A reference to a test case.\n\nTest case references are canonically ordered lexicographically by these three factors: * First, by test_suite_name. * Second, by class_name. * Third, by name.",
      "id": "TestCaseReference",
      "properties": {
        "className": {
          "description": "The name of the class.",
          "type": "string"
        },
        "name": {
          "description": "The name of the test case.\n\nRequired.",
          "type": "string"
        },
        "testSuiteName": {
          "description": "The name of the test suite to which this test case belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TestExecutionStep": {
      "description": "A step that represents running tests.\n\nIt accepts ant-junit xml files which will be parsed into structured test results by the service. Xml file paths are updated in order to append more files, however they can't be deleted.\n\nUsers can also add test results manually by using the test_result field.",
      "id": "TestExecutionStep",
      "properties": {
        "testIssues": {
          "description": "Issues observed during the test execution.\n\nFor example, if the mobile app under test crashed during the test, the error message and the stack trace content can be recorded here to assist debugging.\n\n- In response: present if set by create or update - In create/update request: optional",
          "items": {
            "$ref": "TestIssue"
          },
          "type": "array"
        },
        "testSuiteOverviews": {
          "description": "List of test suite overview contents. This could be parsed from xUnit XML log by server, or uploaded directly by user. This references should only be called when test suites are fully parsed or uploaded.\n\nThe maximum allowed number of test suite overviews per step is 1000.\n\n- In response: always set - In create request: optional - In update request: never (use publishXunitXmlFiles custom method instead)",
          "items": {
            "$ref": "TestSuiteOverview"
          },
          "type": "array"
        },
        "testTiming": {
          "$ref": "TestTiming",
          "description": "The timing break down of the test execution.\n\n- In response: present if set by create or update - In create/update request: optional"
        },
        "toolExecution": {
          "$ref": "ToolExecution",
          "description": "Represents the execution of the test runner.\n\nThe exit code of this tool will be used to determine if the test passed.\n\n- In response: always set - In create/update request: optional"
        }
      },
      "type": "object"
    },
    "TestIssue": {
      "description": "An issue detected occurring during a test execution.",
      "id": "TestIssue",
      "properties": {
        "category": {
          "description": "Category of issue. Required.",
          "enum": [
            "common",
            "robo",
            "unspecifiedCategory"
          ],
          "enumDescriptions": [
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "errorMessage": {
          "description": "A brief human-readable message describing the issue. Required.",
          "type": "string"
        },
        "severity": {
          "description": "Severity of issue. Required.",
          "enum": [
            "info",
            "severe",
            "suggestion",
            "unspecifiedSeverity",
            "warning"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "stackTrace": {
          "$ref": "StackTrace",
          "description": "Deprecated in favor of stack trace fields inside specific warnings."
        },
        "type": {
          "description": "Type of issue. Required.",
          "enum": [
            "anr",
            "availableDeepLinks",
            "compatibleWithOrchestrator",
            "completeRoboScriptExecution",
            "encounteredLoginScreen",
            "encounteredNonAndroidUiWidgetScreen",
            "failedToInstall",
            "fatalException",
            "inAppPurchases",
            "incompleteRoboScriptExecution",
            "insufficientCoverage",
            "iosCrash",
            "iosException",
            "launcherActivityNotFound",
            "nativeCrash",
            "nonSdkApiUsageReport",
            "nonSdkApiUsageViolation",
            "performedGoogleLogin",
            "performedMonkeyActions",
            "startActivityNotFound",
            "unspecifiedType",
            "unusedRoboDirective",
            "usedRoboDirective",
            "usedRoboIgnoreDirective"
          ],
          "enumDescriptions": [
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            ""
          ],
          "type": "string"
        },
        "warning": {
          "$ref": "Any",
          "description": "Warning message with additional details of the issue. Should always be a message from com.google.devtools.toolresults.v1.warnings"
        }
      },
      "type": "object"
    },
    "TestSuiteOverview": {
      "description": "A summary of a test suite result either parsed from XML or uploaded directly by a user.\n\nNote: the API related comments are for StepService only. This message is also being used in ExecutionService in a read only mode for the corresponding step.",
      "id": "TestSuiteOverview",
      "properties": {
        "errorCount": {
          "description": "Number of test cases in error, typically set by the service by parsing the xml_source.\n\n- In create/response: always set - In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "failureCount": {
          "description": "Number of failed test cases, typically set by the service by parsing the xml_source. May also be set by the user.\n\n- In create/response: always set - In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "description": "The name of the test suite.\n\n- In create/response: always set - In update request: never",
          "type": "string"
        },
        "skippedCount": {
          "description": "Number of test cases not run, typically set by the service by parsing the xml_source.\n\n- In create/response: always set - In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "totalCount": {
          "description": "Number of test cases, typically set by the service by parsing the xml_source.\n\n- In create/response: always set - In update request: never",
          "format": "int32",
          "type": "integer"
        },
        "xmlSource": {
          "$ref": "FileReference",
          "description": "If this test suite was parsed from XML, this is the URI where the original XML file is stored.\n\nNote: Multiple test suites can share the same xml_source\n\nReturns INVALID_ARGUMENT if the uri format is not supported.\n\n- In create/response: optional - In update request: never"
        }
      },
      "type": "object"
    },
    "TestTiming": {
      "description": "Testing timing break down to know phases.",
      "id": "TestTiming",
      "properties": {
        "testProcessDuration": {
          "$ref": "Duration",
          "description": "How long it took to run the test process.\n\n- In response: present if previously set. - In create/update request: optional"
        }
      },
      "type": "object"
    },
    "Thumbnail": {
      "description": "A single thumbnail, with its size and format.",
      "id": "Thumbnail",
      "properties": {
        "contentType": {
          "description": "The thumbnail's content type, i.e. \"image/png\".\n\nAlways set.",
          "type": "string"
        },
        "data": {
          "description": "The thumbnail file itself.\n\nThat is, the bytes here are precisely the bytes that make up the thumbnail file; they can be served as an image as-is (with the appropriate content type.)\n\nAlways set.",
          "format": "byte",
          "type": "string"
        },
        "heightPx": {
          "description": "The height of the thumbnail, in pixels.\n\nAlways set.",
          "format": "int32",
          "type": "integer"
        },
        "widthPx": {
          "description": "The width of the thumbnail, in pixels.\n\nAlways set.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Timestamp": {
      "description": "A Timestamp represents a point in time independent of any time zone or local calendar, encoded as a count of seconds and fractions of seconds at nanosecond resolution. The count is relative to an epoch at UTC midnight on January 1, 1970, in the proleptic Gregorian calendar which extends the Gregorian calendar backwards to year one.\n\nAll minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap second table is needed for interpretation, using a [24-hour linear smear](https://developers.google.com/time/smear).\n\nThe range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n# Examples\n\nExample 1: Compute Timestamp from POSIX `time()`.\n\nTimestamp timestamp; timestamp.set_seconds(time(NULL)); timestamp.set_nanos(0);\n\nExample 2: Compute Timestamp from POSIX `gettimeofday()`.\n\nstruct timeval tv; gettimeofday(\u0026tv, NULL);\n\nTimestamp timestamp; timestamp.set_seconds(tv.tv_sec); timestamp.set_nanos(tv.tv_usec * 1000);\n\nExample 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\nFILETIME ft; GetSystemTimeAsFileTime(\u0026ft); UINT64 ticks = (((UINT64)ft.dwHighDateTime) \u003c\u003c 32) | ft.dwLowDateTime;\n\n// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. Timestamp timestamp; timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\nExample 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\nlong millis = System.currentTimeMillis();\n\nTimestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n\n\nExample 5: Compute Timestamp from current time in Python.\n\ntimestamp = Timestamp() timestamp.GetCurrentTime()\n\n# JSON Mapping\n\nIn JSON format, the Timestamp type is encoded as a string in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by \"Z\") when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).\n\nFor example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past 01:30 UTC on January 15, 2017.\n\nIn JavaScript, one can convert a Date object to this format using the standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) method. In Python, a standard `datetime.datetime` object can be converted to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D ) to obtain a formatter capable of generating timestamps in this format.",
      "id": "Timestamp",
      "properties": {
        "nanos": {
          "description": "Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ToolExecution": {
      "description": "An execution of an arbitrary tool. It could be a test runner or a tool copying artifacts or deploying code.",
      "id": "ToolExecution",
      "properties": {
        "commandLineArguments": {
          "description": "The full tokenized command line including the program name (equivalent to argv in a C program).\n\n- In response: present if set by create request - In create request: optional - In update request: never set",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "exitCode": {
          "$ref": "ToolExitCode",
          "description": "Tool execution exit code. This field will be set once the tool has exited.\n\n- In response: present if set by create/update request - In create request: optional - In update request: optional, a FAILED_PRECONDITION error will be returned if an exit_code is already set."
        },
        "toolLogs": {
          "description": "References to any plain text logs output the tool execution.\n\nThis field can be set before the tool has exited in order to be able to have access to a live view of the logs while the tool is running.\n\nThe maximum allowed number of tool logs per step is 1000.\n\n- In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list",
          "items": {
            "$ref": "FileReference"
          },
          "type": "array"
        },
        "toolOutputs": {
          "description": "References to opaque files of any format output by the tool execution.\n\nThe maximum allowed number of tool outputs per step is 1000.\n\n- In response: present if set by create/update request - In create request: optional - In update request: optional, any value provided will be appended to the existing list",
          "items": {
            "$ref": "ToolOutputReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ToolExecutionStep": {
      "description": "Generic tool step to be used for binaries we do not explicitly support. For example: running cp to copy artifacts from one location to another.",
      "id": "ToolExecutionStep",
      "properties": {
        "toolExecution": {
          "$ref": "ToolExecution",
          "description": "A Tool execution.\n\n- In response: present if set by create/update request - In create/update request: optional"
        }
      },
      "type": "object"
    },
    "ToolExitCode": {
      "description": "Exit code from a tool execution.",
      "id": "ToolExitCode",
      "properties": {
        "number": {
          "description": "Tool execution exit code. A value of 0 means that the execution was successful.\n\n- In response: always set - In create/update request: always set",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ToolOutputReference": {
      "description": "A reference to a ToolExecution output file.",
      "id": "ToolOutputReference",
      "properties": {
        "creationTime": {
          "$ref": "Timestamp",
          "description": "The creation time of the file.\n\n- In response: present if set by create/update request - In create/update request: optional"
        },
        "output": {
          "$ref": "FileReference",
          "description": "A FileReference to an output file.\n\n- In response: always set - In create/update request: always set"
        },
        "testCase": {
          "$ref": "TestCaseReference",
          "description": "The test case to which this output file belongs.\n\n- In response: present if set by create/update request - In create/update request: optional"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "toolresults/v1beta3/projects/",
  "title": "Cloud Tool Results API",
  "version": "v1beta3"
}