code: def store_job_info_artifact(job, job_info_artifact):
      
      job_details = json.loads(job_info_artifact['blob'])['job_details']
      for job_detail in job_details:
          job_detail_dict = {
              'title': job_detail.get('title'),
              'value': job_detail['value'],
              'url': job_detail.get('url')
          }
          for (k, v) in job_detail_dict.items():
              max_field_length = JobDetail._meta.get_field(k).max_length
              if v is not None and len(v) > max_field_length:
                  logger.warning("Job detail '%s' for job_guid %s too long, truncating",
                                 v[:max_field_length], job.guid)
                  job_detail_dict[k] = v[:max_field_length]
  
          # move the url field to be updated in defaults now that it's
          # had its size trimmed, if necessary
          job_detail_dict['defaults'] = {'url': job_detail_dict['url']}
          del job_detail_dict['url']
  
          JobDetail.objects.update_or_create(
              job=job,
              **job_detail_dict)
docs: Store the contents of the job info artifact
      in job details