Module: Gitlab::DataBuilder::Build
Instance Method Summary collapse
-
#build(build) ⇒ Object
rubocop:disable Metrics/AbcSize – build webhook payload.
Instance Method Details
#build(build) ⇒ Object
rubocop:disable Metrics/AbcSize – build webhook payload
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/gitlab/data_builder/build.rb', line 9 def build(build) project = build.project commit = build.pipeline user = build.user = (build.commit, commit) attrs = { object_kind: 'build', ref: build.ref, tag: build.tag, before_sha: build.before_sha, sha: build.sha, retries_count: build.retries_count, # TODO: should this be not prefixed with build_? # Leaving this way to have backward compatibility build_id: build.id, build_name: build.name, build_stage: build.stage_name, build_status: build.status, build_created_at: build.created_at, build_started_at: build.started_at, build_finished_at: build.finished_at, build_created_at_iso: build.created_at&.iso8601, build_started_at_iso: build.started_at&.iso8601, build_finished_at_iso: build.finished_at&.iso8601, build_duration: build.duration, build_queued_duration: build.queued_duration, build_allow_failure: build.allow_failure, build_failure_reason: build.failure_reason, pipeline_id: commit.id, runner: build_runner(build.runner), # TODO: do we still need it? project_id: project.id, project_name: project.full_name, user: user.try(:hook_attrs), commit: { # note: commit.id is actually the pipeline id id: commit.id, name: commit.name, sha: commit.sha, message: commit., author_name: commit., author_email: commit., author_url: , status: commit.status, duration: commit.duration, started_at: commit.started_at, finished_at: commit.finished_at, started_at_iso: commit.started_at&.iso8601, finished_at_iso: commit.finished_at&.iso8601 }, repository: { name: project.name, url: project.url_to_repo, description: project.description, homepage: project.web_url, git_http_url: project.http_url_to_repo, git_ssh_url: project.ssh_url_to_repo, visibility_level: project.visibility_level }, project: project.hook_attrs(backward: false), environment: build_environment(build) } attrs[:source_pipeline] = source_pipeline_attrs(commit.source_pipeline) if commit.source_pipeline.present? attrs end |