code: def get_delivery_timeline_data(self, project, id, revision=None, start_date=None, end_date=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          if id is not None:
              route_values['id'] = self._serialize.url('id', id, 'str')
          query_parameters = {}
          if revision is not None:
              query_parameters['revision'] = self._serialize.query('revision', revision, 'int')
          if start_date is not None:
              query_parameters['startDate'] = self._serialize.query('start_date', start_date, 'iso-8601')
          if end_date is not None:
              query_parameters['endDate'] = self._serialize.query('end_date', end_date, 'iso-8601')
          response = self._send(http_method='GET',
                                location_id='bdd0834e-101f-49f0-a6ae-509f384a12b4',
                                version='5.0',
                                route_values=route_values,
                                query_parameters=query_parameters)
          return self._deserialize('DeliveryViewData', response)
docs: GetDeliveryTimelineData.
          Get Delivery View Data
          :param str project: Project ID or project name
          :param str id: Identifier for delivery view
          :param int revision: Revision of the plan for which you want data. If the current plan is a different revision you will get an ViewRevisionMismatchException exception. If you do not supply a revision you will get data for the latest revision.
          :param datetime start_date: The start date of timeline
          :param datetime end_date: The end date of timeline
          :rtype: :class:`<DeliveryViewData> <azure.devops.v5_0.work.models.DeliveryViewData>`