Module: Legion::Extensions::Github::Runners::Deployments
- Includes:
- Helpers::Client, Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/github/runners/deployments.rb
Constant Summary
Helpers::Client::CREDENTIAL_RESOLVERS
Helpers::TokenCache::TOKEN_BUFFER_SECONDS
Instance Method Summary
collapse
-
#create_deployment(owner:, repo:, ref:, environment: 'production', description: nil, auto_merge: true, required_contexts: nil) ⇒ Object
-
#create_deployment_status(owner:, repo:, deployment_id:, state:, description: nil, environment_url: nil, log_url: nil) ⇒ Object
-
#delete_deployment(owner:, repo:, deployment_id:) ⇒ Object
-
#get_deployment(owner:, repo:, deployment_id:) ⇒ Object
-
#get_deployment_status(owner:, repo:, deployment_id:, status_id:) ⇒ Object
-
#list_deployment_statuses(owner:, repo:, deployment_id:, per_page: 30, page: 1) ⇒ Object
-
#list_deployments(owner:, repo:, environment: nil, ref: nil, per_page: 30, page: 1) ⇒ 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_deployment(owner:, repo:, ref:, environment: 'production', description: nil, auto_merge: true, required_contexts: nil) ⇒ Object
28
29
30
31
32
33
34
35
36
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 28
def create_deployment(owner:, repo:, ref:, environment: 'production',
description: nil, auto_merge: true, required_contexts: nil, **)
payload = { ref: ref, environment: environment, description: description,
auto_merge: auto_merge, required_contexts: required_contexts }.compact
response = connection(owner: owner, repo: repo, **).post(
"/repos/#{owner}/#{repo}/deployments", payload
)
{ result: response.body }
end
|
#create_deployment_status(owner:, repo:, deployment_id:, state:, description: nil, environment_url: nil, log_url: nil) ⇒ Object
53
54
55
56
57
58
59
60
61
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 53
def create_deployment_status(owner:, repo:, deployment_id:, state:,
description: nil, environment_url: nil, log_url: nil, **)
payload = { state: state, description: description,
environment_url: environment_url, log_url: log_url }.compact
response = connection(owner: owner, repo: repo, **).post(
"/repos/#{owner}/#{repo}/deployments/#{deployment_id}/statuses", payload
)
{ result: response.body }
end
|
#delete_deployment(owner:, repo:, deployment_id:) ⇒ Object
38
39
40
41
42
43
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 38
def delete_deployment(owner:, repo:, deployment_id:, **)
response = connection(owner: owner, repo: repo, **).delete(
"/repos/#{owner}/#{repo}/deployments/#{deployment_id}"
)
{ result: response.status == 204 }
end
|
#get_deployment(owner:, repo:, deployment_id:) ⇒ Object
21
22
23
24
25
26
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 21
def get_deployment(owner:, repo:, deployment_id:, **)
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/deployments/#{deployment_id}"
)
{ result: response.body }
end
|
#get_deployment_status(owner:, repo:, deployment_id:, status_id:) ⇒ Object
63
64
65
66
67
68
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 63
def get_deployment_status(owner:, repo:, deployment_id:, status_id:, **)
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/deployments/#{deployment_id}/statuses/#{status_id}"
)
{ result: response.body }
end
|
#list_deployment_statuses(owner:, repo:, deployment_id:, per_page: 30, page: 1) ⇒ Object
45
46
47
48
49
50
51
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 45
def list_deployment_statuses(owner:, repo:, deployment_id:, per_page: 30, page: 1, **)
params = { per_page: per_page, page: page }
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/deployments/#{deployment_id}/statuses", params
)
{ result: response.body }
end
|
#list_deployments(owner:, repo:, environment: nil, ref: nil, per_page: 30, page: 1) ⇒ Object
12
13
14
15
16
17
18
19
|
# File 'lib/legion/extensions/github/runners/deployments.rb', line 12
def list_deployments(owner:, repo:, environment: nil, ref: nil, per_page: 30, page: 1, **)
params = { environment: environment, ref: ref,
per_page: per_page, page: page }.compact
response = connection(owner: owner, repo: repo, **).get(
"/repos/#{owner}/#{repo}/deployments", params
)
{ result: response.body }
end
|