/**
  * @param array $options
  *
  * @throws \Assert\AssertionFailedException
  * @throws \GitLab\Exception\InvalidArgumentException
  * @throws \Google_Exception
  * @throws \InvalidArgumentException
  * @throws \OldTown\GitLabTools\Analizator\Google\Exception\RuntimeException
  */
 public function build(array $options = [])
 {
     Assertion::keyExists($options, 'url', 'GitLab url api not specified');
     Assertion::keyExists($options, 'token', 'GitLab url token not specified');
     Assertion::keyExists($options, 'googleClientSecretPath', 'googleClientSecretPath not specified');
     $this->googleSheetsStorage = null;
     $this->googleSheetsStorageBuilder->setGoogleClientSecretPath($options['googleClientSecretPath'])->setReportDir(self::REPORT_DIR)->setReportFile(self::REPORT_FILE);
     $this->gitLabDataStorage = null;
     $this->gitLabDataStorageBuilder->setToken($options['token'])->setUrl($options['url']);
     $this->storeReports();
 }