summaryrefslogtreecommitdiff
path: root/lib/api/entities/ci/job.rb
blob: d9e6b7eed758b4b47d1a5838d71372e269dc0dc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# frozen_string_literal: true

module API
  module Entities
    module Ci
      class Job < JobBasic
        # artifacts_file is included in job_artifacts, but kept for backward compatibility (remove in api/v5)
        expose :artifacts_file, using: ::API::Entities::Ci::JobArtifactFile, if: -> (job, opts) { job.artifacts? }
        expose :job_artifacts, as: :artifacts,
                               using: ::API::Entities::Ci::JobArtifact,
                               documentation: { is_array: true }
        expose :runner, with: ::API::Entities::Ci::Runner
        expose :artifacts_expire_at,
          documentation: { type: 'dateTime', example: '2016-01-19T09:05:50.355Z' }

        expose(
          :tag_list,
          documentation: { type: 'string', is_array: true, example: ['ubuntu18', 'docker runner'] }
        ) do |job|
          job.tags.map(&:name).sort
        end
      end
    end
  end
end