66 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| module Gitlab
 | |
|   class BuildDataBuilder
 | |
|     class << self
 | |
|       def build(build)
 | |
|         project = build.project
 | |
|         commit = build.pipeline
 | |
|         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
 |