code: def create_commit_status(self, git_commit_status_to_create, commit_id, repository_id, project=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          if commit_id is not None:
              route_values['commitId'] = self._serialize.url('commit_id', commit_id, 'str')
          if repository_id is not None:
              route_values['repositoryId'] = self._serialize.url('repository_id', repository_id, 'str')
          content = self._serialize.body(git_commit_status_to_create, 'GitStatus')
          response = self._send(http_method='POST',
                                location_id='428dd4fb-fda5-4722-af02-9313b80305da',
                                version='5.1-preview.1',
                                route_values=route_values,
                                content=content)
          return self._deserialize('GitStatus', response)
docs: CreateCommitStatus.
          [Preview API] Create Git commit status.
          :param :class:`<GitStatus> <azure.devops.v5_1.git.models.GitStatus>` git_commit_status_to_create: Git commit status object to create.
          :param str commit_id: ID of the Git commit.
          :param str repository_id: ID of the repository.
          :param str project: Project ID or project name
          :rtype: :class:`<GitStatus> <azure.devops.v5_1.git.models.GitStatus>`