Module: Legion::Extensions::Github::Runners::Checks
- Includes:
- Helpers::Client, Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/github/runners/checks.rb
Constant Summary
Helpers::Client::CREDENTIAL_RESOLVERS
Helpers::TokenCache::TOKEN_BUFFER_SECONDS
Instance Method Summary
collapse
-
#create_check_run(owner:, repo:, name:, head_sha:, status: nil, conclusion: nil, output: nil, details_url: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists.
-
#get_check_run(owner:, repo:, check_run_id:) ⇒ Object
-
#get_check_suite(owner:, repo:, check_suite_id:) ⇒ Object
-
#list_check_run_annotations(owner:, repo:, check_run_id:, per_page: 30, page: 1) ⇒ Object
-
#list_check_runs_for_ref(owner:, repo:, ref:, check_name: nil, status: nil, per_page: 30, page: 1) ⇒ Object
-
#list_check_suites_for_ref(owner:, repo:, ref:, per_page: 30, page: 1) ⇒ Object
-
#rerequest_check_suite(owner:, repo:, check_suite_id:) ⇒ Object
-
#update_check_run(owner:, repo:, check_run_id:, **opts) ⇒ Object
#connection, #gh_cli_token_output, #max_fallback_retries, #on_rate_limit, #on_scope_authorized, #on_scope_denied, #resolve_broker_app, #resolve_credential, #resolve_env, #resolve_gh_cli, #resolve_next_credential, #resolve_settings_app, #resolve_settings_delegated, #resolve_settings_pat, #resolve_vault_app, #resolve_vault_delegated, #resolve_vault_pat
#credential_fingerprint, #invalidate_scope, #mark_rate_limited, #rate_limited?, #register_scope, #scope_status
#fetch_token, #mark_rate_limited, #rate_limited?, #store_token
Instance Method Details
#create_check_run(owner:, repo:, name:, head_sha:, status: nil, conclusion: nil, output: nil, details_url: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists
12
13
14
15
16
17
18
19
20
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 12
def create_check_run(owner:, repo:, name:, head_sha:, status: nil, conclusion: nil, output: nil, details_url: nil, **)
payload = { name: name, head_sha: head_sha, status: status,
conclusion: conclusion, output: output, details_url: details_url }.compact
response = connection(owner: owner, repo: repo, **).post(
"/repos/#{owner}/#{repo}/check-runs", payload
)
{ result: response.body }
end
|
#get_check_run(owner:, repo:, check_run_id:) ⇒ Object
31
32
33
34
35
36
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 31
def get_check_run(owner:, repo:, check_run_id:, **)
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/check-runs/#{check_run_id}"
)
{ result: response.body }
end
|
#get_check_suite(owner:, repo:, check_suite_id:) ⇒ Object
56
57
58
59
60
61
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 56
def get_check_suite(owner:, repo:, check_suite_id:, **)
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/check-suites/#{check_suite_id}"
)
{ result: response.body }
end
|
#list_check_run_annotations(owner:, repo:, check_run_id:, per_page: 30, page: 1) ⇒ Object
70
71
72
73
74
75
76
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 70
def list_check_run_annotations(owner:, repo:, check_run_id:, per_page: 30, page: 1, **)
params = { per_page: per_page, page: page }
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/check-runs/#{check_run_id}/annotations", params
)
{ result: response.body }
end
|
#list_check_runs_for_ref(owner:, repo:, ref:, check_name: nil, status: nil, per_page: 30, page: 1) ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 38
def list_check_runs_for_ref(owner:, repo:, ref:, check_name: nil, status: nil,
per_page: 30, page: 1, **)
params = { check_name: check_name, status: status,
per_page: per_page, page: page }.compact
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/commits/#{ref}/check-runs", params
)
{ result: response.body }
end
|
#list_check_suites_for_ref(owner:, repo:, ref:, per_page: 30, page: 1) ⇒ Object
48
49
50
51
52
53
54
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 48
def list_check_suites_for_ref(owner:, repo:, ref:, per_page: 30, page: 1, **)
params = { per_page: per_page, page: page }
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/commits/#{ref}/check-suites", params
)
{ result: response.body }
end
|
#rerequest_check_suite(owner:, repo:, check_suite_id:) ⇒ Object
63
64
65
66
67
68
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 63
def rerequest_check_suite(owner:, repo:, check_suite_id:, **)
response = connection(owner: owner, repo: repo, **).post(
"/repos/#{owner}/#{repo}/check-suites/#{check_suite_id}/rerequest"
)
{ result: [201, 204].include?(response.status) }
end
|
#update_check_run(owner:, repo:, check_run_id:, **opts) ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/legion/extensions/github/runners/checks.rb', line 22
def update_check_run(owner:, repo:, check_run_id:, **opts)
payload = opts.slice(:name, :status, :conclusion, :output, :details_url,
:started_at, :completed_at)
response = connection(owner: owner, repo: repo, **opts).patch(
"/repos/#{owner}/#{repo}/check-runs/#{check_run_id}", payload
)
{ result: response.body }
end
|