Class: GitLabBuildOutput::JobTracer
- Defined in:
- lib/gitlab_build_output/job_tracer.rb
Instance Method Summary collapse
-
#initialize(private_token, git_repository, endpoint = nil, https: false) ⇒ JobTracer
constructor
A new instance of JobTracer.
- #last_commit ⇒ Object
- #last_job ⇒ Object
- #trace ⇒ Object
Constructor Details
#initialize(private_token, git_repository, endpoint = nil, https: false) ⇒ JobTracer
Returns a new instance of JobTracer.
3 4 5 6 7 8 9 |
# File 'lib/gitlab_build_output/job_tracer.rb', line 3 def initialize(private_token, git_repository, endpoint = nil, https: false) @https = https @tracer = Tracer.new @git = Git.open(git_repository) self.endpoint = endpoint @gitlab = GitLabApi.new(self.send(:endpoint), private_token) end |
Instance Method Details
#last_commit ⇒ Object
27 28 29 |
# File 'lib/gitlab_build_output/job_tracer.rb', line 27 def last_commit @last_commit ||= git.log[0].sha end |
#last_job ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/gitlab_build_output/job_tracer.rb', line 17 def last_job gitlab .commit_builds(project_name, last_commit, per_page: 10, page: 1) .detect do |e| e.status != GitLabApi::Status::CREATED && e.status != GitLabApi::Status::MANUAL && e.status != GitLabApi::Status::SKIPPED end end |
#trace ⇒ Object
11 12 13 14 15 |
# File 'lib/gitlab_build_output/job_tracer.rb', line 11 def trace last_job = send(:last_job) trace = tracer.next_trace(job_trace(last_job.id)) [trace, last_job.status] end |