# Generated by `mix github.gen` from docs/github-api/api.github.com.json.
# Do not edit by hand; re-run the task instead.
defmodule Noizu.Github.Api.Actions do
@moduledoc """
GitHub `actions` API.
"""
import Noizu.Github
@doc """
Add custom labels to a self-hosted runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-an-organization
"""
def add_custom_labels_to_self_hosted_runner_for_org(org, runner_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}/labels"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Add custom labels to a self-hosted runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#add-custom-labels-to-a-self-hosted-runner-for-a-repository
"""
def add_custom_labels_to_self_hosted_runner_for_repo(runner_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}/labels"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Add repository access to a self-hosted runner group in an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#add-repository-access-to-a-self-hosted-runner-group-in-an-organization
"""
def add_repo_access_to_self_hosted_runner_group_in_org(
org,
runner_group_id,
repository_id,
body,
options \\ nil
) do
url =
github_base() <>
"/orgs/#{org}/actions/runner-groups/#{runner_group_id}/repositories/#{repository_id}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Add selected repository to an organization secret
@see https://docs.github.com/rest/actions/secrets#add-selected-repository-to-an-organization-secret
"""
def add_selected_repo_to_org_secret(org, secret_name, repository_id, body, options \\ nil) do
url =
github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}/repositories/#{repository_id}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Add selected repository to an organization variable
@see https://docs.github.com/rest/actions/variables#add-selected-repository-to-an-organization-variable
"""
def add_selected_repo_to_org_variable(org, name, repository_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables/#{name}/repositories/#{repository_id}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Add a self-hosted runner to a group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#add-a-self-hosted-runner-to-a-group-for-an-organization
"""
def add_self_hosted_runner_to_group_for_org(
org,
runner_group_id,
runner_id,
body,
options \\ nil
) do
url =
github_base() <>
"/orgs/#{org}/actions/runner-groups/#{runner_group_id}/runners/#{runner_id}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Approve a workflow run for a fork pull request
@see https://docs.github.com/rest/actions/workflow-runs#approve-a-workflow-run-for-a-fork-pull-request
"""
def approve_workflow_run(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/approve"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Cancel a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run
"""
def cancel_workflow_run(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/cancel"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create an environment variable
@see https://docs.github.com/rest/actions/variables#create-an-environment-variable
"""
def create_environment_variable(environment_name, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/environments/#{environment_name}/variables"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create a GitHub-hosted runner for an organization
@see https://docs.github.com/rest/actions/hosted-runners#create-a-github-hosted-runner-for-an-organization
"""
def create_hosted_runner_for_org(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners"
body = body
api_call(:post, url, body, Noizu.Github.ActionsHostedRunner, options)
end
@doc """
Create or update an environment secret
@see https://docs.github.com/rest/actions/secrets#create-or-update-an-environment-secret
"""
def create_or_update_environment_secret(environment_name, secret_name, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/secrets/#{secret_name}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Create or update an organization secret
@see https://docs.github.com/rest/actions/secrets#create-or-update-an-organization-secret
"""
def create_or_update_org_secret(org, secret_name, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Create or update a repository secret
@see https://docs.github.com/rest/actions/secrets#create-or-update-a-repository-secret
"""
def create_or_update_repo_secret(secret_name, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/secrets/#{secret_name}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Create an organization variable
@see https://docs.github.com/rest/actions/variables#create-an-organization-variable
"""
def create_org_variable(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create a registration token for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-an-organization
"""
def create_registration_token_for_org(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/registration-token"
body = body
api_call(:post, url, body, Noizu.Github.AuthenticationToken, options)
end
@doc """
Create a registration token for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#create-a-registration-token-for-a-repository
"""
def create_registration_token_for_repo(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/registration-token"
body = body
api_call(:post, url, body, Noizu.Github.AuthenticationToken, options)
end
@doc """
Create a remove token for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-an-organization
"""
def create_remove_token_for_org(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/remove-token"
body = body
api_call(:post, url, body, Noizu.Github.AuthenticationToken, options)
end
@doc """
Create a remove token for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#create-a-remove-token-for-a-repository
"""
def create_remove_token_for_repo(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/remove-token"
body = body
api_call(:post, url, body, Noizu.Github.AuthenticationToken, options)
end
@doc """
Create a repository variable
@see https://docs.github.com/rest/actions/variables#create-a-repository-variable
"""
def create_repo_variable(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/variables"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create a self-hosted runner group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#create-a-self-hosted-runner-group-for-an-organization
"""
def create_self_hosted_runner_group_for_org(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runner-groups"
body = body
api_call(:post, url, body, Noizu.Github.RunnerGroupsOrg, options)
end
@doc """
Create a workflow dispatch event
@see https://docs.github.com/rest/actions/workflows#create-a-workflow-dispatch-event
"""
def create_workflow_dispatch(workflow_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/workflows/#{workflow_id}/dispatches"
body = body
api_call(:post, url, body, Noizu.Github.WorkflowDispatchResponse, options)
end
@doc """
Delete a GitHub Actions cache for a repository (using a cache ID)
@see https://docs.github.com/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id
"""
def delete_actions_cache_by_id(cache_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/caches/#{cache_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete GitHub Actions caches for a repository (using a cache key)
@see https://docs.github.com/rest/actions/cache#delete-github-actions-caches-for-a-repository-using-a-cache-key
"""
def delete_actions_cache_by_key(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:key, options, nil),
get_field(:ref, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/caches" <> qs
)
body = %{}
api_call(:delete, url, body, Noizu.Github.ActionsCacheList, options)
end
@doc """
Delete an artifact
@see https://docs.github.com/rest/actions/artifacts#delete-an-artifact
"""
def delete_artifact(artifact_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/artifacts/#{artifact_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a custom image from the organization
@see https://docs.github.com/rest/actions/hosted-runners#delete-a-custom-image-from-the-organization
"""
def delete_custom_image_from_org(org, image_definition_id, options \\ nil) do
url =
github_base() <> "/orgs/#{org}/actions/hosted-runners/images/custom/#{image_definition_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete an image version of custom image from the organization
@see https://docs.github.com/rest/actions/hosted-runners#delete-an-image-version-of-custom-image-from-the-organization
"""
def delete_custom_image_version_from_org(org, image_definition_id, version, options \\ nil) do
url =
github_base() <>
"/orgs/#{org}/actions/hosted-runners/images/custom/#{image_definition_id}/versions/#{version}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete an environment secret
@see https://docs.github.com/rest/actions/secrets#delete-an-environment-secret
"""
def delete_environment_secret(environment_name, secret_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/secrets/#{secret_name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete an environment variable
@see https://docs.github.com/rest/actions/variables#delete-an-environment-variable
"""
def delete_environment_variable(name, environment_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/variables/#{name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a GitHub-hosted runner for an organization
@see https://docs.github.com/rest/actions/hosted-runners#delete-a-github-hosted-runner-for-an-organization
"""
def delete_hosted_runner_for_org(org, hosted_runner_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/#{hosted_runner_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.ActionsHostedRunner, options)
end
@doc """
Delete an organization secret
@see https://docs.github.com/rest/actions/secrets#delete-an-organization-secret
"""
def delete_org_secret(org, secret_name, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete an organization variable
@see https://docs.github.com/rest/actions/variables#delete-an-organization-variable
"""
def delete_org_variable(org, name, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables/#{name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a repository secret
@see https://docs.github.com/rest/actions/secrets#delete-a-repository-secret
"""
def delete_repo_secret(secret_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/secrets/#{secret_name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a repository variable
@see https://docs.github.com/rest/actions/variables#delete-a-repository-variable
"""
def delete_repo_variable(name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/variables/#{name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a self-hosted runner from an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-an-organization
"""
def delete_self_hosted_runner_from_org(org, runner_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a self-hosted runner from a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#delete-a-self-hosted-runner-from-a-repository
"""
def delete_self_hosted_runner_from_repo(runner_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a self-hosted runner group from an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#delete-a-self-hosted-runner-group-from-an-organization
"""
def delete_self_hosted_runner_group_from_org(org, runner_group_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runner-groups/#{runner_group_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#delete-a-workflow-run
"""
def delete_workflow_run(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete workflow run logs
@see https://docs.github.com/rest/actions/workflow-runs#delete-workflow-run-logs
"""
def delete_workflow_run_logs(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/logs"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Disable a selected repository for GitHub Actions in an organization
@see https://docs.github.com/rest/actions/permissions#disable-a-selected-repository-for-github-actions-in-an-organization
"""
def disable_selected_repository_github_actions_organization(org, repository_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/repositories/#{repository_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove a repository from the list of repositories allowed to use self-hosted runners in an organization
@see https://docs.github.com/rest/actions/permissions#remove-a-repository-from-the-list-of-repositories-allowed-to-use-self-hosted-runners-in-an-organization
"""
def disable_selected_repository_self_hosted_runners_organization(
org,
repository_id,
options \\ nil
) do
url =
github_base() <>
"/orgs/#{org}/actions/permissions/self-hosted-runners/repositories/#{repository_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Disable a workflow
@see https://docs.github.com/rest/actions/workflows#disable-a-workflow
"""
def disable_workflow(workflow_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/workflows/#{workflow_id}/disable"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Download an artifact
@see https://docs.github.com/rest/actions/artifacts#download-an-artifact
"""
def download_artifact(artifact_id, archive_format, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/actions/artifacts/#{artifact_id}/#{archive_format}"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Download job logs for a workflow run
@see https://docs.github.com/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run
"""
def download_job_logs_for_workflow_run(job_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/jobs/#{job_id}/logs"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Download workflow run attempt logs
@see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-attempt-logs
"""
def download_workflow_run_attempt_logs(run_id, attempt_number, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/actions/runs/#{run_id}/attempts/#{attempt_number}/logs"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Download workflow run logs
@see https://docs.github.com/rest/actions/workflow-runs#download-workflow-run-logs
"""
def download_workflow_run_logs(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/logs"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Enable a selected repository for GitHub Actions in an organization
@see https://docs.github.com/rest/actions/permissions#enable-a-selected-repository-for-github-actions-in-an-organization
"""
def enable_selected_repository_github_actions_organization(
org,
repository_id,
body,
options \\ nil
) do
url = github_base() <> "/orgs/#{org}/actions/permissions/repositories/#{repository_id}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Add a repository to the list of repositories allowed to use self-hosted runners in an organization
@see https://docs.github.com/rest/actions/permissions#add-a-repository-to-the-list-of-repositories-allowed-to-use-self-hosted-runners-in-an-organization
"""
def enable_selected_repository_self_hosted_runners_organization(
org,
repository_id,
body,
options \\ nil
) do
url =
github_base() <>
"/orgs/#{org}/actions/permissions/self-hosted-runners/repositories/#{repository_id}"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Enable a workflow
@see https://docs.github.com/rest/actions/workflows#enable-a-workflow
"""
def enable_workflow(workflow_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/workflows/#{workflow_id}/enable"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Force cancel a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#force-cancel-a-workflow-run
"""
def force_cancel_workflow_run(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/force-cancel"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create configuration for a just-in-time runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-an-organization
"""
def generate_runner_jitconfig_for_org(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/generate-jitconfig"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create configuration for a just-in-time runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#create-configuration-for-a-just-in-time-runner-for-a-repository
"""
def generate_runner_jitconfig_for_repo(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/generate-jitconfig"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
List GitHub Actions caches for a repository
@see https://docs.github.com/rest/actions/cache#list-github-actions-caches-for-a-repository
"""
def get_actions_cache_list(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil),
get_field(:ref, options, nil),
get_field(:key, options, nil),
get_field(:sort, options, nil),
get_field(:direction, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/caches" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheList, options)
end
@doc """
Get GitHub Actions cache retention limit for an enterprise
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-retention-limit-for-an-enterprise
"""
def get_actions_cache_retention_limit_for_enterprise(enterprise, options \\ nil) do
url = github_base() <> "/enterprises/#{enterprise}/actions/cache/retention-limit"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheRetentionLimitForEnterprise, options)
end
@doc """
Get GitHub Actions cache retention limit for an organization
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-retention-limit-for-an-organization
"""
def get_actions_cache_retention_limit_for_organization(org, options \\ nil) do
url = github_base() <> "/organizations/#{org}/actions/cache/retention-limit"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheRetentionLimitForOrganization, options)
end
@doc """
Get GitHub Actions cache retention limit for a repository
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-retention-limit-for-a-repository
"""
def get_actions_cache_retention_limit_for_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/cache/retention-limit"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheRetentionLimitForRepository, options)
end
@doc """
Get GitHub Actions cache storage limit for an enterprise
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-storage-limit-for-an-enterprise
"""
def get_actions_cache_storage_limit_for_enterprise(enterprise, options \\ nil) do
url = github_base() <> "/enterprises/#{enterprise}/actions/cache/storage-limit"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheStorageLimitForEnterprise, options)
end
@doc """
Get GitHub Actions cache storage limit for an organization
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-storage-limit-for-an-organization
"""
def get_actions_cache_storage_limit_for_organization(org, options \\ nil) do
url = github_base() <> "/organizations/#{org}/actions/cache/storage-limit"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheStorageLimitForOrganization, options)
end
@doc """
Get GitHub Actions cache storage limit for a repository
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-storage-limit-for-a-repository
"""
def get_actions_cache_storage_limit_for_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/cache/storage-limit"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheStorageLimitForRepository, options)
end
@doc """
Get GitHub Actions cache usage for a repository
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-a-repository
"""
def get_actions_cache_usage(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/cache/usage"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheUsageByRepository, options)
end
@doc """
List repositories with GitHub Actions cache usage for an organization
@see https://docs.github.com/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization
"""
def get_actions_cache_usage_by_repo_for_org(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/cache/usage-by-repository" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get GitHub Actions cache usage for an organization
@see https://docs.github.com/rest/actions/cache#get-github-actions-cache-usage-for-an-organization
"""
def get_actions_cache_usage_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/cache/usage"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsCacheUsageOrgEnterprise, options)
end
@doc """
Get allowed actions and reusable workflows for an organization
@see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-an-organization
"""
def get_allowed_actions_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/selected-actions"
body = %{}
api_call(:get, url, body, Noizu.Github.SelectedActions, options)
end
@doc """
Get allowed actions and reusable workflows for a repository
@see https://docs.github.com/rest/actions/permissions#get-allowed-actions-and-reusable-workflows-for-a-repository
"""
def get_allowed_actions_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/selected-actions"
body = %{}
api_call(:get, url, body, Noizu.Github.SelectedActions, options)
end
@doc """
Get an artifact
@see https://docs.github.com/rest/actions/artifacts#get-an-artifact
"""
def get_artifact(artifact_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/artifacts/#{artifact_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.Artifact, options)
end
@doc """
Get artifact and log retention settings for an organization
@see https://docs.github.com/rest/actions/permissions#get-artifact-and-log-retention-settings-for-an-organization
"""
def get_artifact_and_log_retention_settings_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/artifact-and-log-retention"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsArtifactAndLogRetentionResponse, options)
end
@doc """
Get artifact and log retention settings for a repository
@see https://docs.github.com/rest/actions/permissions#get-artifact-and-log-retention-settings-for-a-repository
"""
def get_artifact_and_log_retention_settings_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/artifact-and-log-retention"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsArtifactAndLogRetentionResponse, options)
end
@doc """
Get a concurrency group for a repository
@see https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository
"""
def get_concurrency_group_for_repository(concurrency_group_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:ahead_of_run, options, nil),
get_field(:ahead_of_job, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/repos/#{owner}/#{repo}/actions/concurrency_groups/#{concurrency_group_name}" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.ConcurrencyGroup, options)
end
@doc """
Get a custom image definition for GitHub Actions Hosted Runners
@see https://docs.github.com/rest/actions/hosted-runners#get-a-custom-image-definition-for-github-actions-hosted-runners
"""
def get_custom_image_for_org(org, image_definition_id, options \\ nil) do
url =
github_base() <> "/orgs/#{org}/actions/hosted-runners/images/custom/#{image_definition_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsHostedRunnerCustomImage, options)
end
@doc """
Get an image version of a custom image for GitHub Actions Hosted Runners
@see https://docs.github.com/rest/actions/hosted-runners#get-an-image-version-of-a-custom-image-for-github-actions-hosted-runners
"""
def get_custom_image_version_for_org(org, image_definition_id, version, options \\ nil) do
url =
github_base() <>
"/orgs/#{org}/actions/hosted-runners/images/custom/#{image_definition_id}/versions/#{version}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsHostedRunnerCustomImageVersion, options)
end
@doc """
Get the customization template for an OIDC subject claim for a repository
@see https://docs.github.com/rest/actions/oidc#get-the-customization-template-for-an-oidc-subject-claim-for-a-repository
"""
def get_custom_oidc_sub_claim_for_repo(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/oidc/customization/sub"
body = %{}
api_call(:get, url, body, Noizu.Github.OidcCustomSubRepo, options)
end
@doc """
Get an environment public key
@see https://docs.github.com/rest/actions/secrets#get-an-environment-public-key
"""
def get_environment_public_key(environment_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/secrets/public-key"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsPublicKey, options)
end
@doc """
Get an environment secret
@see https://docs.github.com/rest/actions/secrets#get-an-environment-secret
"""
def get_environment_secret(environment_name, secret_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/secrets/#{secret_name}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsSecret, options)
end
@doc """
Get an environment variable
@see https://docs.github.com/rest/actions/variables#get-an-environment-variable
"""
def get_environment_variable(environment_name, name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/variables/#{name}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsVariable, options)
end
@doc """
Get fork PR contributor approval permissions for an organization
@see https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-an-organization
"""
def get_fork_pr_contributor_approval_permissions_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/fork-pr-contributor-approval"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsForkPrContributorApproval, options)
end
@doc """
Get fork PR contributor approval permissions for a repository
@see https://docs.github.com/rest/actions/permissions#get-fork-pr-contributor-approval-permissions-for-a-repository
"""
def get_fork_pr_contributor_approval_permissions_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/fork-pr-contributor-approval"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsForkPrContributorApproval, options)
end
@doc """
Get default workflow permissions for an organization
@see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-an-organization
"""
def get_github_actions_default_workflow_permissions_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/workflow"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsGetDefaultWorkflowPermissions, options)
end
@doc """
Get default workflow permissions for a repository
@see https://docs.github.com/rest/actions/permissions#get-default-workflow-permissions-for-a-repository
"""
def get_github_actions_default_workflow_permissions_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/workflow"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsGetDefaultWorkflowPermissions, options)
end
@doc """
Get GitHub Actions permissions for an organization
@see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-an-organization
"""
def get_github_actions_permissions_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsOrganizationPermissions, options)
end
@doc """
Get GitHub Actions permissions for a repository
@see https://docs.github.com/rest/actions/permissions#get-github-actions-permissions-for-a-repository
"""
def get_github_actions_permissions_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsRepositoryPermissions, options)
end
@doc """
Get a GitHub-hosted runner for an organization
@see https://docs.github.com/rest/actions/hosted-runners#get-a-github-hosted-runner-for-an-organization
"""
def get_hosted_runner_for_org(org, hosted_runner_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/#{hosted_runner_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsHostedRunner, options)
end
@doc """
Get GitHub-owned images for GitHub-hosted runners in an organization
@see https://docs.github.com/rest/actions/hosted-runners#get-github-owned-images-for-github-hosted-runners-in-an-organization
"""
def get_hosted_runners_github_owned_images_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/images/github-owned"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get limits on GitHub-hosted runners for an organization
@see https://docs.github.com/rest/actions/hosted-runners#get-limits-on-github-hosted-runners-for-an-organization
"""
def get_hosted_runners_limits_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/limits"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsHostedRunnerLimits, options)
end
@doc """
Get GitHub-hosted runners machine specs for an organization
@see https://docs.github.com/rest/actions/hosted-runners#get-github-hosted-runners-machine-specs-for-an-organization
"""
def get_hosted_runners_machine_specs_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/machine-sizes"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get partner images for GitHub-hosted runners in an organization
@see https://docs.github.com/rest/actions/hosted-runners#get-partner-images-for-github-hosted-runners-in-an-organization
"""
def get_hosted_runners_partner_images_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/images/partner"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get platforms for GitHub-hosted runners in an organization
@see https://docs.github.com/rest/actions/hosted-runners#get-platforms-for-github-hosted-runners-in-an-organization
"""
def get_hosted_runners_platforms_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/platforms"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get a job for a workflow run
@see https://docs.github.com/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run
"""
def get_job_for_workflow_run(job_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/jobs/#{job_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.Job, options)
end
@doc """
Get an organization public key
@see https://docs.github.com/rest/actions/secrets#get-an-organization-public-key
"""
def get_org_public_key(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/secrets/public-key"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsPublicKey, options)
end
@doc """
Get an organization secret
@see https://docs.github.com/rest/actions/secrets#get-an-organization-secret
"""
def get_org_secret(org, secret_name, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}"
body = %{}
api_call(:get, url, body, Noizu.Github.OrganizationActionsSecret, options)
end
@doc """
Get an organization variable
@see https://docs.github.com/rest/actions/variables#get-an-organization-variable
"""
def get_org_variable(org, name, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables/#{name}"
body = %{}
api_call(:get, url, body, Noizu.Github.OrganizationActionsVariable, options)
end
@doc """
Get pending deployments for a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#get-pending-deployments-for-a-workflow-run
"""
def get_pending_deployments_for_run(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/pending_deployments"
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.PendingDeployment, options)
end
@doc """
Get private repo fork PR workflow settings for an organization
@see https://docs.github.com/rest/actions/permissions#get-private-repo-fork-pr-workflow-settings-for-an-organization
"""
def get_private_repo_fork_pr_workflows_settings_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/fork-pr-workflows-private-repos"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsForkPrWorkflowsPrivateRepos, options)
end
@doc """
Get private repo fork PR workflow settings for a repository
@see https://docs.github.com/rest/actions/permissions#get-private-repo-fork-pr-workflow-settings-for-a-repository
"""
def get_private_repo_fork_pr_workflows_settings_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/actions/permissions/fork-pr-workflows-private-repos"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsForkPrWorkflowsPrivateRepos, options)
end
@doc """
Get a repository public key
@see https://docs.github.com/rest/actions/secrets#get-a-repository-public-key
"""
def get_repo_public_key(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/secrets/public-key"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsPublicKey, options)
end
@doc """
Get a repository secret
@see https://docs.github.com/rest/actions/secrets#get-a-repository-secret
"""
def get_repo_secret(secret_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/secrets/#{secret_name}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsSecret, options)
end
@doc """
Get a repository variable
@see https://docs.github.com/rest/actions/variables#get-a-repository-variable
"""
def get_repo_variable(name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/variables/#{name}"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsVariable, options)
end
@doc """
Get the review history for a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run
"""
def get_reviews_for_run(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/approvals"
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.EnvironmentApprovals, options)
end
@doc """
Get a self-hosted runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-an-organization
"""
def get_self_hosted_runner_for_org(org, runner_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.Runner, options)
end
@doc """
Get a self-hosted runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#get-a-self-hosted-runner-for-a-repository
"""
def get_self_hosted_runner_for_repo(runner_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.Runner, options)
end
@doc """
Get a self-hosted runner group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#get-a-self-hosted-runner-group-for-an-organization
"""
def get_self_hosted_runner_group_for_org(org, runner_group_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runner-groups/#{runner_group_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.RunnerGroupsOrg, options)
end
@doc """
Get self-hosted runners settings for an organization
@see https://docs.github.com/rest/actions/permissions#get-self-hosted-runners-settings-for-an-organization
"""
def get_self_hosted_runners_permissions_organization(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/self-hosted-runners"
body = %{}
api_call(:get, url, body, Noizu.Github.SelfHostedRunnersSettings, options)
end
@doc """
Get a workflow
@see https://docs.github.com/rest/actions/workflows#get-a-workflow
"""
def get_workflow(workflow_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/workflows/#{workflow_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.Workflow, options)
end
@doc """
Get the level of access for workflows outside of the repository
@see https://docs.github.com/rest/actions/permissions#get-the-level-of-access-for-workflows-outside-of-the-repository
"""
def get_workflow_access_to_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/access"
body = %{}
api_call(:get, url, body, Noizu.Github.ActionsWorkflowAccessToRepository, options)
end
@doc """
Get a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run
"""
def get_workflow_run(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:exclude_pull_requests, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.WorkflowRun, options)
end
@doc """
Get a workflow run attempt
@see https://docs.github.com/rest/actions/workflow-runs#get-a-workflow-run-attempt
"""
def get_workflow_run_attempt(run_id, attempt_number, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:exclude_pull_requests, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/repos/#{owner}/#{repo}/actions/runs/#{run_id}/attempts/#{attempt_number}" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.WorkflowRun, options)
end
@doc """
Get workflow run usage
@see https://docs.github.com/rest/actions/workflow-runs#get-workflow-run-usage
"""
def get_workflow_run_usage(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/timing"
body = %{}
api_call(:get, url, body, Noizu.Github.WorkflowRunUsage, options)
end
@doc """
Get workflow usage
@see https://docs.github.com/rest/actions/workflows#get-workflow-usage
"""
def get_workflow_usage(workflow_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/workflows/#{workflow_id}/timing"
body = %{}
api_call(:get, url, body, Noizu.Github.WorkflowUsage, options)
end
@doc """
List artifacts for a repository
@see https://docs.github.com/rest/actions/artifacts#list-artifacts-for-a-repository
"""
def list_artifacts_for_repo(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil),
get_field(:name, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/artifacts" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List concurrency groups for a repository
@see https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository
"""
def list_concurrency_groups_for_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:after, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/concurrency_groups" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.ConcurrencyGroupList, options)
end
@doc """
List concurrency groups for a workflow run
@see https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run
"""
def list_concurrency_groups_for_workflow_run(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:before, options, nil),
get_field(:after, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/concurrency_groups" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.ConcurrencyGroupRunList, options)
end
@doc """
List image versions of a custom image for an organization
@see https://docs.github.com/rest/actions/hosted-runners#list-image-versions-of-a-custom-image-for-an-organization
"""
def list_custom_image_versions_for_org(image_definition_id, org, options \\ nil) do
url =
github_base() <>
"/orgs/#{org}/actions/hosted-runners/images/custom/#{image_definition_id}/versions"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List custom images for an organization
@see https://docs.github.com/rest/actions/hosted-runners#list-custom-images-for-an-organization
"""
def list_custom_images_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/images/custom"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List environment secrets
@see https://docs.github.com/rest/actions/secrets#list-environment-secrets
"""
def list_environment_secrets(environment_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/environments/#{environment_name}/secrets" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List environment variables
@see https://docs.github.com/rest/actions/variables#list-environment-variables
"""
def list_environment_variables(environment_name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/variables" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List GitHub-hosted runners in a group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-github-hosted-runners-in-a-group-for-an-organization
"""
def list_github_hosted_runners_in_group_for_org(org, runner_group_id, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/orgs/#{org}/actions/runner-groups/#{runner_group_id}/hosted-runners" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List GitHub-hosted runners for an organization
@see https://docs.github.com/rest/actions/hosted-runners#list-github-hosted-runners-for-an-organization
"""
def list_hosted_runners_for_org(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/hosted-runners" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List jobs for a workflow run
@see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run
"""
def list_jobs_for_workflow_run(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:filter, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/jobs" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List jobs for a workflow run attempt
@see https://docs.github.com/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt
"""
def list_jobs_for_workflow_run_attempt(run_id, attempt_number, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/repos/#{owner}/#{repo}/actions/runs/#{run_id}/attempts/#{attempt_number}/jobs" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List labels for a self-hosted runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-an-organization
"""
def list_labels_for_self_hosted_runner_for_org(org, runner_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}/labels"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List labels for a self-hosted runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#list-labels-for-a-self-hosted-runner-for-a-repository
"""
def list_labels_for_self_hosted_runner_for_repo(runner_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}/labels"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List organization secrets
@see https://docs.github.com/rest/actions/secrets#list-organization-secrets
"""
def list_org_secrets(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/secrets" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List organization variables
@see https://docs.github.com/rest/actions/variables#list-organization-variables
"""
def list_org_variables(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/variables" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repository access to a self-hosted runner group in an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-repository-access-to-a-self-hosted-runner-group-in-an-organization
"""
def list_repo_access_to_self_hosted_runner_group_in_org(org, runner_group_id, options \\ nil) do
url =
(
query =
[
get_field(:page, options, nil),
get_field(:per_page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/orgs/#{org}/actions/runner-groups/#{runner_group_id}/repositories" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repository organization secrets
@see https://docs.github.com/rest/actions/secrets#list-repository-organization-secrets
"""
def list_repo_organization_secrets(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/organization-secrets" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repository organization variables
@see https://docs.github.com/rest/actions/variables#list-repository-organization-variables
"""
def list_repo_organization_variables(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/organization-variables" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repository secrets
@see https://docs.github.com/rest/actions/secrets#list-repository-secrets
"""
def list_repo_secrets(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/secrets" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repository variables
@see https://docs.github.com/rest/actions/variables#list-repository-variables
"""
def list_repo_variables(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/variables" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repository workflows
@see https://docs.github.com/rest/actions/workflows#list-repository-workflows
"""
def list_repo_workflows(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/workflows" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List runner applications for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-an-organization
"""
def list_runner_applications_for_org(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/downloads"
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.RunnerApplication, options)
end
@doc """
List runner applications for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#list-runner-applications-for-a-repository
"""
def list_runner_applications_for_repo(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/downloads"
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.RunnerApplication, options)
end
@doc """
List selected repositories for an organization secret
@see https://docs.github.com/rest/actions/secrets#list-selected-repositories-for-an-organization-secret
"""
def list_selected_repos_for_org_secret(org, secret_name, options \\ nil) do
url =
(
query =
[
get_field(:page, options, nil),
get_field(:per_page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}/repositories" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List selected repositories for an organization variable
@see https://docs.github.com/rest/actions/variables#list-selected-repositories-for-an-organization-variable
"""
def list_selected_repos_for_org_variable(org, name, options \\ nil) do
url =
(
query =
[
get_field(:page, options, nil),
get_field(:per_page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/variables/#{name}/repositories" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List selected repositories enabled for GitHub Actions in an organization
@see https://docs.github.com/rest/actions/permissions#list-selected-repositories-enabled-for-github-actions-in-an-organization
"""
def list_selected_repositories_enabled_github_actions_organization(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/permissions/repositories" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List repositories allowed to use self-hosted runners in an organization
@see https://docs.github.com/rest/actions/permissions#list-repositories-allowed-to-use-self-hosted-runners-in-an-organization
"""
def list_selected_repositories_self_hosted_runners_organization(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/permissions/self-hosted-runners/repositories" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List self-hosted runner groups for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-self-hosted-runner-groups-for-an-organization
"""
def list_self_hosted_runner_groups_for_org(org, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil),
get_field(:visible_to_repository, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/runner-groups" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List self-hosted runners for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-an-organization
"""
def list_self_hosted_runners_for_org(org, options \\ nil) do
url =
(
query =
[
get_field(:name, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/runners" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List self-hosted runners for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#list-self-hosted-runners-for-a-repository
"""
def list_self_hosted_runners_for_repo(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:name, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/runners" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List self-hosted runners in a group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#list-self-hosted-runners-in-a-group-for-an-organization
"""
def list_self_hosted_runners_in_group_for_org(org, runner_group_id, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/actions/runner-groups/#{runner_group_id}/runners" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List workflow run artifacts
@see https://docs.github.com/rest/actions/artifacts#list-workflow-run-artifacts
"""
def list_workflow_run_artifacts(run_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:page, options, nil),
get_field(:name, options, nil),
get_field(:direction, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/artifacts" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List workflow runs for a workflow
@see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow
"""
def list_workflow_runs(workflow_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:actor, options, nil),
get_field(:branch, options, nil),
get_field(:event, options, nil),
get_field(:status, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil),
get_field(:created, options, nil),
get_field(:exclude_pull_requests, options, nil),
get_field(:check_suite_id, options, nil),
get_field(:head_sha, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/workflows/#{workflow_id}/runs" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
List workflow runs for a repository
@see https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository
"""
def list_workflow_runs_for_repo(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:actor, options, nil),
get_field(:branch, options, nil),
get_field(:event, options, nil),
get_field(:status, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil),
get_field(:created, options, nil),
get_field(:exclude_pull_requests, options, nil),
get_field(:check_suite_id, options, nil),
get_field(:head_sha, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/actions/runs" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Re-run a job from a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run
"""
def re_run_job_for_workflow_run(job_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/jobs/#{job_id}/rerun"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Re-run a workflow
@see https://docs.github.com/rest/actions/workflow-runs#re-run-a-workflow
"""
def re_run_workflow(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/rerun"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Re-run failed jobs from a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#re-run-failed-jobs-from-a-workflow-run
"""
def re_run_workflow_failed_jobs(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/rerun-failed-jobs"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove all custom labels from a self-hosted runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization
"""
def remove_all_custom_labels_from_self_hosted_runner_for_org(org, runner_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}/labels"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove all custom labels from a self-hosted runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository
"""
def remove_all_custom_labels_from_self_hosted_runner_for_repo(runner_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}/labels"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove a custom label from a self-hosted runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization
"""
def remove_custom_label_from_self_hosted_runner_for_org(org, runner_id, name, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}/labels/#{name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove a custom label from a self-hosted runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository
"""
def remove_custom_label_from_self_hosted_runner_for_repo(runner_id, name, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}/labels/#{name}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove repository access to a self-hosted runner group in an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#remove-repository-access-to-a-self-hosted-runner-group-in-an-organization
"""
def remove_repo_access_to_self_hosted_runner_group_in_org(
org,
runner_group_id,
repository_id,
options \\ nil
) do
url =
github_base() <>
"/orgs/#{org}/actions/runner-groups/#{runner_group_id}/repositories/#{repository_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove selected repository from an organization secret
@see https://docs.github.com/rest/actions/secrets#remove-selected-repository-from-an-organization-secret
"""
def remove_selected_repo_from_org_secret(org, secret_name, repository_id, options \\ nil) do
url =
github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}/repositories/#{repository_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove selected repository from an organization variable
@see https://docs.github.com/rest/actions/variables#remove-selected-repository-from-an-organization-variable
"""
def remove_selected_repo_from_org_variable(org, name, repository_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables/#{name}/repositories/#{repository_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Remove a self-hosted runner from a group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#remove-a-self-hosted-runner-from-a-group-for-an-organization
"""
def remove_self_hosted_runner_from_group_for_org(
org,
runner_group_id,
runner_id,
options \\ nil
) do
url =
github_base() <>
"/orgs/#{org}/actions/runner-groups/#{runner_group_id}/runners/#{runner_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Review custom deployment protection rules for a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#review-custom-deployment-protection-rules-for-a-workflow-run
"""
def review_custom_gates_for_run(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/deployment_protection_rule"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Review pending deployments for a workflow run
@see https://docs.github.com/rest/actions/workflow-runs#review-pending-deployments-for-a-workflow-run
"""
def review_pending_deployments_for_run(run_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runs/#{run_id}/pending_deployments"
body = body
api_call(:post, url, body, Noizu.Github.Collection.Deployment, options)
end
@doc """
Set GitHub Actions cache retention limit for an enterprise
@see https://docs.github.com/rest/actions/cache#set-github-actions-cache-retention-limit-for-an-enterprise
"""
def set_actions_cache_retention_limit_for_enterprise(enterprise, body, options \\ nil) do
url = github_base() <> "/enterprises/#{enterprise}/actions/cache/retention-limit"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions cache retention limit for an organization
@see https://docs.github.com/rest/actions/cache#set-github-actions-cache-retention-limit-for-an-organization
"""
def set_actions_cache_retention_limit_for_organization(org, body, options \\ nil) do
url = github_base() <> "/organizations/#{org}/actions/cache/retention-limit"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions cache retention limit for a repository
@see https://docs.github.com/rest/actions/cache#set-github-actions-cache-retention-limit-for-a-repository
"""
def set_actions_cache_retention_limit_for_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/cache/retention-limit"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions cache storage limit for an enterprise
@see https://docs.github.com/rest/actions/cache#set-github-actions-cache-storage-limit-for-an-enterprise
"""
def set_actions_cache_storage_limit_for_enterprise(enterprise, body, options \\ nil) do
url = github_base() <> "/enterprises/#{enterprise}/actions/cache/storage-limit"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions cache storage limit for an organization
@see https://docs.github.com/rest/actions/cache#set-github-actions-cache-storage-limit-for-an-organization
"""
def set_actions_cache_storage_limit_for_organization(org, body, options \\ nil) do
url = github_base() <> "/organizations/#{org}/actions/cache/storage-limit"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions cache storage limit for a repository
@see https://docs.github.com/rest/actions/cache#set-github-actions-cache-storage-limit-for-a-repository
"""
def set_actions_cache_storage_limit_for_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/cache/storage-limit"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set allowed actions and reusable workflows for an organization
@see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-an-organization
"""
def set_allowed_actions_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/selected-actions"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set allowed actions and reusable workflows for a repository
@see https://docs.github.com/rest/actions/permissions#set-allowed-actions-and-reusable-workflows-for-a-repository
"""
def set_allowed_actions_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/selected-actions"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set artifact and log retention settings for an organization
@see https://docs.github.com/rest/actions/permissions#set-artifact-and-log-retention-settings-for-an-organization
"""
def set_artifact_and_log_retention_settings_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/artifact-and-log-retention"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set artifact and log retention settings for a repository
@see https://docs.github.com/rest/actions/permissions#set-artifact-and-log-retention-settings-for-a-repository
"""
def set_artifact_and_log_retention_settings_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/artifact-and-log-retention"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set custom labels for a self-hosted runner for an organization
@see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-an-organization
"""
def set_custom_labels_for_self_hosted_runner_for_org(org, runner_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runners/#{runner_id}/labels"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set custom labels for a self-hosted runner for a repository
@see https://docs.github.com/rest/actions/self-hosted-runners#set-custom-labels-for-a-self-hosted-runner-for-a-repository
"""
def set_custom_labels_for_self_hosted_runner_for_repo(runner_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/runners/#{runner_id}/labels"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set the customization template for an OIDC subject claim for a repository
@see https://docs.github.com/rest/actions/oidc#set-the-customization-template-for-an-oidc-subject-claim-for-a-repository
"""
def set_custom_oidc_sub_claim_for_repo(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/oidc/customization/sub"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set fork PR contributor approval permissions for an organization
@see https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-an-organization
"""
def set_fork_pr_contributor_approval_permissions_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/fork-pr-contributor-approval"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set fork PR contributor approval permissions for a repository
@see https://docs.github.com/rest/actions/permissions#set-fork-pr-contributor-approval-permissions-for-a-repository
"""
def set_fork_pr_contributor_approval_permissions_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/fork-pr-contributor-approval"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set default workflow permissions for an organization
@see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-an-organization
"""
def set_github_actions_default_workflow_permissions_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/workflow"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set default workflow permissions for a repository
@see https://docs.github.com/rest/actions/permissions#set-default-workflow-permissions-for-a-repository
"""
def set_github_actions_default_workflow_permissions_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/workflow"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions permissions for an organization
@see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-an-organization
"""
def set_github_actions_permissions_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set GitHub Actions permissions for a repository
@see https://docs.github.com/rest/actions/permissions#set-github-actions-permissions-for-a-repository
"""
def set_github_actions_permissions_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set private repo fork PR workflow settings for an organization
@see https://docs.github.com/rest/actions/permissions#set-private-repo-fork-pr-workflow-settings-for-an-organization
"""
def set_private_repo_fork_pr_workflows_settings_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/fork-pr-workflows-private-repos"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set private repo fork PR workflow settings for a repository
@see https://docs.github.com/rest/actions/permissions#set-private-repo-fork-pr-workflow-settings-for-a-repository
"""
def set_private_repo_fork_pr_workflows_settings_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/actions/permissions/fork-pr-workflows-private-repos"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set repository access for a self-hosted runner group in an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#set-repository-access-for-a-self-hosted-runner-group-in-an-organization
"""
def set_repo_access_to_self_hosted_runner_group_in_org(
org,
runner_group_id,
body,
options \\ nil
) do
url = github_base() <> "/orgs/#{org}/actions/runner-groups/#{runner_group_id}/repositories"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set selected repositories for an organization secret
@see https://docs.github.com/rest/actions/secrets#set-selected-repositories-for-an-organization-secret
"""
def set_selected_repos_for_org_secret(org, secret_name, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/secrets/#{secret_name}/repositories"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set selected repositories for an organization variable
@see https://docs.github.com/rest/actions/variables#set-selected-repositories-for-an-organization-variable
"""
def set_selected_repos_for_org_variable(org, name, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables/#{name}/repositories"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set selected repositories enabled for GitHub Actions in an organization
@see https://docs.github.com/rest/actions/permissions#set-selected-repositories-enabled-for-github-actions-in-an-organization
"""
def set_selected_repositories_enabled_github_actions_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/repositories"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set repositories allowed to use self-hosted runners in an organization
@see https://docs.github.com/rest/actions/permissions#set-repositories-allowed-to-use-self-hosted-runners-in-an-organization
"""
def set_selected_repositories_self_hosted_runners_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/self-hosted-runners/repositories"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set self-hosted runners in a group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#set-self-hosted-runners-in-a-group-for-an-organization
"""
def set_self_hosted_runners_in_group_for_org(org, runner_group_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runner-groups/#{runner_group_id}/runners"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set self-hosted runners settings for an organization
@see https://docs.github.com/rest/actions/permissions#set-self-hosted-runners-settings-for-an-organization
"""
def set_self_hosted_runners_permissions_organization(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/permissions/self-hosted-runners"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set the level of access for workflows outside of the repository
@see https://docs.github.com/rest/actions/permissions#set-the-level-of-access-for-workflows-outside-of-the-repository
"""
def set_workflow_access_to_repository(body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/permissions/access"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Update an environment variable
@see https://docs.github.com/rest/actions/variables#update-an-environment-variable
"""
def update_environment_variable(name, environment_name, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/environments/#{environment_name}/variables/#{name}"
body = body
api_call(:patch, url, body, Noizu.Github.Raw, options)
end
@doc """
Update a GitHub-hosted runner for an organization
@see https://docs.github.com/rest/actions/hosted-runners#update-a-github-hosted-runner-for-an-organization
"""
def update_hosted_runner_for_org(org, hosted_runner_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/hosted-runners/#{hosted_runner_id}"
body = body
api_call(:patch, url, body, Noizu.Github.ActionsHostedRunner, options)
end
@doc """
Update an organization variable
@see https://docs.github.com/rest/actions/variables#update-an-organization-variable
"""
def update_org_variable(org, name, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/variables/#{name}"
body = body
api_call(:patch, url, body, Noizu.Github.Raw, options)
end
@doc """
Update a repository variable
@see https://docs.github.com/rest/actions/variables#update-a-repository-variable
"""
def update_repo_variable(name, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/actions/variables/#{name}"
body = body
api_call(:patch, url, body, Noizu.Github.Raw, options)
end
@doc """
Update a self-hosted runner group for an organization
@see https://docs.github.com/rest/actions/self-hosted-runner-groups#update-a-self-hosted-runner-group-for-an-organization
"""
def update_self_hosted_runner_group_for_org(org, runner_group_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/actions/runner-groups/#{runner_group_id}"
body = body
api_call(:patch, url, body, Noizu.Github.RunnerGroupsOrg, options)
end
end