code: def similar_jobs(self, request, project, pk=None):
          
          try:
              repository = Repository.objects.get(name=project)
          except Repository.DoesNotExist:
              return Response({
                  "detail": "No project with name {}".format(project)
              }, status=HTTP_404_NOT_FOUND)
  
          try:
              job = Job.objects.get(repository=repository, id=pk)
          except ObjectDoesNotExist:
              return Response("No job with id: {0}".format(pk),
                              status=HTTP_404_NOT_FOUND)
  
          filter_params = request.query_params.copy()
  
          try:
              offset = int(filter_params.get("offset", 0))
              # we don't need a big page size on this endoint,
              # let's cap it to 50 elements
              count = int(filter_params.get("count", 50))
          except ValueError:
              return Response("Invalid value for offset or count",
                              status=HTTP_400_BAD_REQUEST)
  
          return_type = filter_params.get("return_type", "dict").lower()
  
          jobs = JobFilter({k: v for (k, v) in filter_params.items()},
                           queryset=Job.objects.filter(
                               job_type_id=job.job_type_id,
                               repository=repository).exclude(
                                   id=job.id).select_related(
                                       *self._default_select_related)).qs
  
          # similar jobs we want in descending order from most recent
          jobs = jobs.order_by('-start_time')
  
          response_body = self._get_job_list_response(jobs, offset, count,
                                                      return_type)
          response_body["meta"] = dict(offset=offset, count=count,
                                       repository=project)
  
          return Response(response_body)
docs: Get a list of jobs similar to the one selected.