code: def get_build_timeline(self, project, build_id, timeline_id=None, change_id=None, plan_id=None):
          
          route_values = {}
          if project is not None:
              route_values['project'] = self._serialize.url('project', project, 'str')
          if build_id is not None:
              route_values['buildId'] = self._serialize.url('build_id', build_id, 'int')
          if timeline_id is not None:
              route_values['timelineId'] = self._serialize.url('timeline_id', timeline_id, 'str')
          query_parameters = {}
          if change_id is not None:
              query_parameters['changeId'] = self._serialize.query('change_id', change_id, 'int')
          if plan_id is not None:
              query_parameters['planId'] = self._serialize.query('plan_id', plan_id, 'str')
          response = self._send(http_method='GET',
                                location_id='8baac422-4c6e-4de5-8532-db96d92acffa',
                                version='5.0',
                                route_values=route_values,
                                query_parameters=query_parameters)
          return self._deserialize('Timeline', response)
docs: GetBuildTimeline.
          Gets details for a build
          :param str project: Project ID or project name
          :param int build_id:
          :param str timeline_id:
          :param int change_id:
          :param str plan_id:
          :rtype: :class:`<Timeline> <azure.devops.v5_0.build.models.Timeline>`