Skip to content
Snippets Groups Projects
Select Git revision
  • move-gl-dropdown
  • improve-table-pagination-spec
  • move-markdown-preview
  • winh-fix-merge-request-spec
  • master default
  • index-namespaces-lower-name
  • winh-single-karma-test
  • 10-3-stable
  • 36782-replace-team-user-role-with-add_role-user-in-specs
  • winh-modal-internal-state
  • tz-ide-file-icons
  • 38869-milestone-select
  • update-autodevops-template
  • jivl-activate-repo-cookie-preferences
  • qa-add-deploy-key
  • docs-move-article-ldap
  • 40780-choose-file
  • 22643-manual-job-page
  • refactor-cluster-show-page-conservative
  • dm-sidekiq-versioning
  • v10.4.0.pre
  • v10.3.0
  • v10.3.0-rc5
  • v10.3.0-rc4
  • v10.3.0-rc3
  • v10.3.0-rc2
  • v10.2.5
  • v10.3.0-rc1
  • v10.0.7
  • v10.1.5
  • v10.2.4
  • v10.2.3
  • v10.2.2
  • v10.2.1
  • v10.3.0.pre
  • v10.2.0
  • v10.2.0-rc4
  • v10.2.0-rc3
  • v10.1.4
  • v10.2.0-rc2
40 results

build_data_builder.rb

Blame
  • Forked from GitLab.org / GitLab FOSS
    25564 commits behind the upstream repository.
    build_data_builder.rb 1.80 KiB
    module Gitlab
      class BuildDataBuilder
        class << self
          def build(build)
            project = build.project
            commit = build.commit
            user = build.user
    
            data = {
              object_kind: 'build',
    
              ref: build.ref,
              tag: build.tag,
              before_sha: build.before_sha,
              sha: build.sha,
    
              # 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,
              build_status: build.status,
              build_started_at: build.started_at,
              build_finished_at: build.finished_at,
              build_duration: build.duration,
              build_allow_failure: build.allow_failure,
    
              # TODO: do we still need it?
              project_id: project.id,
              project_name: project.name_with_namespace,
    
              user: {
                id: user.try(:id),
                name: user.try(:name),
                email: user.try(:email),
              },
    
              commit: {
                id: commit.id,
                sha: commit.sha,
                message: commit.git_commit_message,
                author_name: commit.git_author_name,
                author_email: commit.git_author_email,
                status: commit.status,
                duration: commit.duration,
                started_at: commit.started_at,
                finished_at: commit.finished_at,
              },
    
              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
              },
            }
    
            data
          end
        end
      end
    end