public function listVersions($scriptId, array $filters = [])
{
$envelope = null;
$versions = [];
$uri = self::getUserApiUrl("/scripts/{$scriptId}/script-versions/");
do {
$params = $filters;
if (isset($envelope->pagination->next)) {
$parts = parse_url($envelope->pagination->next);
parse_str($parts['query'], $params);
}
$response = $this->request($uri, Request::METHOD_GET, $params);
$this->assertEquals(200, $response->status, $this->printResponseError($response));
$this->assertDescribeResponseNotEmpty($response);
$envelope = $response->getBody();
$versions[] = $envelope->data;
} while (!empty($envelope->pagination->next));
return call_user_func_array('array_merge', $versions);
}