code: def execute(self):
          
          if not self.config.pr:
              raise NotPullRequestException
  
          logger.debug('Using the following configuration:')
          for name, value in self.config.as_dict().items():
              logger.debug('  - {}={}'.format(name, repr(value)))
  
          logger.info('Running Lintly against PR #{} for repo {}'.format(self.config.pr, self.project))
  
          parser = PARSERS.get(self.config.format)
          self._all_violations = parser.parse_violations(self.linter_output)
          logger.info('Lintly found violations in {} files'.format(len(self._all_violations)))
  
          diff = self.get_pr_diff()
          patch = self.get_pr_patch(diff)
          self._diff_violations = self.find_diff_violations(patch)
          logger.info('Lintly found diff violations in {} files'.format(len(self._diff_violations)))
  
          self.post_pr_comment(patch)
          self.post_commit_status()
docs: Executes a new build on a project.