docs: def createStatus(self,
                       project_id, branch, sha, state, target_url=None,
                       description=None, context=None):
          """
          :param project_id: Project ID from GitLab
          :param branch: Branch name to create the status for.
          :param sha: Full sha to create the status for.
          :param state: one of the following 'pending', 'success', 'failed'
                        or 'cancelled'.
          :param target_url: Target url to associate with this status.
          :param description: Short description of the status.
          :param context: Context of the result
          :return: A deferred with the result from GitLab.
  
          """
          payload = {'state': state, 'ref': branch}
  
          if description is not None:
              payload['description'] = description
  
          if target_url is not None:
              payload['target_url'] = target_url
  
          if context is not None:
              payload['name'] = context
  
          return self._http.post('/api/v4/projects/%d/statuses/%s' % (
              project_id, sha),
              json=payload)