code: def create_timeline(self, timeline, scope_identifier, hub_name, plan_id):
          
          route_values = {}
          if scope_identifier is not None:
              route_values['scopeIdentifier'] = self._serialize.url('scope_identifier', scope_identifier, 'str')
          if hub_name is not None:
              route_values['hubName'] = self._serialize.url('hub_name', hub_name, 'str')
          if plan_id is not None:
              route_values['planId'] = self._serialize.url('plan_id', plan_id, 'str')
          content = self._serialize.body(timeline, 'Timeline')
          response = self._send(http_method='POST',
                                location_id='83597576-cc2c-453c-bea6-2882ae6a1653',
                                version='5.0',
                                route_values=route_values,
                                content=content)
          return self._deserialize('Timeline', response)
docs: CreateTimeline.
          :param :class:`<Timeline> <azure.devops.v5_0.task.models.Timeline>` timeline:
          :param str scope_identifier: The project GUID to scope the request
          :param str hub_name: The name of the server hub: "build" for the Build server or "rm" for the Release Management server
          :param str plan_id:
          :rtype: :class:`<Timeline> <azure.devops.v5_0.task.models.Timeline>`