Full Code of google/go-github for AI

master a12b8d72a99e cached
525 files
8.6 MB
2.3M tokens
16722 symbols
1 requests
Download .txt
Showing preview only (9,115K chars total). Download the full file or copy to clipboard to get everything.
Repository: google/go-github
Branch: master
Commit: a12b8d72a99e
Files: 525
Total size: 8.6 MB

Directory structure:
gitextract_urjpxbct/

├── .codecov.yml
├── .custom-gcl.yml
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── linter.yml
│       └── tests.yml
├── .gitignore
├── .golangci.yml
├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── REVIEWERS
├── example/
│   ├── actionpermissions/
│   │   └── main.go
│   ├── appengine/
│   │   ├── app.go
│   │   └── app.yaml
│   ├── auditlogstream/
│   │   └── main.go
│   ├── basicauth/
│   │   └── main.go
│   ├── codespaces/
│   │   ├── newreposecretwithxcrypto/
│   │   │   └── main.go
│   │   └── newusersecretwithxcrypto/
│   │       └── main.go
│   ├── commitpr/
│   │   └── main.go
│   ├── go.mod
│   ├── go.sum
│   ├── listenvironments/
│   │   └── main.go
│   ├── migrations/
│   │   └── main.go
│   ├── newfilewithappauth/
│   │   └── main.go
│   ├── newrepo/
│   │   └── main.go
│   ├── newreposecretwithlibsodium/
│   │   ├── go.mod
│   │   ├── go.sum
│   │   └── main.go
│   ├── newreposecretwithxcrypto/
│   │   └── main.go
│   ├── otel/
│   │   └── main.go
│   ├── ratelimit/
│   │   └── main.go
│   ├── simple/
│   │   └── main.go
│   ├── tokenauth/
│   │   └── main.go
│   ├── topics/
│   │   └── main.go
│   ├── uploadreleaseassetfromrelease/
│   │   └── main.go
│   └── verifyartifact/
│       ├── main.go
│       └── trusted-root-public-good.json
├── github/
│   ├── actions.go
│   ├── actions_artifacts.go
│   ├── actions_artifacts_test.go
│   ├── actions_cache.go
│   ├── actions_cache_test.go
│   ├── actions_hosted_runners.go
│   ├── actions_hosted_runners_test.go
│   ├── actions_oidc.go
│   ├── actions_oidc_test.go
│   ├── actions_permissions_enterprise.go
│   ├── actions_permissions_enterprise_test.go
│   ├── actions_permissions_orgs.go
│   ├── actions_permissions_orgs_test.go
│   ├── actions_runner_groups.go
│   ├── actions_runner_groups_test.go
│   ├── actions_runners.go
│   ├── actions_runners_test.go
│   ├── actions_secrets.go
│   ├── actions_secrets_test.go
│   ├── actions_variables.go
│   ├── actions_variables_test.go
│   ├── actions_workflow_jobs.go
│   ├── actions_workflow_jobs_test.go
│   ├── actions_workflow_runs.go
│   ├── actions_workflow_runs_test.go
│   ├── actions_workflows.go
│   ├── actions_workflows_test.go
│   ├── activity.go
│   ├── activity_events.go
│   ├── activity_events_test.go
│   ├── activity_notifications.go
│   ├── activity_notifications_test.go
│   ├── activity_star.go
│   ├── activity_star_test.go
│   ├── activity_test.go
│   ├── activity_watching.go
│   ├── activity_watching_test.go
│   ├── admin.go
│   ├── admin_orgs.go
│   ├── admin_orgs_test.go
│   ├── admin_stats.go
│   ├── admin_stats_test.go
│   ├── admin_test.go
│   ├── admin_users.go
│   ├── admin_users_test.go
│   ├── apps.go
│   ├── apps_hooks.go
│   ├── apps_hooks_deliveries.go
│   ├── apps_hooks_deliveries_test.go
│   ├── apps_hooks_test.go
│   ├── apps_installation.go
│   ├── apps_installation_test.go
│   ├── apps_manifest.go
│   ├── apps_manifest_test.go
│   ├── apps_marketplace.go
│   ├── apps_marketplace_test.go
│   ├── apps_test.go
│   ├── attestations.go
│   ├── authorizations.go
│   ├── authorizations_test.go
│   ├── billing.go
│   ├── billing_test.go
│   ├── checks.go
│   ├── checks_test.go
│   ├── classroom.go
│   ├── classroom_test.go
│   ├── code_scanning.go
│   ├── code_scanning_test.go
│   ├── codesofconduct.go
│   ├── codesofconduct_test.go
│   ├── codespaces.go
│   ├── codespaces_machines.go
│   ├── codespaces_machines_test.go
│   ├── codespaces_orgs.go
│   ├── codespaces_orgs_test.go
│   ├── codespaces_secrets.go
│   ├── codespaces_secrets_test.go
│   ├── codespaces_test.go
│   ├── copilot.go
│   ├── copilot_test.go
│   ├── credentials.go
│   ├── credentials_test.go
│   ├── dependabot.go
│   ├── dependabot_alerts.go
│   ├── dependabot_alerts_test.go
│   ├── dependabot_secrets.go
│   ├── dependabot_secrets_test.go
│   ├── dependency_graph.go
│   ├── dependency_graph_snapshots.go
│   ├── dependency_graph_snapshots_test.go
│   ├── dependency_graph_test.go
│   ├── doc.go
│   ├── emojis.go
│   ├── emojis_test.go
│   ├── enterprise.go
│   ├── enterprise_actions_hosted_runners.go
│   ├── enterprise_actions_hosted_runners_test.go
│   ├── enterprise_actions_runner_groups.go
│   ├── enterprise_actions_runner_groups_test.go
│   ├── enterprise_actions_runners.go
│   ├── enterprise_actions_runners_test.go
│   ├── enterprise_app_installation.go
│   ├── enterprise_app_installation_test.go
│   ├── enterprise_apps.go
│   ├── enterprise_apps_test.go
│   ├── enterprise_audit_log.go
│   ├── enterprise_audit_log_stream.go
│   ├── enterprise_audit_log_stream_test.go
│   ├── enterprise_audit_log_test.go
│   ├── enterprise_billing_cost_centers.go
│   ├── enterprise_billing_cost_centers_test.go
│   ├── enterprise_budgets.go
│   ├── enterprise_budgets_test.go
│   ├── enterprise_code_security_and_analysis.go
│   ├── enterprise_code_security_and_analysis_test.go
│   ├── enterprise_codesecurity_configurations.go
│   ├── enterprise_codesecurity_configurations_test.go
│   ├── enterprise_licenses.go
│   ├── enterprise_licenses_test.go
│   ├── enterprise_manage_ghes.go
│   ├── enterprise_manage_ghes_config.go
│   ├── enterprise_manage_ghes_config_test.go
│   ├── enterprise_manage_ghes_maintenance.go
│   ├── enterprise_manage_ghes_maintenance_test.go
│   ├── enterprise_manage_ghes_ssh.go
│   ├── enterprise_manage_ghes_ssh_test.go
│   ├── enterprise_manage_ghes_test.go
│   ├── enterprise_network_configurations.go
│   ├── enterprise_network_configurations_test.go
│   ├── enterprise_organization_properties.go
│   ├── enterprise_organization_properties_test.go
│   ├── enterprise_properties.go
│   ├── enterprise_properties_test.go
│   ├── enterprise_rules.go
│   ├── enterprise_rules_test.go
│   ├── enterprise_scim.go
│   ├── enterprise_scim_test.go
│   ├── enterprise_team.go
│   ├── enterprise_team_test.go
│   ├── event.go
│   ├── event_test.go
│   ├── event_types.go
│   ├── event_types_test.go
│   ├── example_iterators_test.go
│   ├── examples_test.go
│   ├── fuzz_messages_test.go
│   ├── gen-accessors.go
│   ├── gen-iterators.go
│   ├── gen-stringify-test.go
│   ├── gists.go
│   ├── gists_comments.go
│   ├── gists_comments_test.go
│   ├── gists_test.go
│   ├── git.go
│   ├── git_blobs.go
│   ├── git_blobs_test.go
│   ├── git_commits.go
│   ├── git_commits_test.go
│   ├── git_refs.go
│   ├── git_refs_test.go
│   ├── git_tags.go
│   ├── git_tags_test.go
│   ├── git_trees.go
│   ├── git_trees_test.go
│   ├── github-accessors.go
│   ├── github-accessors_test.go
│   ├── github-iterators.go
│   ├── github-iterators_test.go
│   ├── github-stringify_test.go
│   ├── github.go
│   ├── github_test.go
│   ├── gitignore.go
│   ├── gitignore_test.go
│   ├── interactions.go
│   ├── interactions_orgs.go
│   ├── interactions_orgs_test.go
│   ├── interactions_repos.go
│   ├── interactions_repos_test.go
│   ├── interactions_test.go
│   ├── issue_import.go
│   ├── issue_import_test.go
│   ├── issues.go
│   ├── issues_assignees.go
│   ├── issues_assignees_test.go
│   ├── issues_comments.go
│   ├── issues_comments_test.go
│   ├── issues_events.go
│   ├── issues_events_test.go
│   ├── issues_labels.go
│   ├── issues_labels_test.go
│   ├── issues_milestones.go
│   ├── issues_milestones_test.go
│   ├── issues_test.go
│   ├── issues_timeline.go
│   ├── issues_timeline_test.go
│   ├── licenses.go
│   ├── licenses_test.go
│   ├── markdown.go
│   ├── markdown_test.go
│   ├── messages.go
│   ├── messages_test.go
│   ├── meta.go
│   ├── meta_test.go
│   ├── migrations.go
│   ├── migrations_source_import.go
│   ├── migrations_source_import_test.go
│   ├── migrations_test.go
│   ├── migrations_user.go
│   ├── migrations_user_test.go
│   ├── orgs.go
│   ├── orgs_actions_allowed.go
│   ├── orgs_actions_allowed_test.go
│   ├── orgs_actions_permissions.go
│   ├── orgs_actions_permissions_test.go
│   ├── orgs_artifacts.go
│   ├── orgs_artifacts_test.go
│   ├── orgs_attestations.go
│   ├── orgs_attestations_test.go
│   ├── orgs_audit_log.go
│   ├── orgs_audit_log_test.go
│   ├── orgs_codesecurity_configurations.go
│   ├── orgs_codesecurity_configurations_test.go
│   ├── orgs_credential_authorizations.go
│   ├── orgs_credential_authorizations_test.go
│   ├── orgs_custom_repository_roles.go
│   ├── orgs_custom_repository_roles_test.go
│   ├── orgs_hooks.go
│   ├── orgs_hooks_configuration.go
│   ├── orgs_hooks_configuration_test.go
│   ├── orgs_hooks_deliveries.go
│   ├── orgs_hooks_deliveries_test.go
│   ├── orgs_hooks_test.go
│   ├── orgs_immutable_releases.go
│   ├── orgs_immutable_releases_test.go
│   ├── orgs_issue_types.go
│   ├── orgs_issue_types_test.go
│   ├── orgs_members.go
│   ├── orgs_members_test.go
│   ├── orgs_network_configurations.go
│   ├── orgs_network_configurations_test.go
│   ├── orgs_organization_properties.go
│   ├── orgs_organization_properties_test.go
│   ├── orgs_organization_roles.go
│   ├── orgs_organization_roles_test.go
│   ├── orgs_outside_collaborators.go
│   ├── orgs_outside_collaborators_test.go
│   ├── orgs_packages.go
│   ├── orgs_packages_test.go
│   ├── orgs_personal_access_tokens.go
│   ├── orgs_personal_access_tokens_test.go
│   ├── orgs_properties.go
│   ├── orgs_properties_test.go
│   ├── orgs_rules.go
│   ├── orgs_rules_test.go
│   ├── orgs_security_managers.go
│   ├── orgs_security_managers_test.go
│   ├── orgs_test.go
│   ├── orgs_users_blocking.go
│   ├── orgs_users_blocking_test.go
│   ├── packages.go
│   ├── packages_test.go
│   ├── private_registries.go
│   ├── private_registries_test.go
│   ├── projects.go
│   ├── projects_test.go
│   ├── pulls.go
│   ├── pulls_comments.go
│   ├── pulls_comments_test.go
│   ├── pulls_reviewers.go
│   ├── pulls_reviewers_test.go
│   ├── pulls_reviews.go
│   ├── pulls_reviews_test.go
│   ├── pulls_test.go
│   ├── pulls_threads.go
│   ├── pulls_threads_test.go
│   ├── rate_limit.go
│   ├── rate_limit_test.go
│   ├── reactions.go
│   ├── reactions_test.go
│   ├── repos.go
│   ├── repos_actions_access.go
│   ├── repos_actions_access_test.go
│   ├── repos_actions_allowed.go
│   ├── repos_actions_allowed_test.go
│   ├── repos_actions_permissions.go
│   ├── repos_actions_permissions_test.go
│   ├── repos_attestations.go
│   ├── repos_attestations_test.go
│   ├── repos_autolinks.go
│   ├── repos_autolinks_test.go
│   ├── repos_codeowners.go
│   ├── repos_codeowners_test.go
│   ├── repos_collaborators.go
│   ├── repos_collaborators_test.go
│   ├── repos_comments.go
│   ├── repos_comments_test.go
│   ├── repos_commits.go
│   ├── repos_commits_test.go
│   ├── repos_community_health.go
│   ├── repos_community_health_test.go
│   ├── repos_contents.go
│   ├── repos_contents_test.go
│   ├── repos_deployment_branch_policies.go
│   ├── repos_deployment_branch_policies_test.go
│   ├── repos_deployment_protection_rules.go
│   ├── repos_deployment_protection_rules_test.go
│   ├── repos_deployments.go
│   ├── repos_deployments_test.go
│   ├── repos_environments.go
│   ├── repos_environments_test.go
│   ├── repos_forks.go
│   ├── repos_forks_test.go
│   ├── repos_hooks.go
│   ├── repos_hooks_configuration.go
│   ├── repos_hooks_configuration_test.go
│   ├── repos_hooks_deliveries.go
│   ├── repos_hooks_deliveries_test.go
│   ├── repos_hooks_test.go
│   ├── repos_immutable_releases.go
│   ├── repos_immutable_releases_test.go
│   ├── repos_invitations.go
│   ├── repos_invitations_test.go
│   ├── repos_keys.go
│   ├── repos_keys_test.go
│   ├── repos_lfs.go
│   ├── repos_lfs_test.go
│   ├── repos_merging.go
│   ├── repos_merging_test.go
│   ├── repos_pages.go
│   ├── repos_pages_test.go
│   ├── repos_prereceive_hooks.go
│   ├── repos_prereceive_hooks_test.go
│   ├── repos_properties.go
│   ├── repos_properties_test.go
│   ├── repos_releases.go
│   ├── repos_releases_test.go
│   ├── repos_rules.go
│   ├── repos_rules_test.go
│   ├── repos_stats.go
│   ├── repos_stats_test.go
│   ├── repos_statuses.go
│   ├── repos_statuses_test.go
│   ├── repos_tags.go
│   ├── repos_tags_test.go
│   ├── repos_test.go
│   ├── repos_traffic.go
│   ├── repos_traffic_test.go
│   ├── rules.go
│   ├── rules_test.go
│   ├── scim.go
│   ├── scim_test.go
│   ├── search.go
│   ├── search_test.go
│   ├── secret_scanning.go
│   ├── secret_scanning_pattern_configs.go
│   ├── secret_scanning_pattern_configs_test.go
│   ├── secret_scanning_test.go
│   ├── security_advisories.go
│   ├── security_advisories_test.go
│   ├── strings.go
│   ├── strings_benchmark_test.go
│   ├── strings_test.go
│   ├── sub_issue.go
│   ├── sub_issue_test.go
│   ├── teams.go
│   ├── teams_discussion_comments.go
│   ├── teams_discussion_comments_test.go
│   ├── teams_discussions.go
│   ├── teams_discussions_test.go
│   ├── teams_members.go
│   ├── teams_members_test.go
│   ├── teams_test.go
│   ├── timestamp.go
│   ├── timestamp_test.go
│   ├── users.go
│   ├── users_administration.go
│   ├── users_administration_test.go
│   ├── users_attestations.go
│   ├── users_attestations_test.go
│   ├── users_blocking.go
│   ├── users_blocking_test.go
│   ├── users_emails.go
│   ├── users_emails_test.go
│   ├── users_followers.go
│   ├── users_followers_test.go
│   ├── users_gpg_keys.go
│   ├── users_gpg_keys_test.go
│   ├── users_keys.go
│   ├── users_keys_test.go
│   ├── users_packages.go
│   ├── users_packages_test.go
│   ├── users_social_accounts.go
│   ├── users_social_accounts_test.go
│   ├── users_ssh_signing_keys.go
│   ├── users_ssh_signing_keys_test.go
│   ├── users_test.go
│   ├── with_appengine.go
│   └── without_appengine.go
├── go.mod
├── go.sum
├── openapi_operations.yaml
├── otel/
│   ├── go.mod
│   ├── go.sum
│   ├── transport.go
│   └── transport_test.go
├── scrape/
│   ├── README.md
│   ├── apps.go
│   ├── apps_test.go
│   ├── example/
│   │   └── scrape/
│   │       └── main.go
│   ├── forms.go
│   ├── forms_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── payment.go
│   ├── scrape.go
│   ├── scrape_test.go
│   └── testdata/
│       ├── access-restrictions-disabled.html
│       └── access-restrictions-enabled.html
├── script/
│   ├── fmt.sh
│   ├── generate.sh
│   ├── lint.sh
│   ├── metadata.sh
│   ├── run-check-structfield-settings.sh
│   ├── setup-custom-gcl.sh
│   └── test.sh
├── test/
│   ├── README.md
│   ├── fields/
│   │   └── fields.go
│   └── integration/
│       ├── activity_test.go
│       ├── audit_log_test.go
│       ├── authorizations_test.go
│       ├── doc.go
│       ├── github_test.go
│       ├── issues_test.go
│       ├── licences_test.go
│       ├── misc_test.go
│       ├── pagination_test.go
│       ├── projects_test.go
│       ├── pulls_test.go
│       ├── repos_test.go
│       └── users_test.go
└── tools/
    ├── check-structfield-settings/
    │   ├── go.mod
    │   ├── go.sum
    │   └── main.go
    ├── extraneousnew/
    │   ├── extraneousnew.go
    │   ├── extraneousnew_test.go
    │   ├── go.mod
    │   ├── go.sum
    │   └── testdata/
    │       └── src/
    │           ├── has-warnings/
    │           │   └── main.go
    │           └── no-warnings/
    │               └── main.go
    ├── fmtpercentv/
    │   ├── fmtpercentv.go
    │   ├── fmtpercentv_test.go
    │   ├── go.mod
    │   ├── go.sum
    │   └── testdata/
    │       └── src/
    │           ├── has-warnings/
    │           │   └── main.go
    │           └── no-warnings/
    │               └── main.go
    ├── gen-release-notes/
    │   └── main.go
    ├── go.mod
    ├── go.sum
    ├── metadata/
    │   ├── main.go
    │   ├── main_test.go
    │   ├── metadata.go
    │   ├── metadata_test.go
    │   ├── openapi.go
    │   └── testdata/
    │       ├── format/
    │       │   └── openapi_operations.yaml
    │       ├── golden/
    │       │   ├── TestFormat/
    │       │   │   └── openapi_operations.yaml
    │       │   ├── TestUpdateGo/
    │       │   │   └── valid/
    │       │   │       └── github/
    │       │   │           └── a.go
    │       │   └── TestUpdateOpenAPI/
    │       │       └── openapi_operations.yaml
    │       ├── unused/
    │       │   ├── github/
    │       │   │   └── a.go
    │       │   └── openapi_operations.yaml
    │       ├── update-go/
    │       │   ├── invalid/
    │       │   │   ├── github/
    │       │   │   │   └── a.go
    │       │   │   └── openapi_operations.yaml
    │       │   └── valid/
    │       │       ├── github/
    │       │       │   ├── a.go
    │       │       │   └── ignoreme.txt
    │       │       └── openapi_operations.yaml
    │       └── update-openapi/
    │           └── openapi_operations.yaml
    ├── sliceofpointers/
    │   ├── go.mod
    │   ├── go.sum
    │   ├── sliceofpointers.go
    │   ├── sliceofpointers_test.go
    │   └── testdata/
    │       └── src/
    │           ├── has-warnings/
    │           │   └── main.go
    │           └── no-warnings/
    │               └── main.go
    └── structfield/
        ├── go.mod
        ├── go.sum
        ├── structfield.go
        ├── structfield_test.go
        └── testdata/
            └── src/
                ├── has-warnings/
                │   └── main.go
                └── no-warnings/
                    └── main.go

================================================
FILE CONTENTS
================================================

================================================
FILE: .codecov.yml
================================================
ignore:
  # ignore auto-generated code
  - "github/github-accessors.go"
  # ignore experimental scrape package
  - "scrape"
  # ignore tools
  - "tools"


================================================
FILE: .custom-gcl.yml
================================================
version: v2.10.1 # this is the version of golangci-lint
plugins:
  - module: "github.com/google/go-github/v84/tools/extraneousnew"
    path: ./tools/extraneousnew
  - module: "github.com/google/go-github/v84/tools/fmtpercentv"
    path: ./tools/fmtpercentv
  - module: "github.com/google/go-github/v84/tools/sliceofpointers"
    path: ./tools/sliceofpointers
  - module: "github.com/google/go-github/v84/tools/structfield"
    path: ./tools/structfield


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: gomod
  directory: /
  schedule:
    interval: weekly
- package-ecosystem: gomod
  directory: otel
  schedule:
    interval: weekly
- package-ecosystem: gomod
  directory: scrape
  schedule:
    interval: weekly
- package-ecosystem: gomod
  directories:
    - /tools
    - /tools/**
  schedule:
    interval: weekly
- package-ecosystem: gomod
  directory: example
  schedule:
    interval: weekly
- package-ecosystem: github-actions
  directory: /
  schedule:
    interval: weekly
  groups:
    actions:
      patterns:
      - "actions/*"


================================================
FILE: .github/workflows/linter.yml
================================================
on: [push, pull_request]
name: linter

permissions:
  contents: read

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
    - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
      with:
        go-version: stable
        cache-dependency-path: "**/go.sum"
    - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
      with:
        path: |
          bin/golangci-lint
          bin/custom-gcl
        key: ${{ runner.os }}-${{ runner.arch }}-tools-${{ hashFiles('.custom-gcl.yml', 'tools/**/go.mod', 'tools/**/go.sum', 'tools/**/*.go') }}
    - run: script/lint.sh
      env:
        CHECK_GITHUB_OPENAPI: 1
        GITHUB_TOKEN: ${{ github.token }}


================================================
FILE: .github/workflows/tests.yml
================================================
concurrency:
  group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

name: tests
env:
  GO111MODULE: on

permissions:
  contents: read

jobs:
  test:
    permissions:
      contents: read
      id-token: write
    defaults:
      run:
        shell: bash
    strategy:
      matrix:
        go-version: [stable, oldstable] # test with N and the .0 release of N-1
        platform: [ubuntu-latest]
        include:
          # include windows, but only with the latest Go version, since there
          # is very little in the library that is platform specific
          - go-version: stable
            platform: windows-latest

          # only update test coverage stats with the most recent go version on linux
          - go-version: stable
            platform: ubuntu-latest
            update-coverage: true
    runs-on: ${{ matrix.platform }}

    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
        with:
          go-version: ${{ matrix.go-version }}
          cache-dependency-path: "**/go.sum"

      - name: Run go test
        run: |
          if [ -n "${{ matrix.update-coverage }}" ]; then
            script/test.sh -race -covermode atomic -coverprofile coverage.txt ./...
            exit
          fi
          script/test.sh -race -covermode atomic ./...

      - name: Ensure integration tests build
        # don't actually run tests since they hit live GitHub API
        run: go test -v -tags=integration -run=^$ ./test/integration

      - name: Upload coverage to Codecov
        if: ${{ matrix.update-coverage }}
        uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3
        with:
          use_oidc: true


================================================
FILE: .gitignore
================================================
*.sh
!/script/*.sh
*.test
.*.local
coverage.out
/bin
# intellij files
.idea/
vendor/
.DS_Store
.vscode
.claude/
# vim temp files
*.swp

# goenv local version. See https://github.com/syndbg/goenv/blob/master/COMMANDS.md#goenv-local for more info.
.go-version

# golangci-lint -v custom generates the following local file:
custom-gcl
custom-gcl.exe


================================================
FILE: .golangci.yml
================================================
version: "2"
run:
  build-tags:
    - integration
  allow-parallel-runners: true
linters:
  default: none
  enable:
    - canonicalheader
    - dogsled
    - dupl
    - errcheck
    - errorlint
    - extraneousnew
    - fmtpercentv
    - forbidigo
    - gocritic
    - godot
    - goheader
    - gosec
    - govet
    - ineffassign
    - misspell
    - modernize
    - musttag
    - nakedret
    - nolintlint
    - paralleltest
    - perfsprint
    - revive
    - sliceofpointers
    - staticcheck
    - structfield
    - tparallel
    - unconvert
    - unparam
    - unused
    - usetesting
    - whitespace
  settings:
    errorlint:
      errorf: false
      asserts: true
      comparison: true
    forbidigo:
      forbid:
        - pattern: ^fmt\.Print.*$
          msg: "Do not use fmt.Print statements."
        - pattern: ^reflect\.DeepEqual$
          msg: "Use cmp.Equal instead of reflect.DeepEqual"
        - pattern: "^http\\.Method[A-Z][a-z]*$"
          msg: "Use string literals instead of http.Method constants (https://pkg.go.dev/net/http#pkg-constants)"
        - pattern: ^sort\..*$
          msg: "Use sorting functions from the slices package instead."
    gocritic:
      disable-all: true
      enabled-checks:
        - commentedOutCode
        - commentFormatting
        - deprecatedComment
        - paramTypeCombine
    goheader:
      values:
        regexp:
          CopyrightDate: 'Copyright \d{4} '
      template: |-
        {{CopyrightDate}}The go-github AUTHORS. All rights reserved.

        Use of this source code is governed by a BSD-style
        license that can be found in the LICENSE file.
    gosec:
      excludes:
        # duplicates errcheck
        - G104
        # int(os.Stdin.Fd())
        - G115
        # false positive
        - G704
        # false positive on valid struct fields "AccessToken", "ClientSecret", "Secret", "Password"
        - G117
    govet:
      enable-all: true
      disable:
        - fieldalignment
        - shadow
    ineffassign:
      check-escaping-errors: true
    misspell:
      locale: US
      # extra words from https://go.dev/wiki/Spelling
      extra-words:
        - typo: marshall
          correction: marshal
        - typo: marshalled
          correction: marshaled
        - typo: marshalling
          correction: marshaling
        - typo: unmarshall
          correction: unmarshal
        - typo: unmarshalling
          correction: unmarshaling
        - typo: unmarshalled
          correction: unmarshaled
        - typo: unmarshalling
          correction: unmarshaling
      ignore-rules:
        - analyses # returned by the GitHub API
        - cancelled # returned by the GitHub API
    nolintlint:
      allow-unused: true
      require-specific: true
    perfsprint:
      errorf: true
      strconcat: false
    revive:
      # Set below 0.8 to enable error-strings rule.
      confidence: 0.6
      rules:
        - name: blank-imports
        - name: bool-literal-in-expr
        - name: context-as-argument
        - name: context-keys-type
        - name: dot-imports
        - name: early-return
        - name: empty-block
        - name: error-naming
        - name: error-return
        - name: error-strings
        - name: errorf
        - name: exported
          arguments:
            - disableChecksOnConstants
            - disableChecksOnVariables
            - disableStutteringCheck
        - name: filename-format
          arguments:
            - ^[_a-z][_a-z0-9]*.go$
        - name: forbidden-call-in-wg-go
        - name: identical-branches
        - name: identical-ifelseif-branches
        - name: identical-ifelseif-conditions
        - name: identical-switch-branches
        - name: identical-switch-conditions
        - name: if-return
        - name: increment-decrement
        - name: indent-error-flow
        - name: inefficient-map-lookup
        - name: package-comments
        - name: range
        - name: receiver-naming
        - name: redefines-builtin-id
        - name: superfluous-else
        - name: time-equal
        - name: time-naming
        - name: unexported-naming
        - name: unexported-return
        - name: unnecessary-format
        - name: unnecessary-if
        - name: unnecessary-stmt
        - name: unreachable-code
        - name: unused-parameter
        - name: use-any
        - name: use-errors-new
        - name: use-fmt-print
        - name: use-slices-sort
        - name: use-waitgroup-go
        - name: var-declaration
        - name: var-naming
    staticcheck:
      checks:
        - "all"
        - "-QF1008" # allow embedded field in selector
    unparam:
      check-exported: true
    usetesting:
      context-background: true
      context-todo: true
      os-chdir: true
      os-mkdir-temp: true
      os-setenv: true
      os-create-temp: true
      os-temp-dir: true
    custom:
      extraneousnew:
        type: module
        description: Reports problematic usage of 'new' or '&SomeStruct{}' when a more idiomatic 'var' pointer would be more appropriate.
        original-url: github.com/google/go-github/v84/tools/extraneousnew
        settings:
          ignored-methods:
            - RateLimitService.Get
            - RepositoriesService.ReplaceAllTopics
      fmtpercentv:
        type: module
        description: Reports usage of %d or %s in format strings.
        original-url: github.com/google/go-github/v84/tools/fmtpercentv
      sliceofpointers:
        type: module
        description: Reports usage of []*string and slices of structs without pointers.
        original-url: github.com/google/go-github/v84/tools/sliceofpointers
      structfield:
        type: module
        description: Reports mismatches between Go field and JSON, URL tag names and types.
        original-url: github.com/google/go-github/v84/tools/structfield
        settings:
          allowed-tag-names:
            - ActionsCacheUsageList.RepoCacheUsage # TODO: RepoCacheUsages ?
            - AuditEntry.ExternalIdentityNameID
            - AuditEntry.Timestamp
            - CheckSuite.AfterSHA
            - CheckSuite.BeforeSHA
            - CodeSearchResult.CodeResults
            - CodeSearchResult.Total
            - CommitAuthor.Login
            - CommitsSearchResult.Commits
            - CommitsSearchResult.Total
            - CreateOrgInvitationOptions.TeamID # TODO: TeamIDs
            - DependencyGraphSnapshot.Sha # TODO: SHA
            - Discussion.DiscussionCategory # TODO: Category ?
            - EditOwner.OwnerInfo
            - EnterpriseLicensedUsers.GithubComSamlNameID # TODO: GithubComSAMLNameID
            - Event.RawPayload
            - HookRequest.RawPayload
            - HookResponse.RawPayload
            - Issue.PullRequestLinks # TODO: PullRequest
            - IssueImportRequest.IssueImport # TODO: Issue
            - IssuesSearchResult.Issues # TODO: Items
            - IssuesSearchResult.Total
            - LabelsSearchResult.Labels # TODO: Items
            - LabelsSearchResult.Total
            - ListCheckRunsResults.Total
            - ListCheckSuiteResults.Total
            - ListCustomDeploymentRuleIntegrationsResponse.AvailableIntegrations
            - ListDeploymentProtectionRuleResponse.ProtectionRules
            - ListIDPGroupsOptions.Query
            - ListProjectsOptions.Query
            - OrganizationCustomRepoRoles.CustomRepoRoles # TODO: CustomRoles
            - OrganizationCustomRoles.CustomRepoRoles # TODO: Roles
            - PreReceiveHook.ConfigURL
            - ProjectV2ItemEvent.ProjectV2Item # TODO: ProjectsV2Item
            - Protection.RequireLinearHistory # TODO: RequiredLinearHistory
            - ProtectionRequest.RequireLinearHistory # TODO: RequiredLinearHistory
            - PullRequestComment.InReplyTo # TODO: InReplyToID
            - PullRequestReviewsEnforcementRequest.BypassPullRequestAllowancesRequest # TODO: BypassPullRequestAllowances
            - PullRequestReviewsEnforcementRequest.DismissalRestrictionsRequest # TODO: DismissalRestrictions
            - PullRequestReviewsEnforcementUpdate.BypassPullRequestAllowancesRequest # TODO: BypassPullRequestAllowances
            - PullRequestReviewsEnforcementUpdate.DismissalRestrictionsRequest # TODO: DismissalRestrictions
            - Reactions.MinusOne
            - Reactions.PlusOne
            - RepositoriesSearchResult.Repositories
            - RepositoriesSearchResult.Total
            - RepositoryVulnerabilityAlert.GitHubSecurityAdvisoryID
            - SecretScanningAlertLocationDetails.Startline # TODO: StartLine
            - SecretScanningPatternOverride.Bypassrate # TODO: BypassRate
            - StarredRepository.Repository # TODO: Repo
            - Timeline.Requester # TODO: ReviewRequester
            - Timeline.Reviewer # TODO: RequestedReviewer
            - TopicsSearchResult.Topics # TODO: Items
            - TopicsSearchResult.Total
            - TotalCacheUsage.TotalActiveCachesUsageSizeInBytes # TODO: TotalActiveCachesSizeInBytes
            - TransferRequest.TeamID # TODO: TeamIDs
            - Tree.Entries
            - User.LdapDn # TODO: LDAPDN
            - UsersSearchResult.Total
            - UsersSearchResult.Users
            - WeeklyStats.Additions
            - WeeklyStats.Commits
            - WeeklyStats.Deletions
            - WeeklyStats.Week
          allowed-tag-types:
            - APIMetaArtifactAttestations.TrustDomain # TODO: Meta
            - ActionsCacheListOptions.Direction
            - ActionsCacheListOptions.Key
            - ActionsCacheListOptions.Ref
            - ActionsCacheListOptions.Sort
            - ActiveCommittersListOptions.AdvancedSecurityProduct
            - AnalysesListOptions.Ref
            - AnalysesListOptions.SarifID
            - BranchListOptions.Protected
            - CodespaceGetDefaultAttributesOptions.ClientIP
            - CodespaceGetDefaultAttributesOptions.Ref
            - CommitsListOptions.Since # TODO: Repositories
            - CommitsListOptions.Until # TODO: Repositories
            - ConfigApplyEventsOptions.LastRequestID
            - CreateTag.Message # TODO: Git
            - CreateTag.Object # TODO: Git
            - CreateTag.Tag # TODO: Git
            - CreateTag.Type # TODO: Git
            - DependabotEncryptedSecret.SelectedRepositoryIDs # TODO: Dependabot
            - DependabotEncryptedSecret.Visibility # TODO: Dependabot
            - DeploymentRequest.RequiredContexts # TODO: Deployments
            - DismissalRestrictionsRequest.Apps # TODO: Repositories
            - DismissalRestrictionsRequest.Teams # TODO: Repositories
            - DismissalRestrictionsRequest.Users # TODO: Repositories
            - EncryptedSecret.SelectedRepositoryIDs # TODO: Actions
            - EncryptedSecret.Visibility # TODO: Actions
            - ErrorBlock.Reason # TODO: Common
            - ErrorResponse.DocumentationURL # TODO: Common
            - GetAuditLogOptions.Include
            - GetAuditLogOptions.Order
            - GetAuditLogOptions.Phrase
            - GetProvisionedSCIMGroupEnterpriseOptions.ExcludedAttributes
            - GistListOptions.Since # TODO: Gists
            - IssueEvent.Action # TODO: Issues
            - IssueListByOrgOptions.Since
            - IssueListByRepoOptions.Since # TODO: Issues
            - IssueListCommentsOptions.Direction
            - IssueListCommentsOptions.Sort
            - IssueRequest.Assignees # TODO: Issues
            - IssueRequest.Labels # TODO: Issues
            - License.Conditions # TODO: Licenses
            - License.Limitations # TODO: Licenses
            - License.Permissions # TODO: Licenses
            - ListAlertsOptions.Direction
            - ListAlertsOptions.Ecosystem
            - ListAlertsOptions.Package
            - ListAlertsOptions.Scope
            - ListAlertsOptions.Severity
            - ListAlertsOptions.Sort
            - ListAlertsOptions.State
            - ListAllIssuesOptions.Since
            - ListArtifactsOptions.Name
            - ListCheckRunsOptions.AppID
            - ListCheckRunsOptions.CheckName
            - ListCheckRunsOptions.Filter
            - ListCheckRunsOptions.Status
            - ListCheckSuiteOptions.AppID
            - ListCheckSuiteOptions.CheckName
            - ListCostCenterOptions.State
            - ListExternalGroupsOptions.DisplayName
            - ListGlobalSecurityAdvisoriesOptions.Affects
            - ListGlobalSecurityAdvisoriesOptions.CVEID
            - ListGlobalSecurityAdvisoriesOptions.Ecosystem
            - ListGlobalSecurityAdvisoriesOptions.GHSAID
            - ListGlobalSecurityAdvisoriesOptions.IsWithdrawn
            - ListGlobalSecurityAdvisoriesOptions.Modified
            - ListGlobalSecurityAdvisoriesOptions.Published
            - ListGlobalSecurityAdvisoriesOptions.Severity
            - ListGlobalSecurityAdvisoriesOptions.Type
            - ListGlobalSecurityAdvisoriesOptions.Updated
            - ListLicensesOptions.Featured
            - ListProvisionedSCIMGroupsEnterpriseOptions.Count # TODO: Enterprise
            - ListProvisionedSCIMGroupsEnterpriseOptions.ExcludedAttributes # TODO: Enterprise
            - ListProvisionedSCIMGroupsEnterpriseOptions.Filter # TODO: Enterprise
            - ListProvisionedSCIMGroupsEnterpriseOptions.StartIndex # TODO: Enterprise
            - ListProvisionedSCIMUsersEnterpriseOptions.Count
            - ListProvisionedSCIMUsersEnterpriseOptions.Filter
            - ListProvisionedSCIMUsersEnterpriseOptions.StartIndex
            - ListRepoMachineTypesOptions.ClientIP
            - ListRepoMachineTypesOptions.Location
            - ListRepoMachineTypesOptions.Ref
            - ListRunnersOptions.Name
            - ListSCIMProvisionedIdentitiesOptions.Count
            - ListSCIMProvisionedIdentitiesOptions.Filter
            - ListSCIMProvisionedIdentitiesOptions.StartIndex
            - ListUserIssuesOptions.Since
            - LockIssueOptions.LockReason # TODO: Issues
            - MarketplacePlan.Bullets # TODO: Marketplaces
            - NodeQueryOptions.ClusterRoles
            - NodeQueryOptions.UUID
            - NotificationListOptions.Before # TODO: Activities
            - NotificationListOptions.Since # TODO: Activities
            - PackageListOptions.PackageType
            - PackageListOptions.State
            - PackageListOptions.Visibility
            - PremiumRequestUsageReportOptions.Day
            - PremiumRequestUsageReportOptions.Model
            - PremiumRequestUsageReportOptions.Month
            - PremiumRequestUsageReportOptions.Product
            - PremiumRequestUsageReportOptions.User
            - PremiumRequestUsageReportOptions.Year
            - PullRequestListCommentsOptions.Since # TODO: PullRequests
            - Rate.Resource # TODO: Common
            - RepositoryAddCollaboratorOptions.Permission # TODO: Repositories
            - RepositoryCreateForkOptions.DefaultBranchOnly # TODO: Repositories
            - RepositoryCreateForkOptions.Name # TODO: Repositories
            - RepositoryCreateForkOptions.Organization # TODO: Repositories
            - RepositoryListRulesetsOptions.IncludesParents
            - RequiredStatusChecks.Checks # TODO: Repositories
            - RequiredStatusChecks.Contexts # TODO: Repositories
            - SearchOptions.AdvancedSearch
            - Secret.SelectedRepositoriesURL # TODO: Actions
            - Secret.Visibility # TODO: Actions
            - TeamAddTeamMembershipOptions.Role # TODO: Teams
            - TeamAddTeamRepoOptions.Permission # TODO: Teams
            - UpdateRuleParameters.UpdateAllowsFetchAndMerge # TODO: Rules
            - UsageReportOptions.Day
            - UsageReportOptions.Hour
            - UsageReportOptions.Month
            - UsageReportOptions.Year
            - WorkflowRunAttemptOptions.ExcludePullRequests
  exclusions:
    rules:
      - linters:
          - dogsled
          - dupl
          - gosec
          - unparam
        path: _test\.go

      # Allow fmt.Print in examples, internal tools, and tests.
      - linters: [forbidigo]
        path: ^(example|tools|test|scrape)\/
        text: 'fmt\.Print'

      # We need to pass nil Context in order to test DoBare erroring on nil ctx.
      - linters: [staticcheck]
        path: _test\.go
        text: 'SA1012: do not pass a nil Context'

      # We need to use sha1 for validating signatures
      - linters: [gosec]
        text: 'G505: Blocklisted import crypto/sha1: weak cryptographic primitive'

      # This is adapted from golangci-lint's default exclusions. It disables linting for error checks on
      # os.RemoveAll, fmt.Fprint*, fmt.Scanf, and any function ending in "Close".
      - linters: [errcheck]
        text: Error return value of .(.*Close|fmt\.Fprint.*|fmt\.Scanf|os\.Remove(All)?). is not checked

      # We don't care about gosec issues in examples or internal tools.
      - linters: [gosec]
        path: ^(example|tools)\/
        text: '(G304|G705|G706)'

      # We don't run parallel integration tests
      - linters: [paralleltest, tparallel]
        path: ^test/integration

      # Because fmt.Sprint(reset.Unix())) is more readable than strconv.FormatInt(reset.Unix(), 10).
      - linters: [perfsprint]
        text: fmt.Sprint.* can be replaced with faster strconv.FormatInt
issues:
  max-issues-per-linter: 0
  max-same-issues: 0
formatters:
  enable:
    - gci
    - gofumpt
  settings:
    gofumpt:
      extra-rules: true


================================================
FILE: AUTHORS
================================================
# This is the official list of go-github authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code, since in
# some cases, their employer may be the copyright holder. To see the full list
# of contributors, see the revision history in source control or
# https://github.com/google/go-github/graphs/contributors.
#
# Authors who wish to be recognized in this file should add themselves (or
# their employer, as appropriate).

178inaba <masahiro.furudate@gmail.com>
2BFL <imqksl@gmail.com>
413x <dedifferentiator@gmail.com>
6543 <6543@obermui.de>
Aaron LaBrie <bigdadbear@github.com>
Abed Kibbe <abed.kibbe@gmail.com>
Abhijit Hota <abhihota025@gmail.com>
Abhinav Gupta <mail@abhinavg.net>
abhishek <abhishek@exaforce.com>
Abhishek Sharma <abhishekbiyala@gmail.com>
Abhishek Veeramalla <abhishek.veeramalla@gmail.com>
Abinand P <abinand0911@gmail.com>
aboy <b1011211@gmail.com>
Adam Guthrie <ispiked@gmail.com>
Adam Kohring <ajkohring@gmail.com>
Aditya Mahendrakar <a.mahendrakar@yahoo.com>
adrienzieba <adrien.zieba@appdirect.com>
afdesk <work@afdesk.com>
Ahmad Nurus S <ahmadnurus.sh@gmail.com>
Ahmed Hagy <a.akram93@gmail.com>
Aidan <aidan@artificial.com>
Aidan Steele <aidan.steele@glassechidna.com.au>
Ainsley Chong <ainsley.chong@gmail.com>
ajz01 <azdenek@yahoo.com>
Akeda Bagus <akeda@x-team.com>
Akhil Mohan <akhilerm@gmail.com>
Alec Thomas <alec@swapoff.org>
Aleks Clark <aleks.clark@gmail.com>
Alex Bramley <a.bramley@gmail.com>
Alex Ellis <alexellis2@gmail.com>
Alex Orr <Alexorr.CSE@gmail.com>
Alex Su <alexsu@17.media>
Alex Unger <zyxancf@gmail.com>
Alexander Harkness <me@bearbin.net>
Alexey Alekhin <laughedelic@gmail.com>
Alexis Couvreur <alexiscouvreur.pro@gmail.com>
Alexis Gauthiez <alexis.gauthiez@gmail.com>
Ali Farooq <ali.farooq0@pm.me>
Alin Balutoiu <alinbalutoiu@gmail.com>
Allan Guwatudde <guwats10@gmail.com>
Allen Sun <shlallen1990@gmail.com>
Aman Verma <verma1090aman@gmail.com>
Amey Sakhadeo <me@ameyms.com>
Anders Janmyr <anders@janmyr.com>
Andreas Deininger <andreas@deininger.net>
Andreas Garnæs <https://github.com/andreas>
Andreas Jaggi <x-way@waterwave.ch>
Andrew Gillis <gillis.andrew@gmail.com>
Andrew Ryabchun <aryabchun@mail.ua>
Andrew Svoboda <svoboda.andrew@gmail.com>
Andriyun <andriy.yun@gmail.com>
Andy Grunwald <andygrunwald@gmail.com>
Andy Hume <andyhume@gmail.com>
Andy Lindeman <andy@lindeman.io>
angie pinilla <angelinepinilla@gmail.com>
Anish Rajan <anishrajan2708@gmail.com>
anjanashenoy <anjanashenoy1@gmail.com>
Anshuman Bhartiya <anshuman.bhartiya@gmail.com>
Antoine <antoine.tu@mail.mcgill.ca>
Antoine Pelisse <apelisse@gmail.com>
Anton Nguyen <afnguyen85@gmail.com>
Anubha Kushwaha <anubha_bt2k14@dtu.ac.in>
appilon <apilon@hashicorp.com>
aprp <doelaudi@gmail.com>
apurwaj2 <apurwaj2@gmail.com>
Aravind <aravindkp@outlook.in>
Arda Kuyumcu <kuyumcuarda@gmail.com>
Ary <arylmoraesn@hotmail.com>
Arıl Bozoluk <arilbozoluk@hotmail.com>
Asier Marruedo <asiermarruedo@gmail.com>
Austen Stone <austenstone@github.com>
Austin Burdine <acburdine@gmail.com>
Austin Dizzy <dizzy@wow.com>
Azuka Okuleye <azuka@zatechcorp.com>
Ben Batha <bhbatha@gmail.com>
Benjamen Keroack <benjamen@dollarshaveclub.com>
Benjamin Nater <benjamin@nater.net>
Berkay Tacyildiz <berkaytacyildiz@gmail.com>
Beshr Kayali <beshrkayali@gmail.com>
Beyang Liu <beyang.liu@gmail.com>
billnapier <napier@pobox.com>
Billy Keyes <bluekeyes@gmail.com>
Billy Lynch <wlynch92@gmail.com>
Bingtan Lu <lubingtan@126.com>
Bjorn Neergaard <bjorn@neersighted.com>
Björn Häuser <b.haeuser@rebuy.de>
Bo Huang <bo.huang@datadoghq.com>
boljen <bol.christophe@gmail.com>
Bracken <abdawson@gmail.com>
Brad Harris <bmharris@gmail.com>
Brad Moylan <moylan.brad@gmail.com>
Bradley Falzon <brad@teambrad.net>
Bradley McAllister <brad.mcallister@hotmail.com>
Brandon Butler <b.butler@chia.net>
Brandon Cook <phylake@gmail.com>
Brandon Everett <bme2010@gmail.com>
Brandon Stubbs <brstubbs1@gmail.com>
Brett Kuhlman <kuhlman-labs@github.com>
Brett Logan <lindluni@github.com>
Brian Egizi <brian@mojotech.com>
Bryan Boreham <bryan@weave.works>
Bryan Peterson <Lazyshot@gmail.com>
Cami Diez <diezcami@gmail.com>
Carl Johnson <me@carlmjohnson.net>
Carlos Alexandro Becker <caarlos0@gmail.com>
Carlos Tadeu Panato Junior <ctadeu@gmail.com>
Casey <casey.duquette@snapchat.com>
ChandanChainani <chainanichan@gmail.com>
chandresh-pancholi <chandreshpancholi007@gmail.com>
Changyong Um <e7217@naver.com>
Charles Fenwick Elliott <Charles@FenwickElliott.io>
Charlie Yan <charlieyan08@gmail.com>
Chmouel Boudjnah <chmouel@chmouel.com>
Chris Allen Lane <chris@chris-allen-lane.com>
Chris King <chriskingnet@gmail.com>
Chris Mc <prince.chrismc@gmail.com>
Chris Raborg <craborg57@gmail.com>
Chris Roche <chris@vsco.co>
Chris Schaefer <chris@dtzq.com>
chrisforrette <chris@chrisforrette.com>
Christian Bargmann <chris@cbrgm.net>
Christian Muehlhaeuser <muesli@gmail.com>
Christoph Jerolimov <jerolimov@gmail.com>
Christoph Sassenberg <defsprite@gmail.com>
CI Monk <ci-monk@protonmail.com>
Claus Näveke <github@naeveke.de>
Clemens W <Clemens.wijnekus@nordnet.se>
cointem <jsyin1@163.com>
Colby Williams <ColbyLWilliams@gmail.com>
Colin Misare <github.com/cmisare>
Craig Gumbley <craiggumbley@gmail.com>
Craig Peterson <cpeterson@stackoverflow.com>
Cristian Maglie <c.maglie@bug.st>
Cyb3r Jak3 <jake@jwhite.network>
Daehyeok Mun <daehyeok@gmail.com>
Dalton Hubble <dghubble@gmail.com>
Daniel Lanner <lanner.dan@gmail.com>
Daniel Leavitt <daniel.leavitt@gmail.com>
Daniel Nilsson <daniel.nilsson1989@gmail.com>
Daoq <masseto2002@gmail.com>
Dave Du Cros <davidducros@gmail.com>
Dave Henderson <dhenderson@gmail.com>
Dave Perrett <hello@daveperrett.com>
Dave Protasowski <dprotaso@gmail.com>
David Deng <daviddengcn@gmail.com>
David Gamba <davidgamba@gmail.com>
David J. M. Karlsen <david@davidkarlsen.com>
David Jannotta <djannotta@gmail.com>
David Ji <github.com/davidji99>
David Lopez Reyes <davidlopezre@gmail.com>
Davide Zipeto <dawez1@gmail.com>
Dennis Webb <dennis@bluesentryit.com>
Derek Jobst <derekjobst@gmail.com>
DeviousLab <deviouslab@gmail.com>
Dhananjay Mishra <technicaldmcontact@gmail.com>
Dhi Aurrahman <diorahman@rockybars.com>
Diego Lapiduz <diego.lapiduz@cfpb.gov>
Diogo Vilela <be0x74a@gmail.com>
Dion Gionet Mallet <dionmallet@hotmail.com>
Dmitri Shuralyov <shurcooL@gmail.com>
dmnlk <seikima2demon@gmail.com>
Don Petersen <don@donpetersen.net>
Doug Turner <doug.turner@gmail.com>
Drew Fradette <drew.fradette@gmail.com>
Dustin Deus <deusdustin@gmail.com>
Dustin Lish <dustin.lish@onepeloton.com>
Eivind <eivindkn@gmail.com>
Eli Uriegas <seemethere101@gmail.com>
Elliott Beach <elliott2.71828@gmail.com>
Emerson Wood <emersonwood94@gmail.com>
Emil V <emil.vaagland@schibsted.com>
Emma Sax <esselbach_briley@simplelogin.com>
Eng Zer Jun <engzerjun@gmail.com>
Enrico Candino <enrico.candino@gmail.com>
eperm <staffordworrell@gmail.com>
Erick Fejta <erick@fejta.com>
Erik Elkins <erik.elkins@outlook.com>
Erik Nobel <hendrik.nobel@transferwise.com>
Erwan Finot <finot.erwan@gmail.com>
erwinvaneyk <erwinvaneyk@gmail.com>
Evan Anderson <evan.k.anderson@gmail.com>
Evan Elias <evanjelias@gmail.com>
Eyal Kapon <eyalk@jfrog.com>
Fabian Holler <fabian.holler@simplesurance.de>
Fabrice <fabrice.vaillant@student.ecp.fr>
Fatema-Moaiyadi <fatema.i.moaiyadi@gmail.com>
Federico Di Pierro <nierro92@gmail.com>
Felix Geisendörfer <felix@debuggable.com>
Filippo Valsorda <hi@filippo.io>
Florian Forster <ff@octo.it>
Florian Maier <florianmaier101178@gmail.com>
Florian Wagner <h2floh@github.com>
Francesc Gil <xescugil@gmail.com>
Francis <hello@francismakes.com>
Francisco Guimarães <francisco.cpg@gmail.com>
François de Metz <francois@2metz.fr>
Fredrik Jönsson <fredrik.jonsson@izettle.com>
Gabriel <samfiragabriel@gmail.com>
Gal Ofri <galmenashofri@gmail.com>
Garrett Squire <garrettsquire@gmail.com>
George Kontridze <george.kontridze@gmail.com>
Georgy Buranov <gburanov@gmail.com>
Glen Mailer <glenjamin@gmail.com>
Gnahz <p@oath.pl>
Google Inc.
Grachev Mikhail <work@mgrachev.com>
Gregor Jasny <gjasny@googlemail.com>
Gregory Oschwald <oschwald@gmail.com>
griffin_stewie <panterathefamilyguy@gmail.com>
guangwu <guoguangwu@magic-shield.com>
Guillaume Jacquet <guillaume.jacquet@gmail.com>
Guz Alexander <kalimatas@gmail.com>
Guðmundur Bjarni Ólafsson <gudmundur@github.com>
Hanno Hecker <hanno.hecker@zalando.de>
Hari haran <hariharan.uno@gmail.com>
Harikesh00 <prajapatiharikesh16@gmail.com>
haya14busa <haya14busa@gmail.com>
haya14busa <hayabusa1419@gmail.com>
Henrik Lundström <henrik94lundstrom@gmail.com>
Hiroki Ito <hiroki.ito.dev@gmail.com>
hnkƶ <kazuki.hanai@wan-nyan-wan.net>
Hubot Jr <rreichel3@github.com>
Huy Tr <kingbazoka@gmail.com>
huydx <doxuanhuy@gmail.com>
i2bskn <i2bskn@gmail.com>
Iain Steers <iainsteers@gmail.com>
Iehana Fu <wasuremono127@gmail.com>
Ikko Ashimine <eltociear@gmail.com>
Ilia Choly <ilia.choly@gmail.com>
Ioannis Georgoulas <igeorgoulas21@gmail.com>
Isao Jonas <isao.jonas@gmail.com>
ishan upadhyay <ishanupadhyay412@gmail.com>
isqua <isqua@isqua.ru>
Ivan Martos <martos.ivan@gmail.com>
Jacob Valdemar <jan@lunar.app>
Jake Krammer <jake.krammer1@gmail.com>
Jake Scaltreto <jake.scaltreto@circle.com>
Jake White <jake@jwhite.network>
Jameel Haffejee <RC1140@republiccommandos.co.za>
James Alseth <james@jalseth.me>
James Bowes <jbowes@repl.ca>
James Cockbain <james.cockbain@ibm.com>
James Loh <github@jloh.co>
James Maguire <jvm986@gmail.com>
James Turley <jamesturley1905@googlemail.com>
Jamie West <jamieianwest@hotmail.com>
Jan Guth <Jan.Guth@gmail.com>
Jan Kosecki <jan.kosecki91@gmail.com>
Jan Niklas Dittmar <jndzero2@gmail.com>
Jan Švábík <jansvabik@jansvabik.cz>
Jason Brill <jbrill95@gmail.com>
Jason Field <Jason@avon-lea.co.uk>
Javier Campanini <jcampanini@palantir.com>
Jef LeCompte <jeffreylec@gmail.com>
Jeff Wenzbauer <jeff.wenzbauer@niceincontact.com>
Jens Rantil <jens.rantil@gmail.com>
Jeremy Morris <jeremylevanmorris@gmail.com>
Jesse Haka <haka.jesse@gmail.com>
Jesse Newland <jesse@jnewland.com>
Jihoon Chung <j.c@navercorp.com>
Jille Timmermans <jille@quis.cx>
Jimmi Dyson <jimmidyson@gmail.com>
Jiří Žižkovský <jirizizkovsky@post.cz>
Joan Saum <joan.saum@epitech.eu>
JoannaaKL <joannaakl@github.com>
Joe Tsai <joetsai@digital-static.net>
John Barton <jrbarton@gmail.com>
John Engelman <john.r.engelman@gmail.com>
John Jones <john@exthilion.org>
John Liu <john.liu@mongodb.com>
Jordan Brockopp <jdbro94@gmail.com>
Jordan Burandt <jordanburandt@gmail.com>
Jordan Sussman <jordansail22@gmail.com>
Jorge Ferrero <jorgeferrerolinacero@gmail.com>
Jorge Gómez Reus <j-g1996@live.com>
Joshua Bezaleel Abednego <joshua.bezaleel@gmail.com>
Joshua French <jgg_63@yahoo.com>
João Cerqueira <joao@cerqueira.io>
JP Phillips <jonphill9@gmail.com>
jpbelanger-mtl <jp.belanger@gmail.com>
Juan <juan.rios.28@gmail.com>
Juan Basso <jrbasso@gmail.com>
Julien Garcia Gonzalez <garciagonzalez.julien@gmail.com>
Julien Midedji <Julien.Midedji@gmail.com>
Julien Rostand <jrostand@users.noreply.github.com>
Junya Kono <junya03dance@gmail.com>
Justin Abrahms <justin@abrah.ms>
Justin Toh <tohjustin@hotmail.com>
Jusung Lee <e.jusunglee@gmail.com>
jzhoucliqr <jzhou@cliqr.com>
k0ral <mail@cmoreau.info>
k1rnt <eru08tera15mora@gmail.com>
kadern0 <kaderno@gmail.com>
Karthik Sundari <karthiksundari2315@gmail.com>
Katrina Owen <kytrinyx@github.com>
Kautilya Tripathi <tripathi.kautilya@gmail.com>
Keita Urashima <ursm@ursm.jp>
Kevin Burke <kev@inburke.com>
Kevin Wang <kwangsan@gmail.com>
Kevin Zhao <kzhao@lyft.com>
kgalli <mail@kgalli.de>
Khanh Ngo <k@ndk.name>
Kirill <g4s8.public@gmail.com>
Konrad Malawski <konrad.malawski@project13.pl>
Kookheon Kwon <kucuny@gmail.com>
Krishna Indani <indanikrishna@gmail.com>
Krzysztof Kowalczyk <kkowalczyk@gmail.com>
Kshitij Saraogi <KshitijSaraogi@gmail.com>
Kumar Saurabh <itsksaurabh@gmail.com>
Kyle Kurz <kyle@doublekaudio.com>
kyokomi <kyoko1220adword@gmail.com>
Lachlan Cooper <lachlancooper@gmail.com>
Lars Lehtonen <lars.lehtonen@gmail.com>
Laurent Verdoïa <verdoialaurent@gmail.com>
Leonard Sheng Sheng Lee <leonard.sheng.sheng.lee@gmail.com>
leopoldwang <leopold.wang@gmail.com>
Liam Galvin <liam@liam-galvin.co.uk>
Liam Stanley <liam@liam.sh>
Lluis Campos <lluis.campos@northern.tech>
Lovro Mažgon <lovro.mazgon@gmail.com>
Loïs Postula <lois@postu.la>
Luca Campese <me@campesel.net>
Lucas Alcantara <lucasalcantaraf@gmail.com>
Lucas Martin-King <lmartinking@gmail.com>
Luis Davim <luis.davim@sendoso.com>
Luke Evers <me@lukevers.com>
Luke Hinds <luke@stacklok.com>
Luke Kysow <lkysow@gmail.com>
Luke Roberts <email@luke-roberts.co.uk>
Luke Young <luke@hydrantlabs.org>
lynn [they] <lynncyrin@gmail.com>
Léo Salé <leo.sale@datadoghq.com>
M. Ryan Rigdon <mr.rigdon@gmail.com>
Magnus Kulke <mkulke@gmail.com>
Maksim Zhylinski <uzzable@gmail.com>
Manas Sivakumar <manas23601@gmail.com>
Manav Sharma <manav.acno1@gmail.com>
Manuel Bergler <manue1@github.com>
Marc Binder <marcandrebinder@gmail.com>
Marcelo Carlos <marcelo@permutive.com>
Mark Tareshawty <tarebyte@github.com>
Martin Holman <me@martinholman.co.nz>
Martin-Louis Bright <mlbright@gmail.com>
Martins Sipenko <martins.sipenko@gmail.com>
Marwan Sulaiman <marwan.sameer@gmail.com>
Masayuki Izumi <m@izum.in>
Mat Geist <matgeist@gmail.com>
Matheus Santos Araújo <wenked.matheus@yahoo.com.br>
MathewClegg <mathew.clegg@live.se>
Mathieu Sévégny <mathieu.sevegny@goto.com>
Matija Horvat <horvat2112@gmail.com>
Matin Rahmanian <itsmatinx@gmail.com>
Matt <alpmatthew@gmail.com>
Matt Brender <mjbrender@gmail.com>
Matt Dainty <matt@bodgit-n-scarper.com>
Matt Gaunt <matt@gauntface.co.uk>
Matt Landis <landis.matt@gmail.com>
Matt Mencel <matt@techminer.net>
Matt Moore <mattmoor@vmware.com>
Matt Simons <mattsimons@ntlworld.com>
Matthew Reidy <matthewreidy5@gmail.com>
Maxime Bury <maxime.bury@gmail.com>
Michael Meng <mmeng@lyft.com>
Michael Recachinas <mrecachinas@github.com>
Michael Spiegel <michael.m.spiegel@gmail.com>
Michael Tiller <michael.tiller@gmail.com>
Michał Glapa <michal.glapa@gmail.com>
Michelangelo Morrillo <michelangelo@morrillo.it>
Miguel Elias dos Santos <migueleliasweb@gmail.com>
Mike Ball <mikedball@gmail.com>
Mike Chen <mchen300@gmail.com>
Miles Crabill <miles@milescrabill.com>
Mishin Nikolai <sanduku.default@gmail.com>
Mohamad Al-Zawahreh <merchantmoh@gmail.com>
mohammad ali <2018cs92@student.uet.edu.pk>
Mohammed AlDujaili <avainer11@gmail.com>
Mohammed Nafees <hello@mnafees.me>
Mudit <zeusdeux@gmail.com>
Mukundan Senthil <mukundan314@gmail.com>
Munia Balayil <munia.247@gmail.com>
Mustafa Abban <mustafaabban@utexas.edu>
Nadav Kaner <nadavkaner1@gmail.com>
Naoki Kanatani <k12naoki@gmail.com>
Nathan VanBenschoten <nvanbenschoten@gmail.com>
Navaneeth Suresh <navaneeths1998@gmail.com>
Nayeem Hasan <nayeemhasan.nh01@gmail.com>
Neal Caffery <neal1991@sina.com>
Neil O'Toole <neilotoole@apache.org>
Nicholas Herring <oss@hakshak.com>
Nick Miyake <nmiyake@palantir.com>
Nick Platt <hello@nickplatt.co.uk>
Nick Spragg <nick.spragg@bbc.co.uk>
Nicolas Chapurlat <nc@coorganix.com>
Nikhita Raghunath <nikitaraghunath@gmail.com>
Nikita Pivkin <nikita.pivkin@smartforce.io>
Nilesh Singh <nilesh.singh24@outlook.com>
Noah Hanjun Lee <noah.lee@buzzvil.com>
Noah Zoschke <noah+sso2@convox.com>
Noble Varghese <noblekvarghese96@gmail.com>
ns-cweber <cweber@narrativescience.com>
nxya <nathacutlan@gmail.com>
Ole Orhagen <ole.orhagen@northern.tech>
Oleg Kovalov <iamolegkovalov@gmail.com>
Oleksandr Redko <oleksandr.red+github@gmail.com>
Ondřej Kupka <ondra.cap@gmail.com>
Ori Talmor <talmorori@gmail.com>
Osama Faqhruldin <onfaqhru@gmail.com>
oslowalk <den.cs@pm.me>
Pablo Pérez Schröder <pablo.perezschroder@wetransfer.com>
Palash Nigam <npalash25@gmail.com>
Panagiotis Moustafellos <pmoust@gmail.com>
Parham Alvani <parham.alvani@gmail.com>
pari-27 <sonamajumdar2012@gmail.com>
Parker Moore <parkrmoore@gmail.com>
parkhyukjun89 <park.hyukjun89@gmail.com>
Pat Alwell <pat.alwell@gmail.com>
Patrick DeVivo <patrick.devivo@gmail.com>
Patrick Marabeas <patrick@marabeas.io>
Patrik Nordlén <patriki@gmail.com>
Pavel Dvoinos <pavel.dvoinos@transferwise.com>
Pavel Shtanko <pavel.shtanko@gmail.com>
Pavlos Tzianos <pavlos.tzianos@gmail.com>
Pedja Muatovic <pmuratov@raptive.com>
Pete Wagner <thepwagner@github.com>
Petr Shevtsov <petr.shevtsov@gmail.com>
Pierce McEntagart <pierce@nightfall.ai>
Pierre Carrier <pierre@meteor.com>
Piotr Zurek <p.zurek@gmail.com>
Piyush Chugh <piyushchugh1993@gmail.com>
Pj Meyer <peej.meyer@gmail.com>
Pratik Mallya <pratik.mallya@gmail.com>
Qais Patankar <qaisjp@gmail.com>
Quang Le Hong <iamquang95@gmail.com>
Quentin Leffray <fiahil@gmail.com>
Quinn Slack <qslack@qslack.com>
Rackspace US, Inc.
Radek Simko <radek.simko@gmail.com>
Radliński Ignacy <radlinsk@student.agh.edu.pl>
Rafael Aramizu Gomes <rafael.aramizu@mercadolivre.com>
Raisa Kabir <raisa.kabir2010@gmail.com>
Rajat Jindal <rajatjindal83@gmail.com>
Rajendra arora <rajendraarora16@yahoo.com>
Rajkumar <princegosavi12@gmail.com>
Ramesh Gaikwad <rameshgkwd05@gmail.com>
Ranbir Singh <binkkatal.r@gmail.com>
Ravi Shekhar Jethani <rsjethani@gmail.com>
RaviTeja Pothana <ravi-teja@live.com>
rc1140 <jameel@republiccommandos.co.za>
Red Hat, Inc.
Reetuparna Mukherjee <reetuparna.1988@gmail.com>
reeves122 <reeves122@gmail.com>
Reinier Timmer <reinier.timmer@ah.nl>
Renjith R <renjithr201097@gmail.com>
Rez Moss <hi@rezmoss.com>
Riaje <francois@mbfr.fr>
Ricco Førgaard <ricco@fiskeben.dk>
Richard de Vries <richard.de.vries@topicus.nl>
Rob Figueiredo <robfig@yext.com>
Roger Peppe <rogpeppe@gmail.com>
Rohit Upadhyay <urohit011@gmail.com>
Rojan Dinc <rojand94@gmail.com>
Roman Wu <me@romanwu.com>
Roming22 <roming22@gmail.com>
Ronak Jain <ronakjain@outlook.in>
Ronan Pelliard <ronan.pelliard@datadoghq.com>
Ross Gustafson <srgustafson8@icloud.com>
Ruben Vereecken <rubenvereecken@gmail.com>
Rufina Talalaeva <rufusnorbert14@gmail.com>
Rupok Ghosh <rupokghosh291@gmail.com>
Russell Boley <raboley@gmail.com>
Ryan Leung <rleungx@gmail.com>
Ryan Lower <rpjlower@gmail.com>
Ryan Skidmore <github@ryanskidmore.co.uk>
Ryo Nakao <nakabonne@gmail.com>
Saaarah <sarah.liusy@gmail.com>
Safwan Olaimat <safwan.olaimat@gmail.com>
Sahil Dua <sahildua2305@gmail.com>
Sai Ravi Teja Chintakrindi <srt2712@gmail.com>
saisi <saisi@users.noreply.github.com>
Sam Minnée <sam@silverstripe.com>
Sandeep Sukhani <sandeep.d.sukhani@gmail.com>
Sander Knape <s.knape88@gmail.com>
Sander van Harmelen <svanharmelen@schubergphilis.com>
sanjay s <sanjayygowdaa03@gmail.com>
Sanket Payghan <sanket.payghan8@gmail.com>
Sarah Funkhouser <sarah.k.funkhouser@gmail.com>
Sarasa Kisaragi <lingsamuelgrace@gmail.com>
Sasha Melentyev <sasha@melentyev.io>
Scott Dawson <scott@daw.sn>
Sean Wang <sean@decrypted.org>
Sebastian Mandrean <sebastian.mandrean@gmail.com>
Sebastian Mæland Pedersen <sem.pedersen@stud.uis.no>
sellskin <mydesk@yeah.net>
Sergei Popinevskii <gurza000@gmail.com>
Sergey Romanov <xxsmotur@gmail.com>
Sergio Garcia <sergio.garcia@gmail.com>
Seth Vargo <seth@sethvargo.com>
Sevki <s@sevki.org>
Shagun Khemka <shagun.khemka60@gmail.com>
shakeelrao <shakeelrao79@gmail.com>
Shawn Catanzarite <me@shawncatz.com>
Shawn Smith <shawnpsmith@gmail.com>
Shibasis Patel <patelshibasis@gmail.com>
Sho Okada <shokada3@gmail.com>
Shrikrishna Singh <krishnasingh.ss30@gmail.com>
Silas Alberti <alberti@cs.stanford.edu>
Simon Davis <sdavis@hashicorp.com>
sona-tar <sona.zip@gmail.com>
soniachikh <sonia.chikh@gmail.com>
SoundCloud, Ltd.
Sridhar Mocherla <srmocher@microsoft.com>
SriVignessh Pss <sriknowledge@gmail.com>
Stefan Sedich <stefan.sedich@gmail.com>
Steve Hipwell <steve.hipwell@gmail.com>
Steve Teuber <github@steveteuber.com>
Stian Eikeland <stian@eikeland.se>
Suhaib Mujahid <suhaibmujahid@gmail.com>
sushmita wable <sw09007@gmail.com>
Sven Palberg <oss@palberg.de>
Szymon Kodrebski <simonkey007@gmail.com>
Søren Hansen <soren@dinero.dk>
T.J. Corrigan <tjcorr@github.com>
Takashi Yoneuchi <takashi.yoneuchi@shift-js.info>
Takayuki Watanabe <takanabe.w@gmail.com>
Taketoshi Fujiwara <fujiwara@leapmind.io>
Taketoshi Fujiwara <taketoshi.fujiwara@gmail.com>
Takuma Kajikawa <kj1ktk@gmail.com>
Tasya Aditya Rukmana <tadityar@gmail.com>
Theo Henson <theodorehenson@protonmail.com>
Theofilos Petsios <theofilos.pe@gmail.com>
Thomas Aidan Curran <thomas@ory.sh>
Thomas Bruyelle <thomas.bruyelle@gmail.com>
Tim <sinnerpocht@gmail.com>
Tim Rogers <timrogers@github.com>
Timothy O'Brien <obrien.timothy.a@gmail.com>
Timothée Peignier <timothee.peignier@tryphon.org>
Tingluo Huang <tingluohuang@github.com>
tkhandel <tarunkhandelwal.iitr@gmail.com>
Tobias Gesellchen <tobias@gesellix.de>
Tom Bamford <tom@bamford.io>
Tom Payne <twpayne@gmail.com>
Tomasz Adam Skrzypczak <tomasz.adam.skrzypczak@protonmail.com>
tomfeigin <tom.feigin@gmail.com>
Travis Tomsu <travis.tomsu@gmail.com>
Trey Tacon <ttacon@gmail.com>
tsbkw <tsbkw0@gmail.com>
ttacon <ttacon@gmail.com>
Vaibhav Singh <vaibhav.singh.14cse@bml.edu.in>
Varadarajan Aravamudhan <varadaraajan@gmail.com>
Victor Castell <victor@victorcastell.com>
Victor Vrantchan <vrancean+github@gmail.com>
Victory Osikwemhe <osikwemhev@gmail.com>
vikkyomkar <vikky.omkar@samsung.com>
Ville Skyttä <ville.skytta@iki.fi>
Vivek <y.vivekanand@gmail.com>
Vivek Kumar Sahu <vivekkumarsahu650@gmail.com>
Vlad Ungureanu <vladu@palantir.com>
Wasim Thabraze <wasim@thabraze.me>
Weslei Juan Moser Pereira <wesleimsr@gmail.com>
Wheeler Law <wheeler.law@outlook.com>
Will Maier <wcmaier@gmail.com>
Will Norris <will@tailscale.com>
Willem D'Haeseleer <dhwillem@gmail.com>
William Bailey <mail@williambailey.org.uk>
William Cooke <pipeston@gmail.com>
Xabi <xmartinez1702@gmail.com>
xibz <impactbchang@gmail.com>
Yann Malet <yann.malet@gmail.com>
Yannick Utard <yannickutard@gmail.com>
Yarden Shoham <git@yardenshoham.com>
Yicheng Qin <qycqycqycqycqyc@gmail.com>
Yosuke Akatsuka <yosuke.akatsuka@access-company.com>
Yumikiyo Osanai <yumios.art@gmail.com>
Yurii Soldak <ysoldak@gmail.com>
Yusef Mohamadi <yuseferi@gmail.com>
Yusuke Kuoka <ykuoka@gmail.com>
Yuto Kimura <biosugar0@gmail.com>
Zach Latta <zach@zachlatta.com>
Ze Peng <zehui.peng@circle.com>
zhouhaibing089 <zhouhaibing089@gmail.com>
zyfy29 <wasuremono127@gmail.com>
六开箱 <lkxed@outlook.com>
缘生 <i@ysicing.me>
蒋航 <hang.jiang@daocloud.io>


================================================
FILE: CONTRIBUTING.md
================================================
# How to contribute

We'd love to accept your patches and contributions to this project.
There are just a few small guidelines you need to follow.

## Contributor License Agreement

Contributions to any Google project must be accompanied by a Contributor
License Agreement. This is not a copyright **assignment**, it simply gives
Google permission to use and redistribute your contributions as part of the
project. Head over to <https://cla.developers.google.com/> to see your current
agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.

## Reporting issues

Bugs, feature requests, and development-related questions should be directed to
our [GitHub issue tracker](https://github.com/google/go-github/issues).  If
reporting a bug, please try and provide as much context as possible such as
your operating system, Go version, and anything else that might be relevant to
the bug.  For feature requests, please explain what you're trying to do, and
how the requested feature would help you do that.

Security related bugs can either be reported in the issue tracker, or if they
are more sensitive, emailed to <opensource@google.com>.

## Reviewing PRs

In addition to writing code, community projects also require community
contributions in other ways; one of these is reviewing code contributions. If
you are willing to review PRs please open a PR to add your GitHub username to
the [REVIEWERS](./REVIEWERS) file. By adding your GitHub username to the list
of reviewers you are giving contributors permission to request a review for a
PR that has already been approved by a maintainer. If you are asked to review a
PR and either do not have the time or do not think you are able to you should
feel comfortable politely saying no.

If at any time you would like to remove your permission to be contacted for a
review you can open a PR to remove your name from the [REVIEWERS](./REVIEWERS)
file.

## Submitting a patch

1. It's generally best to start by opening a new issue describing the bug or
   feature you're intending to fix. Even if you think it's relatively minor,
   it's helpful to know what people are working on. Mention in the initial issue
   that you are planning to work on that bug or feature so that it can be
   assigned to you.

2. Follow the normal process of [forking][] the project, and set up a new branch
   to work in. It's important that each group of changes be done in separate
   branches in order to ensure that a pull request only includes the commits
   related to that bug or feature.

3. Any significant changes should almost always be accompanied by tests. The
   project already has good test coverage, so look at some of the existing tests
   if you're unsure how to go about it. Coverage is [monitored by codecov.io][],
   which flags pull requests that decrease test coverage. This doesn't
   necessarily mean that PRs with decreased coverage won't be merged. Sometimes
   a decrease in coverage makes sense, but if your PR is flagged, you should
   either add tests to cover those lines or add a PR comment explaining the
   untested lines.

4. Run `script/fmt.sh`, `script/test.sh` and `script/lint.sh` to format your code and
   check that it passes all tests and linters. `script/lint.sh` may also tell you
   that generated files need to be updated. If so, run `script/generate.sh` to
   update them.

5. Do your best to have [well-formed commit messages][] for each change. This
   provides consistency throughout the project, and ensures that commit messages
   are able to be formatted properly by various git tools. See next section for
   more details.

6. Finally, push the commits to your fork and submit a [pull request][].
   **NOTE:** Please do not use force-push on PRs in this repo, as it makes it
   more difficult for reviewers to see what has changed since the last code
   review. We always perform "squash and merge" actions on PRs in this repo, so it doesn't
   matter how many commits your PR has, as they will end up being a single commit after merging.
   This is done to make a much cleaner `git log` history and helps to find regressions in the code
   using existing tools such as `git bisect`.

   - If your PR needs additional reviews you can request one of the
     [REVIEWERS][] takes a look by mentioning them in a PR comment.

[forking]: https://help.github.com/articles/fork-a-repo
[well-formed commit messages]: https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[pull request]: https://help.github.com/articles/creating-a-pull-request
[monitored by codecov.io]: https://codecov.io/gh/google/go-github
[REVIEWERS]: ./REVIEWERS

### Use proper commit messages and PR titles

Effective Git commit messages and subject lines hold immense significance in comprehending alterations and enhancing the code's maintainability.

Always commit the changes to your fork and push them to the corresponding original repo by sending a Pull Request (PR). Follow the best practices for writing commit messages/PR titles.

1. Limit the subject line to 50 characters
2. Capitalize the subject line
3. Do not end the subject line with a period
4. Use the imperative mood in the subject line. A properly formed Git commit subject line should always be able to complete the following sentence:
   If applied, this commit will `<your subject line here>`

(This above advice can be found all over the internet, but was copied from [here](https://learn-ballerina.github.io/best_practices/use_proper_titles.html).)

5. You may optionally prefix the PR title with the type of PR it is, in lower case,
   followed by a colon. For example, `feat:`, `chore:`, `fix:`, `docs:`, etc.
   For breaking API changes, add an exclamation point.
   For example, `feat!:`, `chore!:`, `fix!:`, etc.

### Windows users

Use Git Bash as a terminal or WSL instead of PowerShell.

To avoid [issues][] with a few linters and formatters within golangci-lint,
make sure you check out files only with LF endings:

```sh
git config core.autocrlf false
git config core.eol lf
```

To convert an existing cloned repo from CRLF to LF, use the following commands:

```sh
git config core.autocrlf false
git rm --cached -r .
git reset --hard HEAD
```

[issues]: https://github.com/golangci/golangci-lint/discussions/5840

## Tips

Although we have not (yet) banned AI-driven contributions to this repo (as many
other open source projects have), we encourage you to read and honor the following
tips (which are frequently ignored by AI-driven PRs):

* Always review your own PRs using the same user interface that your actual
  reviewers will be using with a critical eye, attempting to anticipate what your
  reviewers will call out, _before_ asking anyone to review your PR.
* Come up with a short and appropriate PR title.
* Come up with a short, well-written, and appropriate PR description (we don't
  need hundreds of lines of text here - keep it short and to-the-point so a
  reviewer can _quickly_ determine what the PR is all about).
* If a PR involves bug fixes, it should certainly include a unit test (or tests)
  that demonstrates the bug - without the PR changes, the new unit test would
  fail, but with the included PR changes, the new test(s) pass.
* When possible, try to make smaller, focused PRs (which are easier to review
  and easier for others to understand).

## Code Comments

Every exported method and type needs to have code comments that follow
[Go Doc Comments][]. A typical method's comments will look like this:

```go
// Get fetches a repository.
//
// GitHub API docs: https://docs.github.com/rest/repos/repos#get-a-repository
//
//meta:operation GET /repos/{owner}/{repo}
func (s *RepositoriesService) Get(ctx context.Context, owner, repo string) (*Repository, *Response, error) {
    u := fmt.Sprintf("repos/%v/%v", owner, repo)
    req, err := s.client.NewRequest("GET", u, nil)
    ...
}
```
And the returned type `Repository` will have comments like this:

```go
// Repository represents a GitHub repository.
type Repository struct {
    ID     *int64  `json:"id,omitempty"`
    NodeID *string `json:"node_id,omitempty"`
    Owner  *User   `json:"owner,omitempty"`
    ...
}
```

The first line is the name of the method followed by a short description. This
could also be a longer description if needed, but there is no need to repeat any
details that are documented in GitHub's documentation because users are expected
to follow the documentation links to learn more.

After the description comes a link to the GitHub API documentation. This is
added or fixed automatically when you run `script/generate.sh`, so you won't
need to set this yourself.

Finally, the `//meta:operation` comment is a directive to the code generator
that maps the method to the corresponding OpenAPI operation. Once again, there
can be multiple directives for methods that call multiple
endpoints. `script/generate.sh` will normalize these directives for you, so if
you are adding a new method you can use the pattern from the `u := fmt.Sprintf`
line instead of looking up what the url parameters are called in the OpenAPI
description.

[Go Doc Comments]: https://go.dev/doc/comment

## Metadata

GitHub publishes [OpenAPI descriptions of their API][]. We use these
descriptions to keep documentation links up to date and to keep track of which
methods call which endpoints via the `//meta:operation` comments described
above. GitHub's descriptions are far too large to keep in this repository or to
pull down every time we generate code, so we keep only the metadata we need
in `openapi_operations.yaml`.

### openapi_operations.yaml

Most contributors won't need to interact with `openapi_operations.yaml`, but it
may be useful to know what it is. Its sections are:

- `openapi_operations` - is the metadata that comes from GitHub's OpenAPI
  descriptions. It is generated by `script/metadata.sh update-openapi` and
  should not be edited by hand. In the rare case where it needs to be
  overridden, use the `operation_overrides` section instead.

  An operation consists of `name`, `documentation_url`,
  and `openapi_files`. `openapi_files` is the list of files where the operation
  is described. In order or preference, values can be "api.github.com.json" for
  operations available on the free plan, "ghec.json" for operations available on
  GitHub Enterprise Cloud or "ghes-<version>.json" for operations available on
  GitHub Enterprise Server. When an operation is described in multiple ghes
  files, only the most recent version is included. `documentation_url` is the
  URL that should be linked from godoc. It is the documentation link found in
  the first file listed in `openapi_files`.

- `openapi_commit` - is the git commit that `script/metadata.sh update-openapi`
  saw when it last updated `openapi_operations`. It is not necessarily the most
  recent commit seen because `update-openapi` doesn't update the file when
  there are no changes to `openapi_operations`.

- `operations` - contains manually added metadata that is not in GitHub's
  OpenAPI descriptions. There are only a few of these. Some have
  documentation_urls that point to relevant GitHub documentation that is not in
  the OpenAPI descriptions. Others have no documentation_url and result in a
  note in the generated code that the documentation is missing.

- `operation_overrides` - is where we override the documentation_url for
  operations where the link in the OpenAPI descriptions is wrong.

Please note that if your PR unit tests are failing due to an out-of-date
`openapi_operations.yaml` file, simply ask the maintainer(s) of this repo
to update it for you so that your PR doesn't need to include changes
to this auto-generated file.

### tools/metadata

The `tools/metadata` package is a command-line tool for working with metadata.
In a typical workflow, you won't use it directly, but you will use it indirectly
through `script/generate.sh` and `script/lint.sh`.

Its subcommands are:

- `update-openapi` - updates `openapi_operations.yaml` with the latest
  information from GitHub's OpenAPI descriptions. With `--validate` it will
  validate that the descriptions are correct as of the commit
  in `openapi_commit`. `update-openapi --validate` is called
  by `script/lint.sh`.

- `update-go` - updates Go files with documentation URLs and formats comments.
  It is used by `script/generate.sh`.

- `format` - formats white space in `openapi_operations.yaml` and sorts its
  arrays. It is used by `script/fmt.sh`.

- `unused` - lists operations from `openapi_operations.yaml` that are not mapped
  from any methods.

[OpenAPI descriptions of their API]: https://github.com/github/rest-api-description

## Scripts

The `script` directory has shell scripts that help with common development
tasks.

**script/fmt.sh** formats all Go code in the repository.

**script/generate.sh** runs code generators and `go mod tidy` on all modules. With
`--check` it checks that the generated files are current.

**script/lint.sh** runs linters on the project and checks generated files are
current.

**script/metadata.sh** runs `tools/metadata`. See the [Metadata](#metadata)
section for more information.

**script/test.sh** runs tests on all modules.

## Other notes on code organization

Currently, everything is defined in the main `github` package, with API methods
broken into separate service objects. These services map directly to how
the [GitHub API documentation][] is organized, so use that as your guide for
where to put new methods.

Code is organized in files also based pretty closely on the GitHub API
documentation, following the format `{service}_{api}.go`. For example, methods
defined at <https://docs.github.com/en/rest/webhooks/repos> live in
[repos_hooks.go][].

[GitHub API documentation]: https://docs.github.com/en/rest
[repos_hooks.go]: https://github.com/google/go-github/blob/master/github/repos_hooks.go

## Maintainer's Guide

(These notes are mostly only for people merging in pull requests.)

**Verify CLAs.** CLAs must be on file for the pull request submitter and commit
author(s). Google's CLA verification system should handle this automatically
and will set commit statuses as appropriate. If there's ever any question about
a pull request, ask [willnorris](https://github.com/willnorris).

**Always try to maintain a clean, linear git history.** With very few
exceptions, running `git log` should not show a bunch of branching and merging.

Never use the GitHub "merge" button, since it always creates a merge commit.
Instead, check out the pull request locally ([these git aliases
help][git-aliases]), then cherry-pick or rebase them onto master. If there are
small cleanup commits, especially as a result of addressing code review
comments, these should almost always be squashed down to a single commit. Don't
bother squashing commits that really deserve to be separate though. If needed,
feel free to amend additional small changes to the code or commit message that
aren't worth going through code review for.

If you made any changes like squashing commits, rebasing onto master, etc, then
GitHub won't recognize that this is the same commit in order to mark the pull
request as "merged". So instead, amend the commit message to include a line
"Fixes #0", referencing the pull request number. This would be in addition to
any other "Fixes" lines for closing related issues. If you forget to do this,
you can also leave a comment on the pull request [like this][rebase-comment].
If you made any other changes, it's worth noting that as well, [like
this][modified-comment].

[git-aliases]: https://github.com/willnorris/dotfiles/blob/d640d010c23b1116bdb3d4dc12088ed26120d87d/git/.gitconfig#L13-L15
[rebase-comment]: https://github.com/google/go-github/pull/277#issuecomment-183035491
[modified-comment]: https://github.com/google/go-github/pull/280#issuecomment-184859046

**When creating a release, don't forget to update the `Version` constant in `github.go`.** This is used to
send the version in the `User-Agent` header to identify clients to the GitHub API.


================================================
FILE: LICENSE
================================================
Copyright (c) 2013 The go-github AUTHORS. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


================================================
FILE: README.md
================================================
# go-github #

[![go-github release (latest SemVer)](https://img.shields.io/github/v/release/google/go-github?sort=semver)](https://github.com/google/go-github/releases)
[![Go Reference](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.com/google/go-github/v84/github)
[![Test Status](https://github.com/google/go-github/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/google/go-github/actions/workflows/tests.yml)
[![Test Coverage](https://codecov.io/gh/google/go-github/branch/master/graph/badge.svg)](https://codecov.io/gh/google/go-github)
[![Discuss at go-github@googlegroups.com](https://img.shields.io/badge/discuss-go--github%40googlegroups.com-blue.svg)](https://groups.google.com/group/go-github)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/796/badge)](https://bestpractices.coreinfrastructure.org/projects/796)

go-github is a Go client library for accessing the [GitHub API v3][].

go-github tracks [Go's version support policy][support-policy] supporting any
minor version of the latest two major releases of Go and the go directive in
go.mod reflects that.
We do our best not to break older versions of Go if we don't have to, but we
don't explicitly test older versions and as of Go 1.23 the go directive in
go.mod declares a hard required _minimum_ version of Go to use with this module
and this _must_ be greater than or equal to the go line of all dependencies so
go-github will require the N-1 major release of Go by default.

[support-policy]: https://golang.org/doc/devel/release.html#policy

## Development

If you're interested in using the [GraphQL API v4][], the recommended library is
[shurcooL/githubv4][].

## Installation ##

go-github is compatible with modern Go releases in module mode, with Go installed:

```bash
go get github.com/google/go-github/v84
```

will resolve and add the package to the current development module, along with its dependencies.

Alternatively the same can be achieved if you use import in a package:

```go
import "github.com/google/go-github/v84/github"
```

and run `go get` without parameters.

Finally, to use the top-of-trunk version of this repo, use the following command:

```bash
go get github.com/google/go-github/v84@master
```

To discover all the changes that have occurred since a prior release, you can
first clone the repo, then run (for example):

```bash
go run tools/gen-release-notes/main.go --tag v84.0.0
```

## Usage ##

```go
import "github.com/google/go-github/v84/github"
```

Construct a new GitHub client, then use the various services on the client to
access different parts of the GitHub API. For example:

```go
client := github.NewClient(nil)

// list all organizations for user "willnorris"
orgs, _, err := client.Organizations.List(context.Background(), "willnorris", nil)
```

Some API methods have optional parameters that can be passed. For example:

```go
client := github.NewClient(nil)

// list public repositories for org "github"
opt := &github.RepositoryListByOrgOptions{Type: "public"}
repos, _, err := client.Repositories.ListByOrg(context.Background(), "github", opt)
```

The services of a client divide the API into logical chunks and correspond to
the structure of the [GitHub API documentation](https://docs.github.com/en/rest).

NOTE: Using the [context](https://pkg.go.dev/context) package, one can easily
pass cancellation signals and deadlines to various services of the client for
handling a request. In case there is no context available, then `context.Background()`
can be used as a starting point.

For more sample code snippets, head over to the
[example](https://github.com/google/go-github/tree/master/example) directory.

### Authentication ###

Use the `WithAuthToken` method to configure your client to authenticate using an
OAuth token (for example, a [personal access token][]). This is what is needed
for a majority of use cases aside from GitHub Apps.

```go
client := github.NewClient(nil).WithAuthToken("... your access token ...")
```

Note that when using an authenticated Client, all calls made by the client will
include the specified OAuth token. Therefore, authenticated clients should
almost never be shared between different users.

For API methods that require HTTP Basic Authentication, use the
[`BasicAuthTransport`](https://pkg.go.dev/github.com/google/go-github/v84/github#BasicAuthTransport).

#### As a GitHub App ####

GitHub Apps authentication can be provided by different pkgs like [bradleyfalzon/ghinstallation](https://github.com/bradleyfalzon/ghinstallation)
or [jferrl/go-githubauth](https://github.com/jferrl/go-githubauth).

> **Note**: Most endpoints (ex. [`GET /rate_limit`]) require access token authentication
> while a few others (ex. [`GET /app/hook/deliveries`]) require [JWT] authentication.

[`GET /rate_limit`]: https://docs.github.com/en/rest/rate-limit#get-rate-limit-status-for-the-authenticated-user
[`GET /app/hook/deliveries`]: https://docs.github.com/en/rest/apps/webhooks#list-deliveries-for-an-app-webhook
[JWT]: https://docs.github.com/en/developers/apps/building-github-apps/authenticating-with-github-apps#authenticating-as-a-github-app

`ghinstallation` provides `Transport`, which implements `http.RoundTripper` to provide authentication as an installation for GitHub Apps.

Here is an example of how to authenticate as a GitHub App using the `ghinstallation` package:

```go
import (
	"net/http"

	"github.com/bradleyfalzon/ghinstallation/v2"
	"github.com/google/go-github/v84/github"
)

func main() {
	// Wrap the shared transport for use with the integration ID 1 authenticating with installation ID 99.
	itr, err := ghinstallation.NewKeyFromFile(http.DefaultTransport, 1, 99, "2016-10-19.private-key.pem")

	// Or for endpoints that require JWT authentication
	// itr, err := ghinstallation.NewAppsTransportKeyFromFile(http.DefaultTransport, 1, "2016-10-19.private-key.pem")

	if err != nil {
		// Handle error.
	}

	// Use installation transport with client.
	client := github.NewClient(&http.Client{Transport: itr})

	// Use client...
}
```

`go-githubauth` implements a set of `oauth2.TokenSource` to be used with `oauth2.Client`. An `oauth2.Client` can be injected into the `github.Client` to authenticate requests.

Another example using `go-githubauth`:

```go
package main

import (
	"context"
	"fmt"
	"os"
	"strconv"

	"github.com/google/go-github/v84/github"
	"github.com/jferrl/go-githubauth"
	"golang.org/x/oauth2"
)

func main() {
	privateKey := []byte(os.Getenv("GITHUB_APP_PRIVATE_KEY"))

	appTokenSource, err := githubauth.NewApplicationTokenSource(1112, privateKey)
	if err != nil {
		fmt.Println("Error creating application token source:", err)
		return
	 }

	installationTokenSource := githubauth.NewInstallationTokenSource(1113, appTokenSource)

	// oauth2.NewClient uses oauth2.ReuseTokenSource to reuse the token until it expires.
	// The token will be automatically refreshed when it expires.
	// InstallationTokenSource has the mechanism to refresh the token when it expires.
	httpClient := oauth2.NewClient(context.Background(), installationTokenSource)

	client := github.NewClient(httpClient)
}
```

*Note*: In order to interact with certain APIs, for example writing a file to a repo, one must generate an installation token
using the installation ID of the GitHub app and authenticate with the OAuth method mentioned above. See the examples.

### Rate Limiting ###

GitHub imposes rate limits on all API clients. The [primary rate limit](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-primary-rate-limits)
is the limit to the number of REST API requests that a client can make within a
specific amount of time. This limit helps prevent abuse and denial-of-service
attacks, and ensures that the API remains available for all users. Some
endpoints, like the search endpoints, have more restrictive limits.
Unauthenticated clients may request public data but have a low rate limit,
while authenticated clients have rate limits based on the client
identity.

In addition to primary rate limits, GitHub enforces [secondary rate limits](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api#about-secondary-rate-limits)
in order to prevent abuse and keep the API available for all users.
Secondary rate limits generally limit the number of concurrent requests that a
client can make.

The client returned `Response.Rate` value contains the rate limit information
from the most recent API call. If a recent enough response isn't
available, you can use the client `RateLimits` service to fetch the most
up-to-date rate limit data for the client.

To detect a primary API rate limit error, you can check if the error is a
`RateLimitError`.

```go
repos, _, err := client.Repositories.List(ctx, "", nil)
var rateErr *github.RateLimitError
if errors.As(err, &rateErr) {
	log.Printf("hit primary rate limit, used %v of %v\n", rateErr.Rate.Used, rateErr.Rate.Limit)
}
```

To detect an API secondary rate limit error, you can check if the error is an
`AbuseRateLimitError`.

```go
repos, _, err := client.Repositories.List(ctx, "", nil)
var rateErr *github.AbuseRateLimitError
if errors.As(err, &rateErr) {
	log.Printf("hit secondary rate limit, retry after %v\n", rateErr.RetryAfter)
}
```

If you hit the primary rate limit, you can use the `SleepUntilPrimaryRateLimitResetWhenRateLimited`
method to block until the rate limit is reset.

```go
repos, _, err := client.Repositories.List(context.WithValue(ctx, github.SleepUntilPrimaryRateLimitResetWhenRateLimited, true), "", nil)
```

If you need to make a request even if the rate limit has been hit you can use
the `BypassRateLimitCheck` method to bypass the rate limit check and make the
request anyway.

```go
repos, _, err := client.Repositories.List(context.WithValue(ctx, github.BypassRateLimitCheck, true), "", nil)
```

For more advanced use cases, you can use [gofri/go-github-ratelimit](https://github.com/gofri/go-github-ratelimit)
which provides a middleware (`http.RoundTripper`) that handles both the primary
rate limit and secondary rate limit for the GitHub API. In this case you can
set the client `DisableRateLimitCheck` to `true` so the client doesn't track the rate limit usage.

If the client is an [OAuth app](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api#primary-rate-limit-for-oauth-apps)
you can use the apps higher rate limit to request public data by using the
`UnauthenticatedRateLimitedTransport` to make calls as the app instead of as
the user.

### Accepted Status ###

Some endpoints may return a 202 Accepted status code, meaning that the
information required is not yet ready and was scheduled to be gathered on
the GitHub side. Methods known to behave like this are documented specifying
this behavior.

To detect this condition of error, you can check if its type is
`*github.AcceptedError`:

```go
stats, _, err := client.Repositories.ListContributorsStats(ctx, org, repo)
if errors.As(err, new(*github.AcceptedError)) {
	log.Println("scheduled on GitHub side")
}
```

### Conditional Requests ###

The GitHub REST API has good support for [conditional HTTP requests](https://docs.github.com/en/rest/using-the-rest-api/best-practices-for-using-the-rest-api?apiVersion=2022-11-28#use-conditional-requests-if-appropriate)
via the `ETag` header which will help prevent you from burning through your
rate limit, as well as help speed up your application. `go-github` does not
handle conditional requests directly, but is instead designed to work with a
caching `http.Transport`.

Typically, an [RFC 9111](https://datatracker.ietf.org/doc/html/rfc9111)
compliant HTTP cache such as [bartventer/httpcache](https://github.com/bartventer/httpcache)
is recommended, ex:

```go
import (
	"github.com/bartventer/httpcache"
	_ "github.com/bartventer/httpcache/store/memcache" //  Register the in-memory backend
)

client := github.NewClient(
	httpcache.NewClient("memcache://"),
).WithAuthToken(os.Getenv("GITHUB_TOKEN"))
```

Alternatively, the [bored-engineer/github-conditional-http-transport](https://github.com/bored-engineer/github-conditional-http-transport)
package relies on (undocumented) GitHub specific cache logic and is
recommended when making requests using short-lived credentials such as a
[GitHub App installation token](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation).

### Creating and Updating Resources ###

All structs for GitHub resources use pointer values for all non-repeated fields.
This allows distinguishing between unset fields and those set to a zero-value.
Helper functions have been provided to easily create these pointers for string,
bool, and int values. For example:

```go
// create a new private repository named "foo"
repo := &github.Repository{
	Name:    github.Ptr("foo"),
	Private: github.Ptr(true),
}
client.Repositories.Create(ctx, "", repo)
```

Users who have worked with protocol buffers should find this pattern familiar.

### Pagination ###

All requests for resource collections (repos, pull requests, issues, etc.)
support pagination. Pagination options using page numbers are described in the
`github.ListOptions` struct and passed to the list methods directly or as an
embedded type of a more specific list options struct (for example
`github.PullRequestListOptions`). Pages information is available via the
`github.Response` struct.

```go
client := github.NewClient(nil)

opt := &github.RepositoryListByOrgOptions{
	ListOptions: github.ListOptions{PerPage: 10},
}
// get all pages of results
var allRepos []*github.Repository
for {
	repos, resp, err := client.Repositories.ListByOrg(ctx, "github", opt)
	if err != nil {
		return err
	}
	allRepos = append(allRepos, repos...)
	if resp.NextPage == 0 {
		break
	}
	opt.Page = resp.NextPage
}
```

Pagination options using string cursors are described in the `github.ListCursorOptions`
struct and passed to the list methods directly or as an
embedded type of a more specific list cursor options struct (for example
`github.ListGlobalSecurityAdvisoriesOptions`). Similarly, cursor and pages information
is available via the `github.Response` struct.

#### Iterators ####

Go v1.23 introduces the new `iter` package.

The new `github/gen-iterators.go` file auto-generates "*Iter" methods in `github/github-iterators.go`
for all methods that support page number iteration (using the `NextPage` field in each response)
or string cursor iteration (using the `After` field in each response).
To handle rate limiting issues, make sure to use a rate-limiting transport.
(See [Rate Limiting](/#rate-limiting) above for more details.)
To use these methods, simply create an iterator and then range over it, for example:

```go
client := github.NewClient(nil)
var allRepos []*github.Repository

// create an iterator and start looping through all the results
iter := client.Repositories.ListIter(ctx, "github", nil)
for repo, err := range iter {
	if err != nil {
		log.Fatal(err)
	}
	allRepos = append(allRepos, repo)
}
```

Alternatively, if you wish to use an external package, there is `enrichman/gh-iter`.
Its iterator will handle pagination for you, looping through all the available results.

```go
client := github.NewClient(nil)
var allRepos []*github.Repository

// create an iterator and start looping through all the results
repos := ghiter.NewFromFn1(client.Repositories.ListByOrg, "github")
for repo := range repos.All() {
	allRepos = append(allRepos, repo)
}
```

For complete usage of `enrichman/gh-iter`, see the full [package docs](https://github.com/enrichman/gh-iter).

#### Middleware ####

You can use [gofri/go-github-pagination](https://github.com/gofri/go-github-pagination) to handle
pagination for you. It supports both sync and async modes, as well as customizations.
By default, the middleware automatically paginates through all pages, aggregates results, and returns them as an array.
See `example/ratelimit/main.go` for usage.

### Webhooks ###

`go-github` provides structs for almost all [GitHub webhook events][] as well as functions to validate them and unmarshal JSON payloads from `http.Request` structs.

```go
func (s *GitHubEventMonitor) ServeHTTP(w http.ResponseWriter, r *http.Request) {
	payload, err := github.ValidatePayload(r, s.webhookSecretKey)
	if err != nil { ... }
	event, err := github.ParseWebHook(github.WebHookType(r), payload)
	if err != nil { ... }
	switch event := event.(type) {
	case *github.CommitCommentEvent:
		processCommitCommentEvent(event)
	case *github.CreateEvent:
		processCreateEvent(event)
	...
	}
}
```

Furthermore, there are libraries like [cbrgm/githubevents][] that build upon the example above and provide functions to subscribe callbacks to specific events.

For complete usage of go-github, see the full [package docs][].

[GitHub API v3]: https://docs.github.com/en/rest
[personal access token]: https://github.com/blog/1509-personal-api-tokens
[package docs]: https://pkg.go.dev/github.com/google/go-github/v84/github
[GraphQL API v4]: https://developer.github.com/v4/
[shurcooL/githubv4]: https://github.com/shurcooL/githubv4
[GitHub webhook events]: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads
[cbrgm/githubevents]: https://github.com/cbrgm/githubevents

### Testing code that uses `go-github` ###

The repo [migueleliasweb/go-github-mock](https://github.com/migueleliasweb/go-github-mock) provides a way to mock responses. Check the repo for more details.

### Integration Tests ###

You can run integration tests from the `test` directory. See the integration tests [README](test/README.md).

## Contributing ##

I would like to cover the entire GitHub API and contributions are of course always welcome. The
calling pattern is pretty well established, so adding new methods is relatively
straightforward. See [`CONTRIBUTING.md`](CONTRIBUTING.md) for details.

## Versioning ##

In general, go-github follows [semver](https://semver.org/) as closely as we
can for tagging releases of the package. For self-contained libraries, the
application of semantic versioning is relatively straightforward and generally
understood. But because go-github is a client library for the GitHub API, which
itself changes behavior, and because we are typically pretty aggressive about
implementing preview features of the GitHub API, we've adopted the following
versioning policy:

* We increment the **major version** with any incompatible change to
	non-preview functionality, including changes to the exported Go API surface
	or behavior of the API.
* We increment the **minor version** with any backwards-compatible changes to
	functionality, as well as any changes to preview functionality in the GitHub
	API. GitHub makes no guarantee about the stability of preview functionality,
	so neither do we consider it a stable part of the go-github API.
* We increment the **patch version** with any backwards-compatible bug fixes.

Preview functionality may take the form of entire methods or simply additional
data returned from an otherwise non-preview method. Refer to the GitHub API
documentation for details on preview functionality.

### Calendar Versioning ###

As of 2022-11-28, GitHub [has announced](https://github.blog/2022-11-28-to-infinity-and-beyond-enabling-the-future-of-githubs-rest-api-with-api-versioning/)
that they are starting to version their v3 API based on "calendar-versioning".

In practice, our goal is to make per-method version overrides (at
least in the core library) rare and temporary.

Our understanding of the GitHub docs is that they will be revving the
entire API to each new date-based version, even if only a few methods
have breaking changes. Other methods will accept the new version with
their existing functionality. So when a new date-based version of the
GitHub API is released, we (the repo maintainers) plan to:

* update each method that had breaking changes, overriding their
  per-method API version header. This may happen in one or multiple
  commits and PRs, and is all done in the main branch.

* once all of the methods with breaking changes have been updated,
  have a final commit that bumps the default API version, and remove
  all of the per-method overrides. That would now get a major version
  bump when the next go-github release is made.

### Version Compatibility Table ###

The following table identifies which version of the GitHub API is
supported by this (and past) versions of this repo (go-github).
Versions prior to 48.2.0 are not listed.

| go-github Version | GitHub v3 API Version |
| ----------------- | --------------------- |
| 84.0.0            | 2022-11-28            |
| ...               | 2022-11-28            |
| 48.2.0            | 2022-11-28            |

## License ##

This library is distributed under the BSD-style license found in the [LICENSE](./LICENSE)
file.


================================================
FILE: REVIEWERS
================================================
stevehipwell
alexandear
zyfy29
Not-Dhananjay-Mishra
munlicode


================================================
FILE: example/actionpermissions/main.go
================================================
// Copyright 2022 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The actionpermissions command utilizes go-github as a cli tool for
// changing GitHub Actions related permission settings for a repository.
package main

import (
	"context"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
)

var (
	name  = flag.String("name", "", "repo to change Actions permissions.")
	owner = flag.String("owner", "", "owner of targeted repo.")
)

func main() {
	flag.Parse()
	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("Unauthorized: No token present")
	}
	if *name == "" {
		log.Fatal("No name: repo name must be given")
	}
	if *owner == "" {
		log.Fatal("No owner: owner of repo must be given")
	}
	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	actionsPermissionsRepository, _, err := client.Repositories.GetActionsPermissions(ctx, *owner, *name)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Current ActionsPermissions %v\n", actionsPermissionsRepository)

	actionsPermissionsRepository = &github.ActionsPermissionsRepository{Enabled: github.Ptr(true), AllowedActions: github.Ptr("selected")}
	_, _, err = client.Repositories.UpdateActionsPermissions(ctx, *owner, *name, *actionsPermissionsRepository)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Current ActionsPermissions %v\n", actionsPermissionsRepository)

	actionsAllowed, _, err := client.Repositories.GetActionsAllowed(ctx, *owner, *name)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Current ActionsAllowed %v\n", actionsAllowed)

	actionsAllowed = &github.ActionsAllowed{GithubOwnedAllowed: github.Ptr(true), VerifiedAllowed: github.Ptr(false), PatternsAllowed: []string{"a/b"}}
	_, _, err = client.Repositories.EditActionsAllowed(ctx, *owner, *name, *actionsAllowed)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Current ActionsAllowed %v\n", actionsAllowed)

	actionsPermissionsRepository = &github.ActionsPermissionsRepository{Enabled: github.Ptr(true), AllowedActions: github.Ptr("all")}
	_, _, err = client.Repositories.UpdateActionsPermissions(ctx, *owner, *name, *actionsPermissionsRepository)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Current ActionsPermissions %v\n", actionsPermissionsRepository)
}


================================================
FILE: example/appengine/app.go
================================================
// Copyright 2017 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Package demo provides an app that shows how to use the github package on
// Google App Engine.
package demo

import (
	"fmt"
	"net/http"
	"os"

	"github.com/google/go-github/v84/github"
	"google.golang.org/appengine"
	"google.golang.org/appengine/log"
)

func init() {
	http.HandleFunc("/", handler)
}

func handler(w http.ResponseWriter, r *http.Request) {
	if r.URL.Path != "/" {
		http.NotFound(w, r)
		return
	}

	ctx := appengine.NewContext(r)
	client := github.NewClient(nil).WithAuthToken(os.Getenv("GITHUB_AUTH_TOKEN"))

	commits, _, err := client.Repositories.ListCommits(ctx, "google", "go-github", nil)
	if err != nil {
		log.Errorf(ctx, "ListCommits: %v", err)
		http.Error(w, err.Error(), http.StatusInternalServerError)
		return
	}

	w.Header().Set("Content-Type", "text/plain; charset=utf-8")
	for _, commit := range commits {
		fmt.Fprintln(w, commit.GetHTMLURL())
	}
}


================================================
FILE: example/appengine/app.yaml
================================================
# Copyright 2017 The go-github AUTHORS. All rights reserved.
#
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

runtime: go
api_version: go1

handlers:
- url: /.*
  script: _go_app

env_variables:
  GITHUB_AUTH_TOKEN: "-your-auth-token-here-"


================================================
FILE: example/auditlogstream/main.go
================================================
// Copyright 2026 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The auditlogstream command demonstrates managing enterprise audit log
// streams for Azure Blob Storage using the go-github library.
//
// The GitHub API base URL is read from the GITHUB_API_URL environment
// variable. When running inside a GitHub Actions workflow this is set
// automatically.
//
// Usage — create:
//
//	export GITHUB_AUTH_TOKEN=<your token>
//	export GITHUB_API_URL=https://api.<domain>.ghe.com/ or https://domain/api/v3/
//	go run main.go create \
//	  -enterprise=my-enterprise \
//	  -container=my-container \
//	  -sas-url=<plain-text-sas-url>
//
// Usage — delete:
//
//	export GITHUB_AUTH_TOKEN=<your token>
//	export GITHUB_API_URL=https://api.<domain>.ghe.com/ or https://domain/api/v3/
//	go run main.go delete \
//	  -enterprise=my-enterprise \
//	  -stream-id=42
package main

import (
	"context"
	"crypto/rand"
	"encoding/base64"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
	"golang.org/x/crypto/nacl/box"
)

// encryptSecret encrypts a plain-text secret using libsodium's sealed box
// (crypto_box_seal), which is what GitHub's API expects for encrypted credentials.
func encryptSecret(publicKeyB64, secret string) (string, error) {
	publicKeyBytes, err := base64.StdEncoding.DecodeString(publicKeyB64)
	if err != nil {
		return "", fmt.Errorf("decoding public key: %w", err)
	}
	if len(publicKeyBytes) != 32 {
		return "", fmt.Errorf("public key must be 32 bytes, got %v", len(publicKeyBytes))
	}
	publicKey := [32]byte(publicKeyBytes)

	encrypted, err := box.SealAnonymous(nil, []byte(secret), &publicKey, rand.Reader)
	if err != nil {
		return "", fmt.Errorf("encrypting secret: %w", err)
	}

	return base64.StdEncoding.EncodeToString(encrypted), nil
}

func main() {
	if len(os.Args) < 2 {
		fmt.Fprintf(os.Stderr, "Usage: %v <create|delete> [flags]\n", os.Args[0])
		os.Exit(1)
	}

	switch os.Args[1] {
	case "create":
		runCreate(os.Args[2:])
	case "delete":
		runDelete(os.Args[2:])
	default:
		fmt.Fprintf(os.Stderr, "Unknown command %q. Must be one of: create, delete\n", os.Args[1])
		os.Exit(1)
	}
}

// newFlagSet creates a FlagSet with the common -enterprise flag pre-registered.
func newFlagSet(name string) (*flag.FlagSet, *string) {
	fs := flag.NewFlagSet(name, flag.ExitOnError)
	enterprise := fs.String("enterprise", "", "Enterprise slug (required).")
	return fs, enterprise
}

// parseAndInit parses the FlagSet, validates the enterprise flag, reads
// environment variables, and returns a ready-to-use context, client, and
// enterprise slug.
func parseAndInit(fs *flag.FlagSet, enterprise *string, args []string) (context.Context, *github.Client, string) {
	if err := fs.Parse(args); err != nil {
		log.Fatalf("Error parsing flags: %v", err)
	}

	requireFlag("enterprise", *enterprise)

	token := requireEnv("GITHUB_AUTH_TOKEN")
	apiURL := requireEnv("GITHUB_API_URL")

	return context.Background(), newClient(token, apiURL), *enterprise
}

func runCreate(args []string) {
	fs, enterprise := newFlagSet("create")
	container := fs.String("container", "", "Azure Blob Storage container name (required).")
	sasURL := fs.String("sas-url", "", "Plain-text Azure SAS URL to encrypt and submit (required).")
	enabled := fs.Bool("enabled", true, "Whether the stream should be enabled immediately.")

	ctx, client, ent := parseAndInit(fs, enterprise, args)
	requireFlag("container", *container)
	requireFlag("sas-url", *sasURL)

	streamKey, _, err := client.Enterprise.GetAuditLogStreamKey(ctx, ent)
	if err != nil {
		log.Fatalf("Error fetching audit log stream key: %v", err)
	}
	fmt.Printf("Retrieved stream key ID: %v\n", streamKey.KeyID)

	encryptedSASURL, err := encryptSecret(streamKey.Key, *sasURL)
	if err != nil {
		log.Fatalf("Error encrypting SAS URL: %v", err)
	}
	fmt.Println("SAS URL encrypted successfully.")

	config := github.NewAzureBlobStreamConfig(*enabled, &github.AzureBlobConfig{
		KeyID:           streamKey.KeyID,
		Container:       *container,
		EncryptedSASURL: encryptedSASURL,
	})

	stream, _, err := client.Enterprise.CreateAuditLogStream(ctx, ent, *config)
	if err != nil {
		log.Fatalf("Error creating audit log stream: %v", err)
	}

	fmt.Println("Successfully created audit log stream:")
	fmt.Printf("  ID:         %v\n", stream.ID)
	fmt.Printf("  Type:       %v\n", stream.StreamType)
	fmt.Printf("  Enabled:    %v\n", stream.Enabled)
	fmt.Printf("  Created at: %v\n", stream.CreatedAt)
}

func runDelete(args []string) {
	fs, enterprise := newFlagSet("delete")
	streamID := fs.Int64("stream-id", 0, "ID of the audit log stream to delete (required).")

	ctx, client, ent := parseAndInit(fs, enterprise, args)
	requireIntFlag("stream-id", *streamID)

	_, err := client.Enterprise.DeleteAuditLogStream(ctx, ent, *streamID)
	if err != nil {
		log.Fatalf("Error deleting audit log stream: %v", err)
	}

	fmt.Printf("Successfully deleted audit log stream %v.\n", *streamID)
}

func newClient(token, apiURL string) *github.Client {
	client, err := github.NewClient(nil).WithAuthToken(token).WithEnterpriseURLs(apiURL, apiURL)
	if err != nil {
		log.Fatalf("Error creating GitHub client: %v", err)
	}
	return client
}

func requireEnv(name string) string {
	val := os.Getenv(name)
	if val == "" {
		log.Fatalf("environment variable %v is not set", name)
	}
	return val
}

func requireFlag(name, val string) {
	if val == "" {
		log.Fatalf("flag -%v is required", name)
	}
}

func requireIntFlag(name string, val int64) {
	if val == 0 {
		log.Fatalf("flag -%v is required", name)
	}
}


================================================
FILE: example/basicauth/main.go
================================================
// Copyright 2015 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The basicauth command demonstrates using the github.BasicAuthTransport,
// including handling two-factor authentication. This won't currently work for
// accounts that use SMS to receive one-time passwords.
//
// Deprecation Notice: GitHub will discontinue password authentication to the API.
// You must now authenticate to the GitHub API with an API token, such as an OAuth access token,
// GitHub App installation access token, or personal access token, depending on what you need to do with the token.
// Password authentication to the API will be removed on November 13, 2020.
// See the tokenauth example for details.
package main

import (
	"bufio"
	"context"
	"errors"
	"fmt"
	"os"
	"strings"

	"github.com/google/go-github/v84/github"
	"golang.org/x/term"
)

func main() {
	r := bufio.NewReader(os.Stdin)
	fmt.Print("GitHub Username: ")
	username, _ := r.ReadString('\n')

	fmt.Print("GitHub Password: ")
	password, _ := term.ReadPassword(int(os.Stdin.Fd()))

	tp := github.BasicAuthTransport{
		Username: strings.TrimSpace(username),
		Password: strings.TrimSpace(string(password)),
	}

	client := github.NewClient(tp.Client())
	ctx := context.Background()
	user, _, err := client.Users.Get(ctx, "")

	// Is this a two-factor auth error? If so, prompt for OTP and try again.
	if errors.As(err, new(*github.TwoFactorAuthError)) {
		fmt.Print("\nGitHub OTP: ")
		otp, _ := r.ReadString('\n')
		tp.OTP = strings.TrimSpace(otp)
		user, _, err = client.Users.Get(ctx, "")
	}

	if err != nil {
		fmt.Printf("\nerror: %v\n", err)
		return
	}

	fmt.Printf("\n%v\n", github.Stringify(user))
}


================================================
FILE: example/codespaces/newreposecretwithxcrypto/main.go
================================================
// Copyright 2023 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// newreposecretwithxcrypto creates a new secret in GitHub for a given owner/repo.
// newreposecretwithxcrypto uses x/crypto/nacl/box instead of sodium.
// It does not depend on any native libraries and is easier to cross-compile for different platforms.
// Quite possibly there is a performance penalty due to this.
//
// newreposecretwithxcrypto has two required flags for owner and repo, and takes in one argument for the name of the secret to add.
// The secret value is pulled from an environment variable based on the secret name.
// To authenticate with GitHub, provide your token via an environment variable GITHUB_AUTH_TOKEN.
//
// To verify the new secret, navigate to GitHub Repository > Settings > left side options bar > Secrets.
//
// Usage:
//
//	export GITHUB_AUTH_TOKEN=<auth token from github that has secret create rights>
//	export SECRET_VARIABLE=<secret value of the secret variable>
//	go run main.go -owner <owner name> -repo <repository name> SECRET_VARIABLE
//
// Example:
//
//	export GITHUB_AUTH_TOKEN=0000000000000000
//	export SECRET_VARIABLE="my-secret"
//	go run main.go -owner google -repo go-github SECRET_VARIABLE
package main

import (
	"context"
	crypto_rand "crypto/rand"
	"encoding/base64"
	"errors"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
	"golang.org/x/crypto/nacl/box"
)

var (
	repo  = flag.String("repo", "", "The repo that the secret should be added to, ex. go-github")
	owner = flag.String("owner", "", "The owner of there repo this should be added to, ex. google")
)

func main() {
	flag.Parse()

	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("please provide a GitHub API token via env variable GITHUB_AUTH_TOKEN")
	}

	if *repo == "" {
		log.Fatal("please provide required flag --repo to specify GitHub repository ")
	}

	if *owner == "" {
		log.Fatal("please provide required flag --owner to specify GitHub user/org owner")
	}

	secretName, err := getSecretName()
	if err != nil {
		log.Fatal(err)
	}

	secretValue, err := getSecretValue(secretName)
	if err != nil {
		log.Fatal(err)
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	if err := addRepoSecret(ctx, client, *owner, *repo, secretName, secretValue); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Added secret %q to the repo %v/%v\n", secretName, *owner, *repo)
}

func getSecretName() (string, error) {
	secretName := flag.Arg(0)
	if secretName == "" {
		return "", errors.New("missing argument secret name")
	}
	return secretName, nil
}

func getSecretValue(secretName string) (string, error) {
	secretValue := os.Getenv(secretName)
	if secretValue == "" {
		return "", fmt.Errorf("secret value not found under env variable %q", secretName)
	}
	return secretValue, nil
}

// addRepoSecret will add a secret to a GitHub repo for use in GitHub Codespaces.
//
// The secretName and secretValue will determine the name of the secret added and it's corresponding value.
//
// The actual transmission of the secret value to GitHub using the api requires that the secret value is encrypted
// using the public key of the target repo. This encryption is done using x/crypto/nacl/box.
//
// First, the public key of the repo is retrieved. The public key comes base64
// encoded, so it must be decoded prior to use.
//
// Second, the decode key is converted into a fixed size byte array.
//
// Third, the secret value is converted into a slice of bytes.
//
// Fourth, the secret is encrypted with box.SealAnonymous using the repo's decoded public key.
//
// Fifth, the encrypted secret is encoded as a base64 string to be used in a github.EncodedSecret type.
//
// Sixth, The other two properties of the github.EncodedSecret type are determined. The name of the secret to be added
// (string not base64), and the KeyID of the public key used to encrypt the secret.
// This can be retrieved via the public key's GetKeyID method.
//
// Finally, the github.EncodedSecret is passed into the GitHub client.Codespaces.CreateOrUpdateRepoSecret method to
// populate the secret in the GitHub repo.
func addRepoSecret(ctx context.Context, client *github.Client, owner, repo, secretName, secretValue string) error {
	publicKey, _, err := client.Codespaces.GetRepoPublicKey(ctx, owner, repo)
	if err != nil {
		return err
	}

	encryptedSecret, err := encryptSecretWithPublicKey(publicKey, secretName, secretValue)
	if err != nil {
		return err
	}

	if _, err := client.Codespaces.CreateOrUpdateRepoSecret(ctx, owner, repo, encryptedSecret); err != nil {
		return fmt.Errorf("client.Codespaces.CreateOrUpdateRepoSecret returned error: %v", err)
	}

	return nil
}

func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName, secretValue string) (*github.EncryptedSecret, error) {
	decodedPublicKey, err := base64.StdEncoding.DecodeString(publicKey.GetKey())
	if err != nil {
		return nil, fmt.Errorf("unable to decode public key: %v", err)
	}

	var boxKey [32]byte
	copy(boxKey[:], decodedPublicKey)
	encryptedBytes, err := box.SealAnonymous([]byte{}, []byte(secretValue), &boxKey, crypto_rand.Reader)
	if err != nil {
		return nil, fmt.Errorf("box.SealAnonymous failed with error %w", err)
	}

	encryptedString := base64.StdEncoding.EncodeToString(encryptedBytes)
	keyID := publicKey.GetKeyID()
	encryptedSecret := &github.EncryptedSecret{
		Name:           secretName,
		KeyID:          keyID,
		EncryptedValue: encryptedString,
	}
	return encryptedSecret, nil
}


================================================
FILE: example/codespaces/newusersecretwithxcrypto/main.go
================================================
// Copyright 2023 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// newusersecretwithxcrypto creates a new secret in GitHub for a given user.
// newusersecretwithxcrypto uses x/crypto/nacl/box instead of sodium.
// It does not depend on any native libraries and is easier to cross-compile for different platforms.
// Quite possibly there is a performance penalty due to this.
//
// newusersecretwithxcrypto takes in one argument for the name of the secret to add, and 2 flags owner, repo.
// If owner/repo are defined then it adds the secret to that repository
// The secret value is pulled from an environment variable based on the secret name.
// To authenticate with GitHub, provide your token via an environment variable GITHUB_AUTH_TOKEN.
//
// To verify the new secret, navigate to GitHub User > Settings > left side options bar > Codespaces > Secrets.
//
// Usage:
//
//	export GITHUB_AUTH_TOKEN=<auth token from github that has secret create rights>
//	export SECRET_VARIABLE=<secret value of the secret variable>
//	go run main.go SECRET_VARIABLE
//
// Example:
//
//	export GITHUB_AUTH_TOKEN=0000000000000000
//	export SECRET_VARIABLE="my-secret"
//	go run main.go SECRET_VARIABLE
package main

import (
	"context"
	crypto_rand "crypto/rand"
	"encoding/base64"
	"errors"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
	"golang.org/x/crypto/nacl/box"
)

var (
	repo  = flag.String("repo", "", "The repo that the secret should be added to, ex. go-github")
	owner = flag.String("owner", "", "The owner of there repo this should be added to, ex. google")
)

func main() {
	flag.Parse()

	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("please provide a GitHub API token via env variable GITHUB_AUTH_TOKEN")
	}

	secretName, err := getSecretName()
	if err != nil {
		log.Fatal(err)
	}

	secretValue, err := getSecretValue(secretName)
	if err != nil {
		log.Fatal(err)
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	if err := addUserSecret(ctx, client, secretName, secretValue, *owner, *repo); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Added secret %q to the authenticated user\n", secretName)
}

func getSecretName() (string, error) {
	secretName := flag.Arg(0)
	if secretName == "" {
		return "", errors.New("missing argument secret name")
	}
	return secretName, nil
}

func getSecretValue(secretName string) (string, error) {
	secretValue := os.Getenv(secretName)
	if secretValue == "" {
		return "", fmt.Errorf("secret value not found under env variable %q", secretName)
	}
	return secretValue, nil
}

// addUserSecret will add a secret to a GitHub user for use in GitHub Codespaces.
//
// The secretName and secretValue will determine the name of the secret added and it's corresponding value.
//
// The actual transmission of the secret value to GitHub using the api requires that the secret value is encrypted
// using the public key of the target user. This encryption is done using x/crypto/nacl/box.
//
// First, the public key of the user is retrieved. The public key comes base64
// encoded, so it must be decoded prior to use.
//
// Second, the decode key is converted into a fixed size byte array.
//
// Third, the secret value is converted into a slice of bytes.
//
// Fourth, the secret is encrypted with box.SealAnonymous using the user's decoded public key.
//
// Fifth, the encrypted secret is encoded as a base64 string to be used in a github.EncodedSecret type.
//
// Sixth, The other two properties of the github.EncodedSecret type are determined. The name of the secret to be added
// (string not base64), and the KeyID of the public key used to encrypt the secret.
// This can be retrieved via the public key's GetKeyID method.
//
// Seventh, the github.EncodedSecret is passed into the GitHub client.Codespaces.CreateOrUpdateUserSecret method to
// populate the secret in the GitHub user.
//
// Finally, if a repo and owner are passed in, it adds the repo to the user secret.
func addUserSecret(ctx context.Context, client *github.Client, secretName, secretValue, owner, repo string) error {
	publicKey, _, err := client.Codespaces.GetUserPublicKey(ctx)
	if err != nil {
		return err
	}

	encryptedSecret, err := encryptSecretWithPublicKey(publicKey, secretName, secretValue)
	if err != nil {
		return err
	}

	if _, err := client.Codespaces.CreateOrUpdateUserSecret(ctx, encryptedSecret); err != nil {
		return fmt.Errorf("client.Codespaces.CreateOrUpdateUserSecret returned error: %v", err)
	}

	if owner != "" && repo != "" {
		r, _, err := client.Repositories.Get(ctx, owner, repo)
		if err != nil {
			return fmt.Errorf("client.Repositories.Get returned error: %v", err)
		}
		_, err = client.Codespaces.AddSelectedRepoToUserSecret(ctx, encryptedSecret.Name, r)
		if err != nil {
			return fmt.Errorf("client.Codespaces.AddSelectedRepoToUserSecret returned error: %v", err)
		}
		fmt.Printf("Added secret %q to %v/%v\n", secretName, owner, repo)
	}

	return nil
}

func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName, secretValue string) (*github.EncryptedSecret, error) {
	decodedPublicKey, err := base64.StdEncoding.DecodeString(publicKey.GetKey())
	if err != nil {
		return nil, fmt.Errorf("base64.StdEncoding.DecodeString was unable to decode public key: %v", err)
	}

	var boxKey [32]byte
	copy(boxKey[:], decodedPublicKey)
	encryptedBytes, err := box.SealAnonymous([]byte{}, []byte(secretValue), &boxKey, crypto_rand.Reader)
	if err != nil {
		return nil, fmt.Errorf("box.SealAnonymous failed with error %w", err)
	}

	encryptedString := base64.StdEncoding.EncodeToString(encryptedBytes)
	keyID := publicKey.GetKeyID()
	encryptedSecret := &github.EncryptedSecret{
		Name:           secretName,
		KeyID:          keyID,
		EncryptedValue: encryptedString,
	}
	return encryptedSecret, nil
}


================================================
FILE: example/commitpr/main.go
================================================
// Copyright 2018 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The commitpr command utilizes go-github as a CLI tool for
// pushing files to a branch and creating a pull request from it.
// It takes an auth token as an environment variable and creates
// the commit and the PR under the account affiliated with that token.
//
// The purpose of this example is to show how to use refs, trees and commits to
// create commits and pull requests.
//
// Note, if you want to push a single file, you probably prefer to use the
// content API. An example is available here:
// https://pkg.go.dev/github.com/google/go-github/v84/github#example-RepositoriesService-CreateFile
//
// Note, for this to work at least 1 commit is needed, so you if you use this
// after creating a repository you might want to make sure you set `AutoInit` to
// `true`.
package main

import (
	"bytes"
	"context"
	"errors"
	"flag"
	"fmt"
	"io"
	"log"
	"os"
	"strings"
	"time"

	"github.com/ProtonMail/go-crypto/openpgp"
	"github.com/google/go-github/v84/github"
)

var (
	sourceOwner   = flag.String("source-owner", "", "Name of the owner (user or org) of the repo to create the commit in.")
	sourceRepo    = flag.String("source-repo", "", "Name of repo to create the commit in.")
	commitMessage = flag.String("commit-message", "", "Content of the commit message.")
	commitBranch  = flag.String("commit-branch", "", "Name of branch to create the commit in. If it does not already exists, it will be created using the `base-branch` parameter")
	repoBranch    = flag.String("repo-branch", "", "Name of the repository where the changes in the pull request were made. This field is required for cross-repository pull requests if both repositories are owned by the same organization")
	baseBranch    = flag.String("base-branch", "master", "Name of branch to create the `commit-branch` from.")
	prRepoOwner   = flag.String("merge-repo-owner", "", "Name of the owner (user or org) of the repo to create the PR against. If not specified, the value of the `-source-owner` flag will be used.")
	prRepo        = flag.String("merge-repo", "", "Name of repo to create the PR against. If not specified, the value of the `-source-repo` flag will be used.")
	prBranch      = flag.String("merge-branch", "master", "Name of branch to create the PR against (the one you want to merge your branch in via the PR).")
	prSubject     = flag.String("pr-title", "", "Title of the pull request. If not specified, no pull request will be created.")
	prDescription = flag.String("pr-text", "", "Text to put in the description of the pull request.")
	sourceFiles   = flag.String("files", "", `Comma-separated list of files to commit and their location.
The local file is separated by its target location by a semi-colon.
If the file should be in the same location with the same name, you can just put the file name and omit the repetition.
Example: README.md,main.go:github/examples/commitpr/main.go`)
	authorName  = flag.String("author-name", "", "Name of the author of the commit.")
	authorEmail = flag.String("author-email", "", "Email of the author of the commit.")
	privateKey  = flag.String("private-key", "", "Path to the private key to use to sign the commit.")
)

var (
	client *github.Client
	ctx    = context.Background()
)

// getRef returns the commit branch reference object if it exists or creates it
// from the base branch before returning it.
func getRef() (ref *github.Reference, err error) {
	if ref, _, err = client.Git.GetRef(ctx, *sourceOwner, *sourceRepo, branchRef(*commitBranch)); err == nil {
		return ref, nil
	}

	// We consider that an error means the branch has not been found and needs to
	// be created.
	if *commitBranch == *baseBranch {
		return nil, errors.New("the commit branch does not exist but `-base-branch` is the same as `-commit-branch`")
	}

	if *baseBranch == "" {
		return nil, errors.New("the `-base-branch` should not be set to an empty string when the branch specified by `-commit-branch` does not exists")
	}

	var baseRef *github.Reference
	if baseRef, _, err = client.Git.GetRef(ctx, *sourceOwner, *sourceRepo, branchRef(*baseBranch)); err != nil {
		return nil, err
	}
	newRef := github.CreateRef{Ref: branchRef(*commitBranch), SHA: *baseRef.Object.SHA}
	ref, _, err = client.Git.CreateRef(ctx, *sourceOwner, *sourceRepo, newRef)
	return ref, err
}

// branchRef generates the fully qualified git reference for the given branch name.
func branchRef(name string) string {
	return "refs/heads/" + name
}

// getTree generates the tree to commit based on the given files and the commit
// of the ref you got in getRef.
func getTree(ref *github.Reference) (tree *github.Tree, err error) {
	// Create a tree with what to commit.
	entries := []*github.TreeEntry{}

	// Load each file into the tree.
	for fileArg := range strings.SplitSeq(*sourceFiles, ",") {
		file, content, err := getFileContent(fileArg)
		if err != nil {
			return nil, err
		}
		entries = append(entries, &github.TreeEntry{Path: github.Ptr(file), Type: github.Ptr("blob"), Content: github.Ptr(string(content)), Mode: github.Ptr("100644")})
	}

	tree, _, err = client.Git.CreateTree(ctx, *sourceOwner, *sourceRepo, *ref.Object.SHA, entries)
	return tree, err
}

// getFileContent loads the local content of a file and return the target name
// of the file in the target repository and its contents.
func getFileContent(fileArg string) (targetName string, b []byte, err error) {
	var localFile string
	files := strings.Split(fileArg, ":")
	switch {
	case len(files) < 1:
		return "", nil, errors.New("empty `-files` parameter")
	case len(files) == 1:
		localFile = files[0]
		targetName = files[0]
	default:
		localFile = files[0]
		targetName = files[1]
	}

	b, err = os.ReadFile(localFile)
	return targetName, b, err
}

// pushCommit creates the commit in the given reference using the given tree.
func pushCommit(ref *github.Reference, tree *github.Tree) (err error) {
	// Get the parent commit to attach the commit to.
	parent, _, err := client.Repositories.GetCommit(ctx, *sourceOwner, *sourceRepo, *ref.Object.SHA, nil)
	if err != nil {
		return err
	}
	// This is not always populated, but is needed.
	parent.Commit.SHA = parent.SHA

	// Create the commit using the tree.
	date := time.Now()
	author := &github.CommitAuthor{Date: &github.Timestamp{Time: date}, Name: authorName, Email: authorEmail}
	commit := github.Commit{Author: author, Message: commitMessage, Tree: tree, Parents: []*github.Commit{parent.Commit}}
	opts := github.CreateCommitOptions{}
	if *privateKey != "" {
		armoredBlock, e := os.ReadFile(*privateKey)
		if e != nil {
			return e
		}
		keyring, e := openpgp.ReadArmoredKeyRing(bytes.NewReader(armoredBlock))
		if e != nil {
			return e
		}
		if len(keyring) != 1 {
			return errors.New("expected exactly one key in the keyring")
		}
		key := keyring[0]
		opts.Signer = github.MessageSignerFunc(func(w io.Writer, r io.Reader) error {
			return openpgp.ArmoredDetachSign(w, key, r, nil)
		})
	}
	newCommit, _, err := client.Git.CreateCommit(ctx, *sourceOwner, *sourceRepo, commit, &opts)
	if err != nil {
		return err
	}

	// Attach the commit to the master branch.
	ref.Object.SHA = newCommit.SHA
	_, _, err = client.Git.UpdateRef(ctx, *sourceOwner, *sourceRepo, *ref.Ref, github.UpdateRef{
		SHA:   *newCommit.SHA,
		Force: github.Ptr(false),
	})
	return err
}

// createPR creates a pull request. Based on: https://pkg.go.dev/github.com/google/go-github/v84/github#example-PullRequestsService-Create
func createPR() (err error) {
	if *prSubject == "" {
		return errors.New("missing `-pr-title` flag; skipping PR creation")
	}

	if *prRepoOwner != "" && *prRepoOwner != *sourceOwner {
		*commitBranch = fmt.Sprintf("%v:%v", *sourceOwner, *commitBranch)
	} else {
		prRepoOwner = sourceOwner
	}

	if *prRepo == "" {
		prRepo = sourceRepo
	}

	newPR := &github.NewPullRequest{
		Title:               prSubject,
		Head:                commitBranch,
		HeadRepo:            repoBranch,
		Base:                prBranch,
		Body:                prDescription,
		MaintainerCanModify: github.Ptr(true),
	}

	pr, _, err := client.PullRequests.Create(ctx, *prRepoOwner, *prRepo, newPR)
	if err != nil {
		return err
	}

	fmt.Printf("PR created: %v\n", pr.GetHTMLURL())
	return nil
}

func main() {
	flag.Parse()
	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("Unauthorized: No token present")
	}
	if *sourceOwner == "" || *sourceRepo == "" || *commitBranch == "" || *sourceFiles == "" || *authorName == "" || *authorEmail == "" {
		log.Fatal("You need to specify a non-empty value for the flags `-source-owner`, `-source-repo`, `-commit-branch`, `-files`, `-author-name` and `-author-email`")
	}
	client = github.NewClient(nil).WithAuthToken(token)

	ref, err := getRef()
	if err != nil {
		log.Fatalf("Unable to get/create the commit reference: %v\n", err)
	}
	if ref == nil {
		log.Fatal("No error where returned but the reference is nil")
	}

	tree, err := getTree(ref)
	if err != nil {
		log.Fatalf("Unable to create the tree based on the provided files: %v\n", err)
	}

	if err := pushCommit(ref, tree); err != nil {
		log.Fatalf("Unable to create the commit: %v\n", err)
	}

	if err := createPR(); err != nil {
		log.Fatalf("Error while creating the pull request: %v", err)
	}
}


================================================
FILE: example/go.mod
================================================
module github.com/google/go-github/v84/example

go 1.25.5

require (
	github.com/ProtonMail/go-crypto v1.4.1
	github.com/bradleyfalzon/ghinstallation/v2 v2.18.0
	github.com/gofri/go-github-pagination v1.0.1
	github.com/gofri/go-github-ratelimit/v2 v2.0.2
	github.com/google/go-github/v84 v84.0.0
	github.com/google/go-github/v84/otel v0.0.0-00010101000000-000000000000
	github.com/sigstore/sigstore-go v1.1.4
	go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.42.0
	go.opentelemetry.io/otel/sdk v1.42.0
	golang.org/x/crypto v0.49.0
	golang.org/x/term v0.41.0
	google.golang.org/appengine v1.6.8
)

require (
	github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
	github.com/blang/semver v3.5.1+incompatible // indirect
	github.com/cenkalti/backoff/v5 v5.0.3 // indirect
	github.com/cespare/xxhash/v2 v2.3.0 // indirect
	github.com/cloudflare/circl v1.6.3 // indirect
	github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 // indirect
	github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352 // indirect
	github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7 // indirect
	github.com/go-logr/logr v1.4.3 // indirect
	github.com/go-logr/stdr v1.2.2 // indirect
	github.com/go-openapi/analysis v0.24.1 // indirect
	github.com/go-openapi/errors v0.22.6 // indirect
	github.com/go-openapi/jsonpointer v0.22.4 // indirect
	github.com/go-openapi/jsonreference v0.21.4 // indirect
	github.com/go-openapi/loads v0.23.2 // indirect
	github.com/go-openapi/runtime v0.29.2 // indirect
	github.com/go-openapi/spec v0.22.3 // indirect
	github.com/go-openapi/strfmt v0.25.0 // indirect
	github.com/go-openapi/swag v0.25.4 // indirect
	github.com/go-openapi/swag/cmdutils v0.25.4 // indirect
	github.com/go-openapi/swag/conv v0.25.4 // indirect
	github.com/go-openapi/swag/fileutils v0.25.4 // indirect
	github.com/go-openapi/swag/jsonname v0.25.4 // indirect
	github.com/go-openapi/swag/jsonutils v0.25.4 // indirect
	github.com/go-openapi/swag/loading v0.25.4 // indirect
	github.com/go-openapi/swag/mangling v0.25.4 // indirect
	github.com/go-openapi/swag/netutils v0.25.4 // indirect
	github.com/go-openapi/swag/stringutils v0.25.4 // indirect
	github.com/go-openapi/swag/typeutils v0.25.4 // indirect
	github.com/go-openapi/swag/yamlutils v0.25.4 // indirect
	github.com/go-openapi/validate v0.25.1 // indirect
	github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
	github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
	github.com/golang/protobuf v1.5.4 // indirect
	github.com/google/certificate-transparency-go v1.3.2 // indirect
	github.com/google/go-containerregistry v0.20.7 // indirect
	github.com/google/go-querystring v1.2.0 // indirect
	github.com/google/uuid v1.6.0 // indirect
	github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect
	github.com/in-toto/attestation v1.1.2 // indirect
	github.com/in-toto/in-toto-golang v0.9.0 // indirect
	github.com/oklog/ulid v1.3.1 // indirect
	github.com/opencontainers/go-digest v1.0.0 // indirect
	github.com/pkg/errors v0.9.1 // indirect
	github.com/secure-systems-lab/go-securesystemslib v0.10.0 // indirect
	github.com/shibumi/go-pathspec v1.3.0 // indirect
	github.com/sigstore/protobuf-specs v0.5.0 // indirect
	github.com/sigstore/rekor v1.5.0 // indirect
	github.com/sigstore/rekor-tiles/v2 v2.0.1 // indirect
	github.com/sigstore/sigstore v1.10.4 // indirect
	github.com/sigstore/timestamp-authority/v2 v2.0.3 // indirect
	github.com/theupdateframework/go-tuf/v2 v2.4.1 // indirect
	github.com/transparency-dev/formats v0.0.0-20251017110053-404c0d5b696c // indirect
	github.com/transparency-dev/merkle v0.0.2 // indirect
	go.mongodb.org/mongo-driver v1.17.6 // indirect
	go.opentelemetry.io/auto/sdk v1.2.1 // indirect
	go.opentelemetry.io/otel v1.42.0 // indirect
	go.opentelemetry.io/otel/metric v1.42.0 // indirect
	go.opentelemetry.io/otel/trace v1.42.0 // indirect
	go.yaml.in/yaml/v3 v3.0.4 // indirect
	golang.org/x/mod v0.33.0 // indirect
	golang.org/x/net v0.51.0 // indirect
	golang.org/x/sync v0.20.0 // indirect
	golang.org/x/sys v0.42.0 // indirect
	golang.org/x/text v0.35.0 // indirect
	google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect
	google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b // indirect
	google.golang.org/grpc v1.79.3 // indirect
	google.golang.org/protobuf v1.36.11 // indirect
)

// Use version at HEAD, not the latest published.
replace github.com/google/go-github/v84 => ../

replace github.com/google/go-github/v84/otel => ../otel


================================================
FILE: example/go.sum
================================================
cloud.google.com/go v0.121.6 h1:waZiuajrI28iAf40cWgycWNgaXPO06dupuS+sgibK6c=
cloud.google.com/go v0.121.6/go.mod h1:coChdst4Ea5vUpiALcYKXEpR1S9ZgXbhEzzMcMR66vI=
cloud.google.com/go/auth v0.18.0 h1:wnqy5hrv7p3k7cShwAU/Br3nzod7fxoqG+k0VZ+/Pk0=
cloud.google.com/go/auth v0.18.0/go.mod h1:wwkPM1AgE1f2u6dG443MiWoD8C3BtOywNsUMcUTVDRo=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs=
cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10=
cloud.google.com/go/iam v1.5.3 h1:+vMINPiDF2ognBJ97ABAYYwRgsaqxPbQDlMnbHMjolc=
cloud.google.com/go/iam v1.5.3/go.mod h1:MR3v9oLkZCTlaqljW6Eb2d3HGDGK5/bDv93jhfISFvU=
cloud.google.com/go/kms v1.23.2 h1:4IYDQL5hG4L+HzJBhzejUySoUOheh3Lk5YT4PCyyW6k=
cloud.google.com/go/kms v1.23.2/go.mod h1:rZ5kK0I7Kn9W4erhYVoIRPtpizjunlrfU4fUkumUp8g=
cloud.google.com/go/longrunning v0.7.0 h1:FV0+SYF1RIj59gyoWDRi45GiYUMM3K1qO51qoboQT1E=
cloud.google.com/go/longrunning v0.7.0/go.mod h1:ySn2yXmjbK9Ba0zsQqunhDkYi0+9rlXIwnoAf+h+TPY=
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d h1:zjqpY4C7H15HjRPEenkS4SAn3Jy2eRRjkjZbGR30TOg=
github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230919221257-8b5d3ce2d11d/go.mod h1:XNqJ7hv2kY++g8XEHREpi+JqZo3+0l+CH2egBVN4yqM=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0 h1:JXg2dwJUmPB9JmtVmdEB16APJ7jurfbY5jnfXpJoRMc=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1 h1:Hk5QBxZQC1jb2Fwj6mpzme37xbCDdNTxU7O9eb5+LB4=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1/go.mod h1:IYus9qsFobWIc2YVwe/WPjcnyCkPKtnHAqUYeebc8z0=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 h1:9iefClla7iYpfYWdzPCRDozdmndjTm8DXdpCzPajMgA=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI=
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0 h1:E4MgwLBGeVB5f2MdcIVD3ELVAWpr+WD6MUe1i+tM/PA=
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.4.0/go.mod h1:Y2b/1clN4zsAoUd/pgNAQHjLDnTis/6ROkUfyob6psM=
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0 h1:nCYfgcSyHZXJI8J0IWE5MsCGlb2xp9fJiXyxWgmOFg4=
github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.2.0/go.mod h1:ucUjca2JtSZboY8IoUqyQyuuXvwbMBVwFOm0vdQPNhA=
github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgvJqCH0sFfrBUTnUJSBrBf7++ypk+twtRs=
github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk=
github.com/ProtonMail/go-crypto v1.4.1 h1:9RfcZHqEQUvP8RzecWEUafnZVtEvrBVL9BiF67IQOfM=
github.com/ProtonMail/go-crypto v1.4.1/go.mod h1:e1OaTyu5SYVrO9gKOEhTc+5UcXtTUa+P3uLudwcgPqo=
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE=
github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
github.com/aws/aws-sdk-go-v2 v1.41.0 h1:tNvqh1s+v0vFYdA1xq0aOJH+Y5cRyZ5upu6roPgPKd4=
github.com/aws/aws-sdk-go-v2 v1.41.0/go.mod h1:MayyLB8y+buD9hZqkCW3kX1AKq07Y5pXxtgB+rRFhz0=
github.com/aws/aws-sdk-go-v2/config v1.32.5 h1:pz3duhAfUgnxbtVhIK39PGF/AHYyrzGEyRD9Og0QrE8=
github.com/aws/aws-sdk-go-v2/config v1.32.5/go.mod h1:xmDjzSUs/d0BB7ClzYPAZMmgQdrodNjPPhd6bGASwoE=
github.com/aws/aws-sdk-go-v2/credentials v1.19.5 h1:xMo63RlqP3ZZydpJDMBsH9uJ10hgHYfQFIk1cHDXrR4=
github.com/aws/aws-sdk-go-v2/credentials v1.19.5/go.mod h1:hhbH6oRcou+LpXfA/0vPElh/e0M3aFeOblE1sssAAEk=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 h1:80+uETIWS1BqjnN9uJ0dBUaETh+P1XwFy5vwHwK5r9k=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16/go.mod h1:wOOsYuxYuB/7FlnVtzeBYRcjSRtQpAW0hCP7tIULMwo=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 h1:rgGwPzb82iBYSvHMHXc8h9mRoOUBZIGFgKb9qniaZZc=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16/go.mod h1:L/UxsGeKpGoIj6DxfhOWHWQ/kGKcd4I1VncE4++IyKA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16 h1:1jtGzuV7c82xnqOVfx2F0xmJcOw5374L7N6juGW6x6U=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16/go.mod h1:M2E5OQf+XLe+SZGmmpaI2yy+J326aFf6/+54PoxSANc=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 h1:0ryTNEdJbzUCEWkVXEXoqlXV72J5keC1GvILMOuD00E=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4/go.mod h1:HQ4qwNZh32C3CBeO6iJLQlgtMzqeG17ziAA/3KDJFow=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 h1:oHjJHeUy0ImIV0bsrX0X91GkV5nJAyv1l1CC9lnO0TI=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16/go.mod h1:iRSNGgOYmiYwSCXxXaKb9HfOEj40+oTKn8pTxMlYkRM=
github.com/aws/aws-sdk-go-v2/service/kms v1.49.1 h1:U0asSZ3ifpuIehDPkRI2rxHbmFUMplDA2VeR9Uogrmw=
github.com/aws/aws-sdk-go-v2/service/kms v1.49.1/go.mod h1:NZo9WJqQ0sxQ1Yqu1IwCHQFQunTms2MlVgejg16S1rY=
github.com/aws/aws-sdk-go-v2/service/signin v1.0.4 h1:HpI7aMmJ+mm1wkSHIA2t5EaFFv5EFYXePW30p1EIrbQ=
github.com/aws/aws-sdk-go-v2/service/signin v1.0.4/go.mod h1:C5RdGMYGlfM0gYq/tifqgn4EbyX99V15P2V3R+VHbQU=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.7 h1:eYnlt6QxnFINKzwxP5/Ucs1vkG7VT3Iezmvfgc2waUw=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.7/go.mod h1:+fWt2UHSb4kS7Pu8y+BMBvJF0EWx+4H0hzNwtDNRTrg=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 h1:AHDr0DaHIAo8c9t1emrzAlVDFp+iMMKnPdYy6XO4MCE=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12/go.mod h1:GQ73XawFFiWxyWXMHWfhiomvP3tXtdNar/fi8z18sx0=
github.com/aws/aws-sdk-go-v2/service/sts v1.41.5 h1:SciGFVNZ4mHdm7gpD1dgZYnCuVdX1s+lFTg4+4DOy70=
github.com/aws/aws-sdk-go-v2/service/sts v1.41.5/go.mod h1:iW40X4QBmUxdP+fZNOpfmkdMZqsovezbAeO+Ubiv2pk=
github.com/aws/smithy-go v1.24.0 h1:LpilSUItNPFr1eY85RYgTIg5eIEPtvFbskaFcmmIUnk=
github.com/aws/smithy-go v1.24.0/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0=
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
github.com/bradleyfalzon/ghinstallation/v2 v2.18.0 h1:WPqnN6NS9XvYlOgZQAIseN7Z1uAiE+UxgDKlW7FvFuU=
github.com/bradleyfalzon/ghinstallation/v2 v2.18.0/go.mod h1:gpoSwwWc4biE49F7n+roCcpkEkZ1Qr9soZ2ESvMiouU=
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM=
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8=
github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4=
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE=
github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4=
github.com/coreos/go-oidc/v3 v3.17.0 h1:hWBGaQfbi0iVviX4ibC7bk8OKT5qNr4klBaCHVNvehc=
github.com/coreos/go-oidc/v3 v3.17.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8=
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q=
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
github.com/danieljoos/wincred v1.2.0 h1:ozqKHaLK0W/ii4KVbbvluM91W2H3Sh0BncbUNPS7jLE=
github.com/danieljoos/wincred v1.2.0/go.mod h1:FzQLLMKBFdvu+osBrnFODiv32YGwCfx0SkRa/eYHgec=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/digitorus/pkcs7 v0.0.0-20230713084857-e76b763bdc49/go.mod h1:SKVExuS+vpu2l9IoOc0RwqE7NYnb0JlcFHFnEJkVDzc=
github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352 h1:ge14PCmCvPjpMQMIAH7uKg0lrtNSOdpYsRXlwk3QbaE=
github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352/go.mod h1:SKVExuS+vpu2l9IoOc0RwqE7NYnb0JlcFHFnEJkVDzc=
github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7 h1:lxmTCgmHE1GUYL7P0MlNa00M67axePTq+9nBSGddR8I=
github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7/go.mod h1:GvWntX9qiTlOud0WkQ6ewFm0LPy5JUR1Xo0Ngbd1w6Y=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec=
github.com/go-chi/chi/v5 v5.2.4 h1:WtFKPHwlywe8Srng8j2BhOD9312j9cGUxG1SP4V2cR4=
github.com/go-chi/chi/v5 v5.2.4/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0=
github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs=
github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-openapi/analysis v0.24.1 h1:Xp+7Yn/KOnVWYG8d+hPksOYnCYImE3TieBa7rBOesYM=
github.com/go-openapi/analysis v0.24.1/go.mod h1:dU+qxX7QGU1rl7IYhBC8bIfmWQdX4Buoea4TGtxXY84=
github.com/go-openapi/errors v0.22.6 h1:eDxcf89O8odEnohIXwEjY1IB4ph5vmbUsBMsFNwXWPo=
github.com/go-openapi/errors v0.22.6/go.mod h1:z9S8ASTUqx7+CP1Q8dD8ewGH/1JWFFLX/2PmAYNQLgk=
github.com/go-openapi/jsonpointer v0.22.4 h1:dZtK82WlNpVLDW2jlA1YCiVJFVqkED1MegOUy9kR5T4=
github.com/go-openapi/jsonpointer v0.22.4/go.mod h1:elX9+UgznpFhgBuaMQ7iu4lvvX1nvNsesQ3oxmYTw80=
github.com/go-openapi/jsonreference v0.21.4 h1:24qaE2y9bx/q3uRK/qN+TDwbok1NhbSmGjjySRCHtC8=
github.com/go-openapi/jsonreference v0.21.4/go.mod h1:rIENPTjDbLpzQmQWCj5kKj3ZlmEh+EFVbz3RTUh30/4=
github.com/go-openapi/loads v0.23.2 h1:rJXAcP7g1+lWyBHC7iTY+WAF0rprtM+pm8Jxv1uQJp4=
github.com/go-openapi/loads v0.23.2/go.mod h1:IEVw1GfRt/P2Pplkelxzj9BYFajiWOtY2nHZNj4UnWY=
github.com/go-openapi/runtime v0.29.2 h1:UmwSGWNmWQqKm1c2MGgXVpC2FTGwPDQeUsBMufc5Yj0=
github.com/go-openapi/runtime v0.29.2/go.mod h1:biq5kJXRJKBJxTDJXAa00DOTa/anflQPhT0/wmjuy+0=
github.com/go-openapi/spec v0.22.3 h1:qRSmj6Smz2rEBxMnLRBMeBWxbbOvuOoElvSvObIgwQc=
github.com/go-openapi/spec v0.22.3/go.mod h1:iIImLODL2loCh3Vnox8TY2YWYJZjMAKYyLH2Mu8lOZs=
github.com/go-openapi/strfmt v0.25.0 h1:7R0RX7mbKLa9EYCTHRcCuIPcaqlyQiWNPTXwClK0saQ=
github.com/go-openapi/strfmt v0.25.0/go.mod h1:nNXct7OzbwrMY9+5tLX4I21pzcmE6ccMGXl3jFdPfn8=
github.com/go-openapi/swag v0.25.4 h1:OyUPUFYDPDBMkqyxOTkqDYFnrhuhi9NR6QVUvIochMU=
github.com/go-openapi/swag v0.25.4/go.mod h1:zNfJ9WZABGHCFg2RnY0S4IOkAcVTzJ6z2Bi+Q4i6qFQ=
github.com/go-openapi/swag/cmdutils v0.25.4 h1:8rYhB5n6WawR192/BfUu2iVlxqVR9aRgGJP6WaBoW+4=
github.com/go-openapi/swag/cmdutils v0.25.4/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0=
github.com/go-openapi/swag/conv v0.25.4 h1:/Dd7p0LZXczgUcC/Ikm1+YqVzkEeCc9LnOWjfkpkfe4=
github.com/go-openapi/swag/conv v0.25.4/go.mod h1:3LXfie/lwoAv0NHoEuY1hjoFAYkvlqI/Bn5EQDD3PPU=
github.com/go-openapi/swag/fileutils v0.25.4 h1:2oI0XNW5y6UWZTC7vAxC8hmsK/tOkWXHJQH4lKjqw+Y=
github.com/go-openapi/swag/fileutils v0.25.4/go.mod h1:cdOT/PKbwcysVQ9Tpr0q20lQKH7MGhOEb6EwmHOirUk=
github.com/go-openapi/swag/jsonname v0.25.4 h1:bZH0+MsS03MbnwBXYhuTttMOqk+5KcQ9869Vye1bNHI=
github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag=
github.com/go-openapi/swag/jsonutils v0.25.4 h1:VSchfbGhD4UTf4vCdR2F4TLBdLwHyUDTd1/q4i+jGZA=
github.com/go-openapi/swag/jsonutils v0.25.4/go.mod h1:7OYGXpvVFPn4PpaSdPHJBtF0iGnbEaTk8AvBkoWnaAY=
github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4 h1:IACsSvBhiNJwlDix7wq39SS2Fh7lUOCJRmx/4SN4sVo=
github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.4/go.mod h1:Mt0Ost9l3cUzVv4OEZG+WSeoHwjWLnarzMePNDAOBiM=
github.com/go-openapi/swag/loading v0.25.4 h1:jN4MvLj0X6yhCDduRsxDDw1aHe+ZWoLjW+9ZQWIKn2s=
github.com/go-openapi/swag/loading v0.25.4/go.mod h1:rpUM1ZiyEP9+mNLIQUdMiD7dCETXvkkC30z53i+ftTE=
github.com/go-openapi/swag/mangling v0.25.4 h1:2b9kBJk9JvPgxr36V23FxJLdwBrpijI26Bx5JH4Hp48=
github.com/go-openapi/swag/mangling v0.25.4/go.mod h1:6dxwu6QyORHpIIApsdZgb6wBk/DPU15MdyYj/ikn0Hg=
github.com/go-openapi/swag/netutils v0.25.4 h1:Gqe6K71bGRb3ZQLusdI8p/y1KLgV4M/k+/HzVSqT8H0=
github.com/go-openapi/swag/netutils v0.25.4/go.mod h1:m2W8dtdaoX7oj9rEttLyTeEFFEBvnAx9qHd5nJEBzYg=
github.com/go-openapi/swag/stringutils v0.25.4 h1:O6dU1Rd8bej4HPA3/CLPciNBBDwZj9HiEpdVsb8B5A8=
github.com/go-openapi/swag/stringutils v0.25.4/go.mod h1:GTsRvhJW5xM5gkgiFe0fV3PUlFm0dr8vki6/VSRaZK0=
github.com/go-openapi/swag/typeutils v0.25.4 h1:1/fbZOUN472NTc39zpa+YGHn3jzHWhv42wAJSN91wRw=
github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE=
github.com/go-openapi/swag/yamlutils v0.25.4 h1:6jdaeSItEUb7ioS9lFoCZ65Cne1/RZtPBZ9A56h92Sw=
github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc=
github.com/go-openapi/testify/enable/yaml/v2 v2.0.2 h1:0+Y41Pz1NkbTHz8NngxTuAXxEodtNSI1WG1c/m5Akw4=
github.com/go-openapi/testify/enable/yaml/v2 v2.0.2/go.mod h1:kme83333GCtJQHXQ8UKX3IBZu6z8T5Dvy5+CW3NLUUg=
github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls=
github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54=
github.com/go-openapi/validate v0.25.1 h1:sSACUI6Jcnbo5IWqbYHgjibrhhmt3vR6lCzKZnmAgBw=
github.com/go-openapi/validate v0.25.1/go.mod h1:RMVyVFYte0gbSTaZ0N4KmTn6u/kClvAFp+mAVfS/DQc=
github.com/go-sql-driver/mysql v1.9.3 h1:U/N249h2WzJ3Ukj8SowVFjdtZKfu9vlLZxjPXV1aweo=
github.com/go-sql-driver/mysql v1.9.3/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofri/go-github-pagination v1.0.1 h1:j5uJRx65i/Ta2M0QSgiPcyokY69JnCQglt4n9pspFhY=
github.com/gofri/go-github-pagination v1.0.1/go.mod h1:Qij55Fb4fNPjam3SB+8cLnqp4pgR8RGMyIspYXcyHX0=
github.com/gofri/go-github-ratelimit/v2 v2.0.2 h1:gS8wAS1jTmlWGdTjAM7KIpsLjwY1S0S/gKK5hthfSXM=
github.com/gofri/go-github-ratelimit/v2 v2.0.2/go.mod h1:YBQt4gTbdcbMjJFT05YFEaECwH78P5b0IwrnbLiHGdE=
github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/certificate-transparency-go v1.3.2 h1:9ahSNZF2o7SYMaKaXhAumVEzXB2QaayzII9C8rv7v+A=
github.com/google/certificate-transparency-go v1.3.2/go.mod h1:H5FpMUaGa5Ab2+KCYsxg6sELw3Flkl7pGZzWdBoYLXs=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/go-containerregistry v0.20.7 h1:24VGNpS0IwrOZ2ms2P1QE3Xa5X9p4phx0aUgzYzHW6I=
github.com/google/go-containerregistry v0.20.7/go.mod h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM=
github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=
github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0=
github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM=
github.com/google/trillian v1.7.2 h1:EPBxc4YWY4Ak8tcuhyFleY+zYlbCDCa4Sn24e1Ka8Js=
github.com/google/trillian v1.7.2/go.mod h1:mfQJW4qRH6/ilABtPYNBerVJAJ/upxHLX81zxNQw05s=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/enterprise-certificate-proxy v0.3.9 h1:TOpi/QG8iDcZlkQlGlFUti/ZtyLkliXvHDcyUIMuFrU=
github.com/googleapis/enterprise-certificate-proxy v0.3.9/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
github.com/googleapis/gax-go/v2 v2.16.0 h1:iHbQmKLLZrexmb0OSsNGTeSTS0HO4YvFOG8g5E4Zd0Y=
github.com/googleapis/gax-go/v2 v2.16.0/go.mod h1:o1vfQjjNZn4+dPnRdl/4ZD7S9414Y4xA+a/6Icj6l14=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48=
github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw=
github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc=
github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0 h1:U+kC2dOhMFQctRfhK0gRctKAPTloZdMU5ZJxaesJ/VM=
github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0/go.mod h1:Ll013mhdmsVDuoIXVfBtvgGJsXDYkTw1kooNcoCXuE0=
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts=
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4=
github.com/hashicorp/go-sockaddr v1.0.7 h1:G+pTkSO01HpR5qCxg7lxfsFEZaG+C0VssTy/9dbT+Fw=
github.com/hashicorp/go-sockaddr v1.0.7/go.mod h1:FZQbEYa1pxkQ7WLpyXJ6cbjpT8q0YgQaK/JakXqGyWw=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hashicorp/hcl v1.0.1-vault-7 h1:ag5OxFVy3QYTFTJODRzTKVZ6xvdfLLCA1cy/Y6xGI0I=
github.com/hashicorp/hcl v1.0.1-vault-7/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM=
github.com/hashicorp/vault/api v1.22.0 h1:+HYFquE35/B74fHoIeXlZIP2YADVboaPjaSicHEZiH0=
github.com/hashicorp/vault/api v1.22.0/go.mod h1:IUZA2cDvr4Ok3+NtK2Oq/r+lJeXkeCrHRmqdyWfpmGM=
github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef h1:A9HsByNhogrvm9cWb28sjiS3i7tcKCkflWFEkHfuAgM=
github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs=
github.com/in-toto/attestation v1.1.2 h1:MBFn6lsMq6dptQZJBhalXTcWMb/aJy3V+GX3VYj/V1E=
github.com/in-toto/attestation v1.1.2/go.mod h1:gYFddHMZj3DiQ0b62ltNi1Vj5rC879bTmBbrv9CRHpM=
github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU=
github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.7.5 h1:JHGfMnQY+IEtGM63d+NGMjoRpysB2JBwDr5fsngwmJs=
github.com/jackc/pgx/v5 v5.7.5/go.mod h1:aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M=
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jedisct1/go-minisign v0.0.0-20211028175153-1c139d1cc84b h1:ZGiXF8sz7PDk6RgkP+A/SFfUD0ZR/AgG6SpRNEDKZy8=
github.com/jedisct1/go-minisign v0.0.0-20211028175153-1c139d1cc84b/go.mod h1:hQmNrgofl+IY/8L+n20H6E6PWBBTokdsv+q49j0QhsU=
github.com/jellydator/ttlcache/v3 v3.4.0 h1:YS4P125qQS0tNhtL6aeYkheEaB/m8HCqdMMP4mnWdTY=
github.com/jellydator/ttlcache/v3 v3.4.0/go.mod h1:Hw9EgjymziQD3yGsQdf1FqFdpp7YjFMd4Srg5EJlgD4=
github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24 h1:liMMTbpW34dhU4az1GN0pTPADwNmvoRSeoZ6PItiqnY=
github.com/jmespath/go-jmespath v0.4.1-0.20220621161143-b0104c826a24/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/letsencrypt/boulder v0.20251110.0 h1:J8MnKICeilO91dyQ2n5eBbab24neHzUpYMUIOdOtbjc=
github.com/letsencrypt/boulder v0.20251110.0/go.mod h1:ogKCJQwll82m7OVHWyTuf8eeFCjuzdRQlgnZcCl0V+8=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/natefinch/atomic v1.0.1 h1:ZPYKxkqQOx3KZ+RsbnP/YsgvxWQPGxjC0oBt2AhwV0A=
github.com/natefinch/atomic v1.0.1/go.mod h1:N/D/ELrljoqDyT3rZrsUmtsuzvHkeB/wWjHV22AZRbM=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk=
github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
github.com/sassoftware/relic v7.2.1+incompatible h1:Pwyh1F3I0r4clFJXkSI8bOyJINGqpgjJU3DYAZeI05A=
github.com/sassoftware/relic v7.2.1+incompatible/go.mod h1:CWfAxv73/iLZ17rbyhIEq3K9hs5w6FpNMdUT//qR+zk=
github.com/sassoftware/relic/v7 v7.6.2 h1:rS44Lbv9G9eXsukknS4mSjIAuuX+lMq/FnStgmZlUv4=
github.com/sassoftware/relic/v7 v7.6.2/go.mod h1:kjmP0IBVkJZ6gXeAu35/KCEfca//+PKM6vTAsyDPY+k=
github.com/secure-systems-lab/go-securesystemslib v0.10.0 h1:l+H5ErcW0PAehBNrBxoGv1jjNpGYdZ9RcheFkB2WI14=
github.com/secure-systems-lab/go-securesystemslib v0.10.0/go.mod h1:MRKONWmRoFzPNQ9USRF9i1mc7MvAVvF1LlW8X5VWDvk=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI=
github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE=
github.com/sigstore/protobuf-specs v0.5.0 h1:F8YTI65xOHw70NrvPwJ5PhAzsvTnuJMGLkA4FIkofAY=
github.com/sigstore/protobuf-specs v0.5.0/go.mod h1:+gXR+38nIa2oEupqDdzg4qSBT0Os+sP7oYv6alWewWc=
github.com/sigstore/rekor v1.5.0 h1:rL7SghHd5HLCtsCrxw0yQg+NczGvM75EjSPPWuGjaiQ=
github.com/sigstore/rekor v1.5.0/go.mod h1:D7JoVCUkxwQOpPDNYeu+CE8zeBC18Y5uDo6tF8s2rcQ=
github.com/sigstore/rekor-tiles/v2 v2.0.1 h1:1Wfz15oSRNGF5Dzb0lWn5W8+lfO50ork4PGIfEKjZeo=
github.com/sigstore/rekor-tiles/v2 v2.0.1/go.mod h1:Pjsbhzj5hc3MKY8FfVTYHBUHQEnP0ozC4huatu4x7OU=
github.com/sigstore/sigstore v1.10.4 h1:ytOmxMgLdcUed3w1SbbZOgcxqwMG61lh1TmZLN+WeZE=
github.com/sigstore/sigstore v1.10.4/go.mod h1:tDiyrdOref3q6qJxm2G+JHghqfmvifB7hw+EReAfnbI=
github.com/sigstore/sigstore-go v1.1.4 h1:wTTsgCHOfqiEzVyBYA6mDczGtBkN7cM8mPpjJj5QvMg=
github.com/sigstore/sigstore-go v1.1.4/go.mod h1:2U/mQOT9cjjxrtIUeKDVhL+sHBKsnWddn8URlswdBsg=
github.com/sigstore/sigstore/pkg/signature/kms/aws v1.10.3 h1:D/FRl5J9UYAJPGZRAJbP0dH78pfwWnKsyCSBwFBU8CI=
github.com/sigstore/sigstore/pkg/signature/kms/aws v1.10.3/go.mod h1:2GIWuNvTRMvrzd0Nl8RNqxrt9H7X0OBStwOSzGYRjYw=
github.com/sigstore/sigstore/pkg/signature/kms/azure v1.10.3 h1:k5VMLf/ms7hh6MLgVoorM0K+hSMwZLXoywlxh4CXqP8=
github.com/sigstore/sigstore/pkg/signature/kms/azure v1.10.3/go.mod h1:S1Bp3dmP7jYlXcGLAxG81wRbE01NIZING8ZIy0dJlAI=
github.com/sigstore/sigstore/pkg/signature/kms/gcp v1.10.0 h1:iUEf5MZYOuXGnXxdF/WrarJrk0DTVHqeIOjYdtpVXtc=
github.com/sigstore/sigstore/pkg/signature/kms/gcp v1.10.0/go.mod h1:i6vg5JfEQix46R1rhQlrKmUtJoeH91drltyYOJEk1T4=
github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.10.3 h1:lJSdaC/aOlFHlvqmmV696n1HdXLMLEKGwpNZMV0sKts=
github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.10.3/go.mod h1:b2rV9qPbt/jv/Yy75AIOZThP8j+pe1ZdLEjOwmjPdoA=
github.com/sigstore/timestamp-authority/v2 v2.0.3 h1:sRyYNtdED/ttLCMdaYnwpf0zre1A9chvjTnCmWWxN8Y=
github.com/sigstore/timestamp-authority/v2 v2.0.3/go.mod h1:mDaHxkt3HmZYoIlwYj4QWo0RUr7VjYU52aVO5f5Qb3I=
github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU=
github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
github.com/theupdateframework/go-tuf v0.7.0 h1:CqbQFrWo1ae3/I0UCblSbczevCCbS31Qvs5LdxRWqRI=
github.com/theupdateframework/go-tuf v0.7.0/go.mod h1:uEB7WSY+7ZIugK6R1hiBMBjQftaFzn7ZCDJcp1tCUug=
github.com/theupdateframework/go-tuf/v2 v2.4.1 h1:K6ewW064rKZCPkRo1W/CTbTtm/+IB4+coG1iNURAGCw=
github.com/theupdateframework/go-tuf/v2 v2.4.1/go.mod h1:Nex2enPVYDFCklrnbTzl3OVwD7fgIAj0J5++z/rvCj8=
github.com/tink-crypto/tink-go-awskms/v2 v2.1.0 h1:N9UxlsOzu5mttdjhxkDLbzwtEecuXmlxZVo/ds7JKJI=
github.com/tink-crypto/tink-go-awskms/v2 v2.1.0/go.mod h1:PxSp9GlOkKL9rlybW804uspnHuO9nbD98V/fDX4uSis=
github.com/tink-crypto/tink-go-gcpkms/v2 v2.2.0 h1:3B9i6XBXNTRspfkTC0asN5W0K6GhOSgcujNiECNRNb0=
github.com/tink-crypto/tink-go-gcpkms/v2 v2.2.0/go.mod h1:jY5YN2BqD/KSCHM9SqZPIpJNG/u3zwfLXHgws4x2IRw=
github.com/tink-crypto/tink-go-hcvault/v2 v2.3.0 h1:6nAX1aRGnkg2SEUMwO5toB2tQkP0Jd6cbmZ/K5Le1V0=
github.com/tink-crypto/tink-go-hcvault/v2 v2.3.0/go.mod h1:HOC5NWW1wBI2Vke1FGcRBvDATkEYE7AUDiYbXqi2sBw=
github.com/tink-crypto/tink-go/v2 v2.5.0 h1:B8KLF6AofxdBIE4UJIaFbmoj5/1ehEtt7/MmzfI4Zpw=
github.com/tink-crypto/tink-go/v2 v2.5.0/go.mod h1:2WbBA6pfNsAfBwDCggboaHeB2X29wkU8XHtGwh2YIk8=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0=
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs=
github.com/transparency-dev/formats v0.0.0-20251017110053-404c0d5b696c h1:5a2XDQ2LiAUV+/RjckMyq9sXudfrPSuCY4FuPC1NyAw=
github.com/transparency-dev/formats v0.0.0-20251017110053-404c0d5b696c/go.mod h1:g85IafeFJZLxlzZCDRu4JLpfS7HKzR+Hw9qRh3bVzDI=
github.com/transparency-dev/merkle v0.0.2 h1:Q9nBoQcZcgPamMkGn7ghV8XiTZ/kRxn1yCG81+twTK4=
github.com/transparency-dev/merkle v0.0.2/go.mod h1:pqSy+OXefQ1EDUVmAJ8MUhHB9TXGuzVAT58PqBoHz1A=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/zalando/go-keyring v0.2.3 h1:v9CUu9phlABObO4LPWycf+zwMG7nlbb3t/B5wa97yms=
github.com/zalando/go-keyring v0.2.3/go.mod h1:HL4k+OXQfJUWaMnqyuSOc0drfGPX2b51Du6K+MRgZMk=
go.mongodb.org/mongo-driver v1.17.6 h1:87JUG1wZfWsr6rIz3ZmpH90rL5tea7O3IHuSwHUpsss=
go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 h1:YH4g8lQroajqUwWbq/tr2QX1JFmEXaDLgG+ew9bLMWo=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0/go.mod h1:fvPi2qXDqFs8M4B4fmJhE92TyQs9Ydjlg3RvfUp+NbQ=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg=
go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho=
go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc=
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.42.0 h1:s/1iRkCKDfhlh1JF26knRneorus8aOwVIDhvYx9WoDw=
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.42.0/go.mod h1:UI3wi0FXg1Pofb8ZBiBLhtMzgoTm1TYkMvn71fAqDzs=
go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4=
go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI=
go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo=
go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts=
go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA=
go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc=
go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY=
go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc=
go.step.sm/crypto v0.74.0 h1:/APBEv45yYR4qQFg47HA8w1nesIGcxh44pGyQNw6JRA=
go.step.sm/crypto v0.74.0/go.mod h1:UoXqCAJjjRgzPte0Llaqen7O9P7XjPmgjgTHQGkKCDk=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc=
go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.49.0 h1:+Ng2ULVvLHnJ/ZFEq4KdcDd/cfjrrjjNSXNzxg0Y4U4=
golang.org/x/crypto v0.49.0/go.mod h1:ErX4dUh2UM+CFYiXZRTcMpEcN8b/1gxEuv3nODoYtCA=
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o=
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8=
golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo=
golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y=
golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo=
golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU=
golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8=
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
google.golang.org/api v0.260.0 h1:XbNi5E6bOVEj/uLXQRlt6TKuEzMD7zvW/6tNwltE4P4=
google.golang.org/api v0.260.0/go.mod h1:Shj1j0Phr/9sloYrKomICzdYgsSDImpTxME8rGLaZ/o=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20251202230838-ff82c1b0f217 h1:GvESR9BIyHUahIb0NcTum6itIWtdoglGX+rnGxm2934=
google.golang.org/genproto v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:yJ2HH4EHEDTd3JiLmhds6NkJ17ITVYOdV3m3VKOnws0=
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls=
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b h1:Mv8VFug0MP9e5vUxfBcE3vUkV6CImK3cMNMIDFjmzxU=
google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ=
google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE=
google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=
software.sslmate.com/src/go-pkcs12 v0.4.0 h1:H2g08FrTvSFKUj+D309j1DPfk5APnIdAQAB8aEykJ5k=
software.sslmate.com/src/go-pkcs12 v0.4.0/go.mod h1:Qiz0EyvDRJjjxGyUQa2cCNZn/wMyzrRJ/qcDXOQazLI=


================================================
FILE: example/listenvironments/main.go
================================================
// Copyright 2022 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// listenvironments is an example of how to use ListEnvironments method with EnvironmentListOptions.
// It's runnable with the following command:
//
//	export GITHUB_TOKEN=your_token
//	export GITHUB_REPOSITORY_OWNER=your_owner
//	export GITHUB_REPOSITORY_NAME=your_repo
//	go run .
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
)

func main() {
	token := os.Getenv("GITHUB_AUTH_TOKEN")
	repo := os.Getenv("GITHUB_REPOSITORY_NAME")
	owner := os.Getenv("GITHUB_REPOSITORY_OWNER")

	if token == "" {
		log.Fatal("Unauthorized: No token present")
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	expectedPageSize := 2

	opts := &github.EnvironmentListOptions{ListOptions: github.ListOptions{PerPage: expectedPageSize}}
	envResponse, _, err := client.Repositories.ListEnvironments(ctx, owner, repo, opts)
	if err != nil {
		log.Fatal(err)
	}

	if len(envResponse.Environments) != expectedPageSize {
		log.Fatal("Unexpected number of environments returned")
	}

	// The number of environments here should be equal to expectedPageSize
	fmt.Printf("%v environments returned\n", len(envResponse.Environments))
}


================================================
FILE: example/migrations/main.go
================================================
// Copyright 2018 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// migrations demonstrates the functionality of
// the user data migration API for the authenticated GitHub
// user and lists all the user migrations.
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v84/github"
)

func fetchAllUserMigrations() ([]*github.UserMigration, error) {
	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken("<GITHUB_AUTH_TOKEN>")

	migrations, _, err := client.Migrations.ListUserMigrations(ctx, &github.ListOptions{Page: 1})
	return migrations, err
}

func main() {
	migrations, err := fetchAllUserMigrations()
	if err != nil {
		fmt.Printf("Error %v\n", err)
		return
	}

	for i, m := range migrations {
		fmt.Printf("%v. %v", i+1, m.GetID())
	}
}


================================================
FILE: example/newfilewithappauth/main.go
================================================
// Copyright 2021 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// newfilewithappauth demonstrates the functionality of GitHub's app authentication
// methods by fetching an installation access token and reauthenticating to GitHub
// with OAuth configurations.
package main

import (
	"context"
	"log"
	"net/http"
	"os"
	"time"

	"github.com/bradleyfalzon/ghinstallation/v2"
	"github.com/google/go-github/v84/github"
)

func main() {
	const gitHost = "https://git.api.com"

	privatePem, err := os.ReadFile("path/to/pem")
	if err != nil {
		log.Fatalf("failed to read pem: %v", err)
	}

	itr, err := ghinstallation.NewAppsTransport(http.DefaultTransport, 10, privatePem)
	if err != nil {
		log.Fatalf("failed to create app transport: %v\n", err)
	}
	itr.BaseURL = gitHost

	// create git client with app transport
	client, err := github.NewClient(
		&http.Client{
			Transport: itr,
			Timeout:   time.Second * 30,
		},
	).WithEnterpriseURLs(gitHost, gitHost)
	if err != nil {
		log.Fatalf("failed to create git client for app: %v\n", err)
	}

	installations, _, err := client.Apps.ListInstallations(context.Background(), &github.ListOptions{})
	if err != nil {
		log.Fatalf("failed to list installations: %v\n", err)
	}

	// capture our installationId for our app
	// we need this for the access token
	var installID int64
	for _, val := range installations {
		installID = val.GetID()
	}

	token, _, err := client.Apps.CreateInstallationToken(
		context.Background(),
		installID,
		&github.InstallationTokenOptions{})
	if err != nil {
		log.Fatalf("failed to create installation token: %v\n", err)
	}

	apiClient, err := github.NewClient(nil).WithAuthToken(
		token.GetToken(),
	).WithEnterpriseURLs(gitHost, gitHost)
	if err != nil {
		log.Fatalf("failed to create new git client with token: %v\n", err)
	}

	_, resp, err := apiClient.Repositories.CreateFile(
		context.Background(),
		"repoOwner",
		"sample-repo",
		"example/foo.txt",
		&github.RepositoryContentFileOptions{
			Content: []byte("foo"),
			Message: github.Ptr("sample commit"),
			SHA:     nil,
		})
	if err != nil {
		log.Fatalf("failed to create new file: %v\n", err)
	}

	log.Printf("file written status code: %v", resp.StatusCode)
}


================================================
FILE: example/newrepo/main.go
================================================
// Copyright 2018 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The newrepo command utilizes go-github as a cli tool for
// creating new repositories. It takes an auth token as
// an environment variable and creates the new repo under
// the account affiliated with that token.
package main

import (
	"context"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
)

var (
	name        = flag.String("name", "", "Name of repo to create in authenticated user's GitHub account.")
	description = flag.String("description", "", "Description of created repo.")
	private     = flag.Bool("private", false, "Will created repo be private.")
	autoInit    = flag.Bool("auto-init", false, "Pass true to create an initial commit with empty README.")
)

func main() {
	flag.Parse()
	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("Unauthorized: No token present")
	}
	if *name == "" {
		log.Fatal("No name: New repos must be given a name")
	}
	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	r := &github.Repository{Name: name, Private: private, Description: description, AutoInit: autoInit}
	repo, _, err := client.Repositories.Create(ctx, "", r)
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("Successfully created new repo: %v\n", repo.GetName())
}


================================================
FILE: example/newreposecretwithlibsodium/go.mod
================================================
module newreposecretwithlibsodium

go 1.25.0

require (
	github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb
	github.com/google/go-github/v84 v84.0.0
)

require github.com/google/go-querystring v1.2.0 // indirect

// Use version at HEAD, not the latest published.
replace github.com/google/go-github/v84 => ../..


================================================
FILE: example/newreposecretwithlibsodium/go.sum
================================================
github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb h1:ilqSFSbR1fq6x88heeHrvAqlg+ES+tZk2ZcaCmiH1gI=
github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb/go.mod h1:72TQeEkiDH9QMXZa5nJJvZre0UjqqO67X2QEIoOwCRU=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/go-querystring v1.2.0 h1:yhqkPbu2/OH+V9BfpCVPZkNmUXhb2gBxJArfhIxNtP0=
github.com/google/go-querystring v1.2.0/go.mod h1:8IFJqpSRITyJ8QhQ13bmbeMBDfmeEJZD5A0egEOmkqU=


================================================
FILE: example/newreposecretwithlibsodium/main.go
================================================
// Copyright 2020 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// newreposecretwithlibsodium creates a new secret in GitHub for a given owner/repo.
// newreposecretwithlibsodium depends on sodium being installed. Installation instructions for Sodium can be found at this url:
// https://github.com/jedisct1/libsodium
//
// nnewreposecretwithlibsodium has two required flags for owner and repo, and takes in one argument for the name of the secret to add.
// The secret value is pulled from an environment variable based on the secret name.
// To authenticate with GitHub, provide your token via an environment variable GITHUB_AUTH_TOKEN.
//
// To verify the new secret, navigate to GitHub Repository > Settings > left side options bar > Secrets.
//
// Usage:
//
//	export GITHUB_AUTH_TOKEN=<auth token from github that has secret create rights>
//	export SECRET_VARIABLE=<secret value of the secret variable>
//	go run main.go -owner <owner name> -repo <repository name> SECRET_VARIABLE
//
// Example:
//
//	export GITHUB_AUTH_TOKEN=0000000000000000
//	export SECRET_VARIABLE="my-secret"
//	go run main.go -owner google -repo go-github SECRET_VARIABLE
package main

import (
	"context"
	"encoding/base64"
	"errors"
	"flag"
	"fmt"
	"log"
	"os"

	sodium "github.com/GoKillers/libsodium-go/cryptobox"
	"github.com/google/go-github/v84/github"
)

var (
	repo  = flag.String("repo", "", "The repo that the secret should be added to, ex. go-github")
	owner = flag.String("owner", "", "The owner of there repo this should be added to, ex. google")
)

func main() {
	flag.Parse()

	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("please provide a GitHub API token via env variable GITHUB_AUTH_TOKEN")
	}

	if *repo == "" {
		log.Fatal("please provide required flag --repo to specify GitHub repository ")
	}

	if *owner == "" {
		log.Fatal("please provide required flag --owner to specify GitHub user/org owner")
	}

	secretName, err := getSecretName()
	if err != nil {
		log.Fatal(err)
	}

	secretValue, err := getSecretValue(secretName)
	if err != nil {
		log.Fatal(err)
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	if err := addRepoSecret(ctx, client, *owner, *repo, secretName, secretValue); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Added secret %q to the repo %v/%v\n", secretName, *owner, *repo)
}

func getSecretName() (string, error) {
	secretName := flag.Arg(0)
	if secretName == "" {
		return "", fmt.Errorf("missing argument secret name")
	}
	return secretName, nil
}

func getSecretValue(secretName string) (string, error) {
	secretValue := os.Getenv(secretName)
	if secretValue == "" {
		return "", fmt.Errorf("secret value not found under env variable %q", secretName)
	}
	return secretValue, nil
}

// addRepoSecret will add a secret to a GitHub repo for use in GitHub Actions.
//
// Finally, the secretName and secretValue will determine the name of the secret added and it's corresponding value.
//
// The actual transmission of the secret value to GitHub using the api requires that the secret value is encrypted
// using the public key of the target repo. This encryption is done using sodium.
//
// First, the public key of the repo is retrieved. The public key comes base64
// encoded, so it must be decoded prior to use in sodiumlib.
//
// Second, the secret value is converted into a slice of bytes.
//
// Third, the secret is encrypted with sodium.CryptoBoxSeal using the repo's decoded public key.
//
// Fourth, the encrypted secret is encoded as a base64 string to be used in a github.EncodedSecret type.
//
// Fifth, The other two properties of the github.EncodedSecret type are determined. The name of the secret to be added
// (string not base64), and the KeyID of the public key used to encrypt the secret.
// This can be retrieved via the public key's GetKeyID method.
//
// Finally, the github.EncodedSecret is passed into the GitHub client.Actions.CreateOrUpdateRepoSecret method to
// populate the secret in the GitHub repo.
func addRepoSecret(ctx context.Context, client *github.Client, owner, repo, secretName, secretValue string) error {
	publicKey, _, err := client.Actions.GetRepoPublicKey(ctx, owner, repo)
	if err != nil {
		return err
	}

	encryptedSecret, err := encryptSecretWithPublicKey(publicKey, secretName, secretValue)
	if err != nil {
		return err
	}

	if _, err := client.Actions.CreateOrUpdateRepoSecret(ctx, owner, repo, encryptedSecret); err != nil {
		return fmt.Errorf("client.Actions.CreateOrUpdateRepoSecret returned error: %v", err)
	}

	return nil
}

func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName, secretValue string) (*github.EncryptedSecret, error) {
	decodedPublicKey, err := base64.StdEncoding.DecodeString(publicKey.GetKey())
	if err != nil {
		return nil, fmt.Errorf("base64.StdEncoding.DecodeString was unable to decode public key: %v", err)
	}

	encryptedBytes, exit := sodium.CryptoBoxSeal([]byte(secretValue), decodedPublicKey)
	if exit != 0 {
		return nil, errors.New("sodium.CryptoBoxSeal exited with non zero exit code")
	}

	encryptedString := base64.StdEncoding.EncodeToString(encryptedBytes)
	keyID := publicKey.GetKeyID()
	encryptedSecret := &github.EncryptedSecret{
		Name:           secretName,
		KeyID:          keyID,
		EncryptedValue: encryptedString,
	}
	return encryptedSecret, nil
}


================================================
FILE: example/newreposecretwithxcrypto/main.go
================================================
// Copyright 2021 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// newreposecretwithxcrypto creates a new secret in GitHub for a given owner/repo.
// newreposecretwithxcrypto uses x/crypto/nacl/box instead of sodium.
// It does not depend on any native libraries and is easier to cross-compile for different platforms.
// Quite possibly there is a performance penalty due to this.
//
// newreposecretwithxcrypto has two required flags for owner and repo, and takes in one argument for the name of the secret to add.
// The secret value is pulled from an environment variable based on the secret name.
// To authenticate with GitHub, provide your token via an environment variable GITHUB_AUTH_TOKEN.
//
// To verify the new secret, navigate to GitHub Repository > Settings > left side options bar > Secrets.
//
// Usage:
//
//	export GITHUB_AUTH_TOKEN=<auth token from github that has secret create rights>
//	export SECRET_VARIABLE=<secret value of the secret variable>
//	go run main.go -owner <owner name> -repo <repository name> SECRET_VARIABLE
//
// Example:
//
//	export GITHUB_AUTH_TOKEN=0000000000000000
//	export SECRET_VARIABLE="my-secret"
//	go run main.go -owner google -repo go-github SECRET_VARIABLE
package main

import (
	"context"
	crypto_rand "crypto/rand"
	"encoding/base64"
	"errors"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
	"golang.org/x/crypto/nacl/box"
)

var (
	repo  = flag.String("repo", "", "The repo that the secret should be added to, ex. go-github")
	owner = flag.String("owner", "", "The owner of there repo this should be added to, ex. google")
)

func main() {
	flag.Parse()

	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("please provide a GitHub API token via env variable GITHUB_AUTH_TOKEN")
	}

	if *repo == "" {
		log.Fatal("please provide required flag --repo to specify GitHub repository ")
	}

	if *owner == "" {
		log.Fatal("please provide required flag --owner to specify GitHub user/org owner")
	}

	secretName, err := getSecretName()
	if err != nil {
		log.Fatal(err)
	}

	secretValue, err := getSecretValue(secretName)
	if err != nil {
		log.Fatal(err)
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	if err := addRepoSecret(ctx, client, *owner, *repo, secretName, secretValue); err != nil {
		log.Fatal(err)
	}

	fmt.Printf("Added secret %q to the repo %v/%v\n", secretName, *owner, *repo)
}

func getSecretName() (string, error) {
	secretName := flag.Arg(0)
	if secretName == "" {
		return "", errors.New("missing argument secret name")
	}
	return secretName, nil
}

func getSecretValue(secretName string) (string, error) {
	secretValue := os.Getenv(secretName)
	if secretValue == "" {
		return "", fmt.Errorf("secret value not found under env variable %q", secretName)
	}
	return secretValue, nil
}

// addRepoSecret will add a secret to a GitHub repo for use in GitHub Actions.
//
// The secretName and secretValue will determine the name of the secret added and it's corresponding value.
//
// The actual transmission of the secret value to GitHub using the api requires that the secret value is encrypted
// using the public key of the target repo. This encryption is done using x/crypto/nacl/box.
//
// First, the public key of the repo is retrieved. The public key comes base64
// encoded, so it must be decoded prior to use.
//
// Second, the decode key is converted into a fixed size byte array.
//
// Third, the secret value is converted into a slice of bytes.
//
// Fourth, the secret is encrypted with box.SealAnonymous using the repo's decoded public key.
//
// Fifth, the encrypted secret is encoded as a base64 string to be used in a github.EncodedSecret type.
//
// Sixth, The other two properties of the github.EncodedSecret type are determined. The name of the secret to be added
// (string not base64), and the KeyID of the public key used to encrypt the secret.
// This can be retrieved via the public key's GetKeyID method.
//
// Finally, the github.EncodedSecret is passed into the GitHub client.Actions.CreateOrUpdateRepoSecret method to
// populate the secret in the GitHub repo.
func addRepoSecret(ctx context.Context, client *github.Client, owner, repo, secretName, secretValue string) error {
	publicKey, _, err := client.Actions.GetRepoPublicKey(ctx, owner, repo)
	if err != nil {
		return err
	}

	encryptedSecret, err := encryptSecretWithPublicKey(publicKey, secretName, secretValue)
	if err != nil {
		return err
	}

	if _, err := client.Actions.CreateOrUpdateRepoSecret(ctx, owner, repo, encryptedSecret); err != nil {
		return fmt.Errorf("client.Actions.CreateOrUpdateRepoSecret returned error: %v", err)
	}

	return nil
}

func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName, secretValue string) (*github.EncryptedSecret, error) {
	decodedPublicKey, err := base64.StdEncoding.DecodeString(publicKey.GetKey())
	if err != nil {
		return nil, fmt.Errorf("base64.StdEncoding.DecodeString was unable to decode public key: %v", err)
	}

	var boxKey [32]byte
	copy(boxKey[:], decodedPublicKey)
	encryptedBytes, err := box.SealAnonymous([]byte{}, []byte(secretValue), &boxKey, crypto_rand.Reader)
	if err != nil {
		return nil, fmt.Errorf("box.SealAnonymous failed with error %w", err)
	}

	encryptedString := base64.StdEncoding.EncodeToString(encryptedBytes)
	keyID := publicKey.GetKeyID()
	encryptedSecret := &github.EncryptedSecret{
		Name:           secretName,
		KeyID:          keyID,
		EncryptedValue: encryptedString,
	}
	return encryptedSecret, nil
}


================================================
FILE: example/otel/main.go
================================================
// Copyright 2026 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This example demonstrates how to use the otel transport to instrument
// the go-github client with OpenTelemetry tracing.
package main

import (
	"context"
	"fmt"
	"log"
	"net/http"

	"github.com/google/go-github/v84/github"
	"github.com/google/go-github/v84/otel"
	"go.opentelemetry.io/otel/exporters/stdout/stdouttrace"
	"go.opentelemetry.io/otel/sdk/trace"
)

func main() {
	// Initialize stdout exporter to see traces in console
	exporter, err := stdouttrace.New(stdouttrace.WithPrettyPrint())
	if err != nil {
		log.Fatalf("failed to initialize stdouttrace exporter: %v", err)
	}

	tp := trace.NewTracerProvider(
		trace.WithBatcher(exporter),
	)
	defer func() {
		if err := tp.Shutdown(context.Background()); err != nil {
			log.Fatal(err)
		}
	}()

	// Configure HTTP client with OTel transport
	httpClient := &http.Client{
		Transport: otel.NewTransport(
			http.DefaultTransport,
			otel.WithTracerProvider(tp),
		),
	}

	client := github.NewClient(httpClient)

	// Make a request (Get Rate Limits is public and cheap)
	limits, resp, err := client.RateLimit.Get(context.Background())
	if err != nil {
		log.Printf("Error fetching rate limits: %v", err)
	} else {
		fmt.Printf("Core Rate Limit: %v/%v (Resets at %v)\n",
			limits.GetCore().Remaining,
			limits.GetCore().Limit,
			limits.GetCore().Reset)
	}

	// Check if we captured attributes in response
	if resp != nil {
		fmt.Printf("Response Status: %v\n", resp.Status)
	}
}


================================================
FILE: example/ratelimit/main.go
================================================
// Copyright 2023 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The ratelimit command demonstrates using the github_ratelimit as well as github_pagination.
// By using the waiter, the client automatically sleeps and retry requests
// when it hits secondary rate limits.
// It also prevents the client from abusing the API in case of a primary rate limit.
package main

import (
	"context"
	"fmt"

	"github.com/gofri/go-github-pagination/githubpagination"
	"github.com/gofri/go-github-ratelimit/v2/github_ratelimit"
	"github.com/gofri/go-github-ratelimit/v2/github_ratelimit/github_primary_ratelimit"
	"github.com/gofri/go-github-ratelimit/v2/github_ratelimit/github_secondary_ratelimit"
	"github.com/google/go-github/v84/github"
)

func main() {
	var username string
	fmt.Print("Enter GitHub username: ")
	fmt.Scanf("%s", &username)

	rateLimiter := github_ratelimit.New(nil,
		github_primary_ratelimit.WithLimitDetectedCallback(func(ctx *github_primary_ratelimit.CallbackContext) {
			fmt.Printf("Primary rate limit detected: category %v, reset time: %v\n", ctx.Category, ctx.ResetTime)
		}),
		github_secondary_ratelimit.WithLimitDetectedCallback(func(ctx *github_secondary_ratelimit.CallbackContext) {
			fmt.Printf("Secondary rate limit detected: reset time: %v, total sleep time: %v\n", ctx.ResetTime, ctx.TotalSleepTime)
		}),
	)

	paginator := githubpagination.NewClient(rateLimiter,
		githubpagination.WithPerPage(100), // default to 100 results per page
	)
	client := github.NewClient(paginator)

	// arbitrary usage of the client
	repos, _, err := client.Repositories.ListByUser(context.Background(), username, nil)
	if err != nil {
		fmt.Printf("Error: %v\n", err)
		return
	}

	for i, repo := range repos {
		fmt.Printf("%v. %v\n", i+1, repo.GetName())
	}
}


================================================
FILE: example/simple/main.go
================================================
// Copyright 2017 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The simple command demonstrates a simple functionality which
// prompts the user for a GitHub username and lists all the public
// organization memberships of the specified username.
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v84/github"
)

// Fetch all the public organizations' membership of a user.
func fetchOrganizations(username string) ([]*github.Organization, error) {
	client := github.NewClient(nil)
	orgs, _, err := client.Organizations.List(context.Background(), username, nil)
	return orgs, err
}

func main() {
	var username string
	fmt.Print("Enter GitHub username: ")
	fmt.Scanf("%s", &username)

	organizations, err := fetchOrganizations(username)
	if err != nil {
		fmt.Printf("Error: %v\n", err)
		return
	}

	for i, organization := range organizations {
		fmt.Printf("%v. %v\n", i+1, organization.GetLogin())
	}
}


================================================
FILE: example/tokenauth/main.go
================================================
// Copyright 2020 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The tokenauth command demonstrates using a Personal Access Token (PAT) to
// authenticate with GitHub.
// You can test out a GitHub Personal Access Token using this simple example.
// You can generate them here: https://github.com/settings/tokens
package main

import (
	"context"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
	"golang.org/x/term"
)

func main() {
	fmt.Print("GitHub Token: ")
	token, _ := term.ReadPassword(int(os.Stdin.Fd()))
	fmt.Println()

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(string(token))

	user, resp, err := client.Users.Get(ctx, "")
	if err != nil {
		fmt.Printf("\nerror: %v\n", err)
		return
	}

	// Rate.Limit should most likely be 5000 when authorized.
	log.Printf("Rate: %#v\n", resp.Rate)

	// If a Token Expiration has been set, it will be displayed.
	if !resp.TokenExpiration.IsZero() {
		log.Printf("Token Expiration: %v\n", resp.TokenExpiration)
	}

	fmt.Printf("\n%v\n", github.Stringify(user))
}


================================================
FILE: example/topics/main.go
================================================
// Copyright 2019 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The simple command demonstrates the functionality that
// prompts the user for a GitHub topic and lists all the entities
// that are related to the specified topic or subject.
package main

import (
	"context"
	"fmt"

	"github.com/google/go-github/v84/github"
)

// Fetch and lists all the public topics associated with the specified GitHub topic.
func fetchTopics(topic string) (*github.TopicsSearchResult, error) {
	client := github.NewClient(nil)
	topics, _, err := client.Search.Topics(context.Background(), topic, nil)
	return topics, err
}

func main() {
	var topic string
	fmt.Print("Enter GitHub topic: ")
	fmt.Scanf("%s", &topic)

	topics, err := fetchTopics(topic)
	if err != nil {
		fmt.Printf("Error: %v\n", err)
		return
	}

	for _, topic := range topics.Topics {
		fmt.Println(*topic.Name)
	}
}


================================================
FILE: example/uploadreleaseassetfromrelease/main.go
================================================
// Copyright 2025 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// The uploadreleaseassetfromrelease example demonstrates how to upload
// a release asset using the UploadReleaseAssetFromRelease helper.
package main

import (
	"bytes"
	"context"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
)

func main() {
	token := os.Getenv("GITHUB_AUTH_TOKEN")
	if token == "" {
		log.Fatal("GITHUB_AUTH_TOKEN not set")
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	owner := "OWNER"
	repo := "REPO"
	releaseID := int64(1)

	// Fetch the release (UploadURL is populated by the API)
	release, _, err := client.Repositories.GetRelease(ctx, owner, repo, releaseID)
	if err != nil {
		log.Fatalf("GetRelease failed: %v", err)
	}

	// Asset content
	data := []byte("Hello from go-github!\n")
	reader := bytes.NewReader(data)
	size := int64(len(data))

	opts := &github.UploadOptions{
		Name:  "example.txt",
		Label: "Example asset",
	}

	asset, _, err := client.Repositories.UploadReleaseAssetFromRelease(
		ctx,
		release,
		opts,
		reader,
		size,
	)
	if err != nil {
		log.Fatalf("UploadReleaseAssetFromRelease failed: %v", err)
	}

	fmt.Printf("Uploaded asset ID: %v\n", asset.GetID())
}


================================================
FILE: example/verifyartifact/main.go
================================================
// Copyright 2024 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This is a simple example of how to verify an artifact
// attestations hosted on GitHub using the sigstore-go library.
// This is a very barebones example drawn from the sigstore-go
// library's examples and should not be used in production.
package main

import (
	"context"
	"encoding/hex"
	"encoding/json"
	"flag"
	"fmt"
	"log"
	"os"

	"github.com/google/go-github/v84/github"
	"github.com/sigstore/sigstore-go/pkg/bundle"
	"github.com/sigstore/sigstore-go/pkg/root"
	"github.com/sigstore/sigstore-go/pkg/verify"
)

var (
	owner = flag.String("owner", "cli", "GitHub organization or user to scope attestation lookup by")
	// You can use a utility like openssl or sha256sum to
	// compute the digest.
	artifactDigest = flag.String("artifact-digest", "", "The digest of the artifact")
	// The algorithm used to compute the digest of the artifact.
	// Note that the GitHub API only currently support querying
	// by sha256 digest.
	artifactDigestAlgorithm = flag.String("artifact-digest-algorithm", "sha256", "The algorithm used to compute the digest of the artifact")
	// Attestations produced by GitHub Actions use ID token
	// issued by GitHub.
	expectedIssuer = flag.String("expected-issuer", "https://token.actions.githubusercontent.com", "Issuer of the OIDC token")
	// Subject Alternative Name is set to the calling workflow file.
	// This value will vary from repository to repository.
	expectedSAN = flag.String("expected-san", "https://github.com/cli/cli/.github/workflows/deployment.yml@refs/heads/trunk", "The expected Subject Alternative Name (SAN) of the certificate used to sign the attestation")
	// Attestations produced by GitHub Actions use the public
	// good trust root maintained by Sigstore.
	// A copy is included in this repo for convenience.
	//
	// https://github.com/sigstore/root-signing/raw/refs/heads/main/targets/trusted_root.json
	trustedRootJSONPath = flag.String("trusted-root-json-path", "verifyartifact/trusted-root-public-good.json", "Path to the trusted root JSON file")
)

func usage() {
	fmt.Fprintln(os.Stderr, "This is an example of how to verify the provenance of an artifact using GitHub Attestations and the sigstore-go library.")
	fmt.Fprintf(os.Stderr, "\nUsage: %v [flags]\n", os.Args[0])
	fmt.Fprint(os.Stderr, "\nThe flags are:\n")
	flag.PrintDefaults()
	fmt.Fprintf(os.Stderr, `
Example:
Verifying a GitHub CLI artifact
	%v -owner cli \
		-artifact-digest 2ce2e480e3c3f7ca0af83418d3ebaeedacee135dbac94bd946d7d84edabcdb64 \
		-expected-san https://github.com/cli/cli/.github/workflows/deployment.yml@refs/heads/trunk

	See https://github.com/cli/cli/attestations/2543768 for a summary of the attestation.
`, os.Args[0])
}

func main() {
	flag.Parse()
	if *artifactDigest == "" {
		fmt.Fprintln(os.Stderr, "artifact-digest is required.")
		usage()
		os.Exit(1)
	}

	token := os.Getenv("GITHUB_AUTH_TOKEN")

	if token == "" {
		log.Fatal("Unauthorized: No token present. Please set the GITHUB_AUTH_TOKEN environment variable to a valid token with `attestations:read` permission.")
	}

	ctx := context.Background()
	client := github.NewClient(nil).WithAuthToken(token)

	// Fetch attestations from the GitHub API.
	// The attestations API doesn't differentiate between users and orgs,
	// so we can use the OrganizationsService to fetch attestations for both.
	attestations, _, err := client.Organizations.ListAttestations(ctx, *owner, fmt.Sprintf("%v:%v", *artifactDigestAlgorithm, *artifactDigest), nil)
	if err != nil {
		log.Fatal(err)
	}

	if len(attestations.Attestations) == 0 {
		log.Fatal("No attestations found.")
	}

	sev, err := getSignedEntityVerifier()
	if err != nil {
		log.Fatal(err)
	}

	pb, err := getPolicyBuilder()
	if err != nil {
		log.Fatal(err)
	}

	var b *bundle.Bundle
	for _, attestation := range attestations.Attestations {
		if err := json.Unmarshal(attestation.Bundle, &b); err != nil {
			log.Fatal(err)
		}

		err := runVerification(sev, pb, b)
		if err != nil {
			log.Fatal(err)
		}
	}
}

func getTrustedMaterial() (root.TrustedMaterialCollection, error) {
	trustedRootJSON, err := os.ReadFile(*trustedRootJSONPath)
	if err != nil {
		return nil, fmt.Errorf("failed to read %v: %w", *trustedRootJSONPath, err)
	}

	trustedRoot, err := root.NewTrustedRootFromJSON(trustedRootJSON)
	if err != nil {
		return nil, err
	}

	trustedMaterial := root.TrustedMaterialCollection{
		trustedRoot,
	}

	return trustedMaterial, nil
}

func getIdentityPolicies() ([]verify.PolicyOption, error) {
	certID, err := verify.NewShortCertificateIdentity(*expectedIssuer, "", *expectedSAN, "")
	if err != nil {
		return nil, err
	}

	return []verify.PolicyOption{
		verify.WithCertificateIdentity(certID),
	}, nil
}

func getSignedEntityVerifier() (*verify.Verifier, error) {
	// Set up the verifier
	verifierConfig := []verify.VerifierOption{
		verify.WithSignedCertificateTimestamps(1),
		verify.WithObserverTimestamps(1),
		verify.WithTransparencyLog(1),
	}

	// Set up the trusted material
	trustedMaterial, err := getTrustedMaterial()
	if err != nil {
		return nil, err
	}

	return verify.NewVerifier(trustedMaterial, verifierConfig...)
}

func getPolicyBuilder() (*verify.PolicyBuilder, error) {
	// Set up the identity policy
	identityPolicies, err := getIdentityPolicies()
	if err != nil {
		return nil, err
	}

	// Set up the artifact policy
	artifactDigestBytes, err := hex.DecodeString(*artifactDigest)
	if err != nil {
		return nil, err
	}
	artifactPolicy := verify.WithArtifactDigest(*artifactDigestAlgorithm, artifactDigestBytes)

	pb := verify.NewPolicy(artifactPolicy, identityPolicies...)
	return &pb, nil
}

func runVerification(sev *verify.Verifier, pb *verify.PolicyBuilder, b *bundle.Bundle) error {
	res, err := sev.Verify(b, *pb)
	if err != nil {
		return err
	}

	fmt.Fprint(os.Stderr, "Verification successful!\n")

	marshaled, err := json.MarshalIndent(res, "", "  ")
	if err != nil {
		return err
	}

	fmt.Println(string(marshaled))
	return nil
}


================================================
FILE: example/verifyartifact/trusted-root-public-good.json
================================================
{
  "mediaType": "application/vnd.dev.sigstore.trustedroot+json;version=0.1",
  "tlogs": [
    {
      "baseUrl": "https://rekor.sigstore.dev",
      "hashAlgorithm": "SHA2_256",
      "publicKey": {
        "rawBytes": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2G2Y+2tabdTV5BcGiBIx0a9fAFwrkBbmLSGtks4L3qX6yYY0zufBnhC8Ur/iy55GhWP/9A/bY2LhC30M9+RYtw==",
        "keyDetails": "PKIX_ECDSA_P256_SHA_256",
        "validFor": {
          "start": "2021-01-12T11:53:27.000Z"
        }
      },
      "logId": {
        "keyId": "wNI9atQGlz+VWfO6LRygH4QUfY/8W4RFwiT5i5WRgB0="
      }
    }
  ],
  "certificateAuthorities": [
    {
      "subject": {
        "organization": "sigstore.dev",
        "commonName": "sigstore"
      },
      "uri": "https://fulcio.sigstore.dev",
      "certChain": {
        "certificates": [
          {
            "rawBytes": "MIIB+DCCAX6gAwIBAgITNVkDZoCiofPDsy7dfm6geLbuhzAKBggqhkjOPQQDAzAqMRUwEwYDVQQKEwxzaWdzdG9yZS5kZXYxETAPBgNVBAMTCHNpZ3N0b3JlMB4XDTIxMDMwNzAzMjAyOVoXDTMxMDIyMzAzMjAyOVowKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLSyA7Ii5k+pNO8ZEWY0ylemWDowOkNa3kL+GZE5Z5GWehL9/A9bRNA3RbrsZ5i0JcastaRL7Sp5fp/jD5dxqc/UdTVnlvS16an+2Yfswe/QuLolRUCrcOE2+2iA5+tzd6NmMGQwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFMjFHQBBmiQpMlEk6w2uSu1KBtPsMB8GA1UdIwQYMBaAFMjFHQBBmiQpMlEk6w2uSu1KBtPsMAoGCCqGSM49BAMDA2gAMGUCMH8liWJfMui6vXXBhjDgY4MwslmN/TJxVe/83WrFomwmNf056y1X48F9c4m3a3ozXAIxAKjRay5/aj/jsKKGIkmQatjI8uupHr/+CxFvaJWmpYqNkLDGRU+9orzh5hI2RrcuaQ=="
          }
        ]
      },
      "validFor": {
        "start": "2021-03-07T03:20:29.000Z",
        "end": "2022-12-31T23:59:59.999Z"
      }
    },
    {
      "subject": {
        "organization": "sigstore.dev",
        "commonName": "sigstore"
      },
      "uri": "https://fulcio.sigstore.dev",
      "certChain": {
        "certificates": [
          {
            "rawBytes": "MIICGjCCAaGgAwIBAgIUALnViVfnU0brJasmRkHrn/UnfaQwCgYIKoZIzj0EAwMwKjEVMBMGA1UEChMMc2lnc3RvcmUuZGV2MREwDwYDVQQDEwhzaWdzdG9yZTAeFw0yMjA0MTMyMDA2MTVaFw0zMTEwMDUxMzU2NThaMDcxFTATBgNVBAoTDHNpZ3N0b3JlLmRldjEeMBwGA1UEAxMVc2lnc3RvcmUtaW50ZXJtZWRpYXRlMHYwEAYHKoZIzj0CA
Download .txt
gitextract_urjpxbct/

├── .codecov.yml
├── .custom-gcl.yml
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── linter.yml
│       └── tests.yml
├── .gitignore
├── .golangci.yml
├── AUTHORS
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── REVIEWERS
├── example/
│   ├── actionpermissions/
│   │   └── main.go
│   ├── appengine/
│   │   ├── app.go
│   │   └── app.yaml
│   ├── auditlogstream/
│   │   └── main.go
│   ├── basicauth/
│   │   └── main.go
│   ├── codespaces/
│   │   ├── newreposecretwithxcrypto/
│   │   │   └── main.go
│   │   └── newusersecretwithxcrypto/
│   │       └── main.go
│   ├── commitpr/
│   │   └── main.go
│   ├── go.mod
│   ├── go.sum
│   ├── listenvironments/
│   │   └── main.go
│   ├── migrations/
│   │   └── main.go
│   ├── newfilewithappauth/
│   │   └── main.go
│   ├── newrepo/
│   │   └── main.go
│   ├── newreposecretwithlibsodium/
│   │   ├── go.mod
│   │   ├── go.sum
│   │   └── main.go
│   ├── newreposecretwithxcrypto/
│   │   └── main.go
│   ├── otel/
│   │   └── main.go
│   ├── ratelimit/
│   │   └── main.go
│   ├── simple/
│   │   └── main.go
│   ├── tokenauth/
│   │   └── main.go
│   ├── topics/
│   │   └── main.go
│   ├── uploadreleaseassetfromrelease/
│   │   └── main.go
│   └── verifyartifact/
│       ├── main.go
│       └── trusted-root-public-good.json
├── github/
│   ├── actions.go
│   ├── actions_artifacts.go
│   ├── actions_artifacts_test.go
│   ├── actions_cache.go
│   ├── actions_cache_test.go
│   ├── actions_hosted_runners.go
│   ├── actions_hosted_runners_test.go
│   ├── actions_oidc.go
│   ├── actions_oidc_test.go
│   ├── actions_permissions_enterprise.go
│   ├── actions_permissions_enterprise_test.go
│   ├── actions_permissions_orgs.go
│   ├── actions_permissions_orgs_test.go
│   ├── actions_runner_groups.go
│   ├── actions_runner_groups_test.go
│   ├── actions_runners.go
│   ├── actions_runners_test.go
│   ├── actions_secrets.go
│   ├── actions_secrets_test.go
│   ├── actions_variables.go
│   ├── actions_variables_test.go
│   ├── actions_workflow_jobs.go
│   ├── actions_workflow_jobs_test.go
│   ├── actions_workflow_runs.go
│   ├── actions_workflow_runs_test.go
│   ├── actions_workflows.go
│   ├── actions_workflows_test.go
│   ├── activity.go
│   ├── activity_events.go
│   ├── activity_events_test.go
│   ├── activity_notifications.go
│   ├── activity_notifications_test.go
│   ├── activity_star.go
│   ├── activity_star_test.go
│   ├── activity_test.go
│   ├── activity_watching.go
│   ├── activity_watching_test.go
│   ├── admin.go
│   ├── admin_orgs.go
│   ├── admin_orgs_test.go
│   ├── admin_stats.go
│   ├── admin_stats_test.go
│   ├── admin_test.go
│   ├── admin_users.go
│   ├── admin_users_test.go
│   ├── apps.go
│   ├── apps_hooks.go
│   ├── apps_hooks_deliveries.go
│   ├── apps_hooks_deliveries_test.go
│   ├── apps_hooks_test.go
│   ├── apps_installation.go
│   ├── apps_installation_test.go
│   ├── apps_manifest.go
│   ├── apps_manifest_test.go
│   ├── apps_marketplace.go
│   ├── apps_marketplace_test.go
│   ├── apps_test.go
│   ├── attestations.go
│   ├── authorizations.go
│   ├── authorizations_test.go
│   ├── billing.go
│   ├── billing_test.go
│   ├── checks.go
│   ├── checks_test.go
│   ├── classroom.go
│   ├── classroom_test.go
│   ├── code_scanning.go
│   ├── code_scanning_test.go
│   ├── codesofconduct.go
│   ├── codesofconduct_test.go
│   ├── codespaces.go
│   ├── codespaces_machines.go
│   ├── codespaces_machines_test.go
│   ├── codespaces_orgs.go
│   ├── codespaces_orgs_test.go
│   ├── codespaces_secrets.go
│   ├── codespaces_secrets_test.go
│   ├── codespaces_test.go
│   ├── copilot.go
│   ├── copilot_test.go
│   ├── credentials.go
│   ├── credentials_test.go
│   ├── dependabot.go
│   ├── dependabot_alerts.go
│   ├── dependabot_alerts_test.go
│   ├── dependabot_secrets.go
│   ├── dependabot_secrets_test.go
│   ├── dependency_graph.go
│   ├── dependency_graph_snapshots.go
│   ├── dependency_graph_snapshots_test.go
│   ├── dependency_graph_test.go
│   ├── doc.go
│   ├── emojis.go
│   ├── emojis_test.go
│   ├── enterprise.go
│   ├── enterprise_actions_hosted_runners.go
│   ├── enterprise_actions_hosted_runners_test.go
│   ├── enterprise_actions_runner_groups.go
│   ├── enterprise_actions_runner_groups_test.go
│   ├── enterprise_actions_runners.go
│   ├── enterprise_actions_runners_test.go
│   ├── enterprise_app_installation.go
│   ├── enterprise_app_installation_test.go
│   ├── enterprise_apps.go
│   ├── enterprise_apps_test.go
│   ├── enterprise_audit_log.go
│   ├── enterprise_audit_log_stream.go
│   ├── enterprise_audit_log_stream_test.go
│   ├── enterprise_audit_log_test.go
│   ├── enterprise_billing_cost_centers.go
│   ├── enterprise_billing_cost_centers_test.go
│   ├── enterprise_budgets.go
│   ├── enterprise_budgets_test.go
│   ├── enterprise_code_security_and_analysis.go
│   ├── enterprise_code_security_and_analysis_test.go
│   ├── enterprise_codesecurity_configurations.go
│   ├── enterprise_codesecurity_configurations_test.go
│   ├── enterprise_licenses.go
│   ├── enterprise_licenses_test.go
│   ├── enterprise_manage_ghes.go
│   ├── enterprise_manage_ghes_config.go
│   ├── enterprise_manage_ghes_config_test.go
│   ├── enterprise_manage_ghes_maintenance.go
│   ├── enterprise_manage_ghes_maintenance_test.go
│   ├── enterprise_manage_ghes_ssh.go
│   ├── enterprise_manage_ghes_ssh_test.go
│   ├── enterprise_manage_ghes_test.go
│   ├── enterprise_network_configurations.go
│   ├── enterprise_network_configurations_test.go
│   ├── enterprise_organization_properties.go
│   ├── enterprise_organization_properties_test.go
│   ├── enterprise_properties.go
│   ├── enterprise_properties_test.go
│   ├── enterprise_rules.go
│   ├── enterprise_rules_test.go
│   ├── enterprise_scim.go
│   ├── enterprise_scim_test.go
│   ├── enterprise_team.go
│   ├── enterprise_team_test.go
│   ├── event.go
│   ├── event_test.go
│   ├── event_types.go
│   ├── event_types_test.go
│   ├── example_iterators_test.go
│   ├── examples_test.go
│   ├── fuzz_messages_test.go
│   ├── gen-accessors.go
│   ├── gen-iterators.go
│   ├── gen-stringify-test.go
│   ├── gists.go
│   ├── gists_comments.go
│   ├── gists_comments_test.go
│   ├── gists_test.go
│   ├── git.go
│   ├── git_blobs.go
│   ├── git_blobs_test.go
│   ├── git_commits.go
│   ├── git_commits_test.go
│   ├── git_refs.go
│   ├── git_refs_test.go
│   ├── git_tags.go
│   ├── git_tags_test.go
│   ├── git_trees.go
│   ├── git_trees_test.go
│   ├── github-accessors.go
│   ├── github-accessors_test.go
│   ├── github-iterators.go
│   ├── github-iterators_test.go
│   ├── github-stringify_test.go
│   ├── github.go
│   ├── github_test.go
│   ├── gitignore.go
│   ├── gitignore_test.go
│   ├── interactions.go
│   ├── interactions_orgs.go
│   ├── interactions_orgs_test.go
│   ├── interactions_repos.go
│   ├── interactions_repos_test.go
│   ├── interactions_test.go
│   ├── issue_import.go
│   ├── issue_import_test.go
│   ├── issues.go
│   ├── issues_assignees.go
│   ├── issues_assignees_test.go
│   ├── issues_comments.go
│   ├── issues_comments_test.go
│   ├── issues_events.go
│   ├── issues_events_test.go
│   ├── issues_labels.go
│   ├── issues_labels_test.go
│   ├── issues_milestones.go
│   ├── issues_milestones_test.go
│   ├── issues_test.go
│   ├── issues_timeline.go
│   ├── issues_timeline_test.go
│   ├── licenses.go
│   ├── licenses_test.go
│   ├── markdown.go
│   ├── markdown_test.go
│   ├── messages.go
│   ├── messages_test.go
│   ├── meta.go
│   ├── meta_test.go
│   ├── migrations.go
│   ├── migrations_source_import.go
│   ├── migrations_source_import_test.go
│   ├── migrations_test.go
│   ├── migrations_user.go
│   ├── migrations_user_test.go
│   ├── orgs.go
│   ├── orgs_actions_allowed.go
│   ├── orgs_actions_allowed_test.go
│   ├── orgs_actions_permissions.go
│   ├── orgs_actions_permissions_test.go
│   ├── orgs_artifacts.go
│   ├── orgs_artifacts_test.go
│   ├── orgs_attestations.go
│   ├── orgs_attestations_test.go
│   ├── orgs_audit_log.go
│   ├── orgs_audit_log_test.go
│   ├── orgs_codesecurity_configurations.go
│   ├── orgs_codesecurity_configurations_test.go
│   ├── orgs_credential_authorizations.go
│   ├── orgs_credential_authorizations_test.go
│   ├── orgs_custom_repository_roles.go
│   ├── orgs_custom_repository_roles_test.go
│   ├── orgs_hooks.go
│   ├── orgs_hooks_configuration.go
│   ├── orgs_hooks_configuration_test.go
│   ├── orgs_hooks_deliveries.go
│   ├── orgs_hooks_deliveries_test.go
│   ├── orgs_hooks_test.go
│   ├── orgs_immutable_releases.go
│   ├── orgs_immutable_releases_test.go
│   ├── orgs_issue_types.go
│   ├── orgs_issue_types_test.go
│   ├── orgs_members.go
│   ├── orgs_members_test.go
│   ├── orgs_network_configurations.go
│   ├── orgs_network_configurations_test.go
│   ├── orgs_organization_properties.go
│   ├── orgs_organization_properties_test.go
│   ├── orgs_organization_roles.go
│   ├── orgs_organization_roles_test.go
│   ├── orgs_outside_collaborators.go
│   ├── orgs_outside_collaborators_test.go
│   ├── orgs_packages.go
│   ├── orgs_packages_test.go
│   ├── orgs_personal_access_tokens.go
│   ├── orgs_personal_access_tokens_test.go
│   ├── orgs_properties.go
│   ├── orgs_properties_test.go
│   ├── orgs_rules.go
│   ├── orgs_rules_test.go
│   ├── orgs_security_managers.go
│   ├── orgs_security_managers_test.go
│   ├── orgs_test.go
│   ├── orgs_users_blocking.go
│   ├── orgs_users_blocking_test.go
│   ├── packages.go
│   ├── packages_test.go
│   ├── private_registries.go
│   ├── private_registries_test.go
│   ├── projects.go
│   ├── projects_test.go
│   ├── pulls.go
│   ├── pulls_comments.go
│   ├── pulls_comments_test.go
│   ├── pulls_reviewers.go
│   ├── pulls_reviewers_test.go
│   ├── pulls_reviews.go
│   ├── pulls_reviews_test.go
│   ├── pulls_test.go
│   ├── pulls_threads.go
│   ├── pulls_threads_test.go
│   ├── rate_limit.go
│   ├── rate_limit_test.go
│   ├── reactions.go
│   ├── reactions_test.go
│   ├── repos.go
│   ├── repos_actions_access.go
│   ├── repos_actions_access_test.go
│   ├── repos_actions_allowed.go
│   ├── repos_actions_allowed_test.go
│   ├── repos_actions_permissions.go
│   ├── repos_actions_permissions_test.go
│   ├── repos_attestations.go
│   ├── repos_attestations_test.go
│   ├── repos_autolinks.go
│   ├── repos_autolinks_test.go
│   ├── repos_codeowners.go
│   ├── repos_codeowners_test.go
│   ├── repos_collaborators.go
│   ├── repos_collaborators_test.go
│   ├── repos_comments.go
│   ├── repos_comments_test.go
│   ├── repos_commits.go
│   ├── repos_commits_test.go
│   ├── repos_community_health.go
│   ├── repos_community_health_test.go
│   ├── repos_contents.go
│   ├── repos_contents_test.go
│   ├── repos_deployment_branch_policies.go
│   ├── repos_deployment_branch_policies_test.go
│   ├── repos_deployment_protection_rules.go
│   ├── repos_deployment_protection_rules_test.go
│   ├── repos_deployments.go
│   ├── repos_deployments_test.go
│   ├── repos_environments.go
│   ├── repos_environments_test.go
│   ├── repos_forks.go
│   ├── repos_forks_test.go
│   ├── repos_hooks.go
│   ├── repos_hooks_configuration.go
│   ├── repos_hooks_configuration_test.go
│   ├── repos_hooks_deliveries.go
│   ├── repos_hooks_deliveries_test.go
│   ├── repos_hooks_test.go
│   ├── repos_immutable_releases.go
│   ├── repos_immutable_releases_test.go
│   ├── repos_invitations.go
│   ├── repos_invitations_test.go
│   ├── repos_keys.go
│   ├── repos_keys_test.go
│   ├── repos_lfs.go
│   ├── repos_lfs_test.go
│   ├── repos_merging.go
│   ├── repos_merging_test.go
│   ├── repos_pages.go
│   ├── repos_pages_test.go
│   ├── repos_prereceive_hooks.go
│   ├── repos_prereceive_hooks_test.go
│   ├── repos_properties.go
│   ├── repos_properties_test.go
│   ├── repos_releases.go
│   ├── repos_releases_test.go
│   ├── repos_rules.go
│   ├── repos_rules_test.go
│   ├── repos_stats.go
│   ├── repos_stats_test.go
│   ├── repos_statuses.go
│   ├── repos_statuses_test.go
│   ├── repos_tags.go
│   ├── repos_tags_test.go
│   ├── repos_test.go
│   ├── repos_traffic.go
│   ├── repos_traffic_test.go
│   ├── rules.go
│   ├── rules_test.go
│   ├── scim.go
│   ├── scim_test.go
│   ├── search.go
│   ├── search_test.go
│   ├── secret_scanning.go
│   ├── secret_scanning_pattern_configs.go
│   ├── secret_scanning_pattern_configs_test.go
│   ├── secret_scanning_test.go
│   ├── security_advisories.go
│   ├── security_advisories_test.go
│   ├── strings.go
│   ├── strings_benchmark_test.go
│   ├── strings_test.go
│   ├── sub_issue.go
│   ├── sub_issue_test.go
│   ├── teams.go
│   ├── teams_discussion_comments.go
│   ├── teams_discussion_comments_test.go
│   ├── teams_discussions.go
│   ├── teams_discussions_test.go
│   ├── teams_members.go
│   ├── teams_members_test.go
│   ├── teams_test.go
│   ├── timestamp.go
│   ├── timestamp_test.go
│   ├── users.go
│   ├── users_administration.go
│   ├── users_administration_test.go
│   ├── users_attestations.go
│   ├── users_attestations_test.go
│   ├── users_blocking.go
│   ├── users_blocking_test.go
│   ├── users_emails.go
│   ├── users_emails_test.go
│   ├── users_followers.go
│   ├── users_followers_test.go
│   ├── users_gpg_keys.go
│   ├── users_gpg_keys_test.go
│   ├── users_keys.go
│   ├── users_keys_test.go
│   ├── users_packages.go
│   ├── users_packages_test.go
│   ├── users_social_accounts.go
│   ├── users_social_accounts_test.go
│   ├── users_ssh_signing_keys.go
│   ├── users_ssh_signing_keys_test.go
│   ├── users_test.go
│   ├── with_appengine.go
│   └── without_appengine.go
├── go.mod
├── go.sum
├── openapi_operations.yaml
├── otel/
│   ├── go.mod
│   ├── go.sum
│   ├── transport.go
│   └── transport_test.go
├── scrape/
│   ├── README.md
│   ├── apps.go
│   ├── apps_test.go
│   ├── example/
│   │   └── scrape/
│   │       └── main.go
│   ├── forms.go
│   ├── forms_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── payment.go
│   ├── scrape.go
│   ├── scrape_test.go
│   └── testdata/
│       ├── access-restrictions-disabled.html
│       └── access-restrictions-enabled.html
├── script/
│   ├── fmt.sh
│   ├── generate.sh
│   ├── lint.sh
│   ├── metadata.sh
│   ├── run-check-structfield-settings.sh
│   ├── setup-custom-gcl.sh
│   └── test.sh
├── test/
│   ├── README.md
│   ├── fields/
│   │   └── fields.go
│   └── integration/
│       ├── activity_test.go
│       ├── audit_log_test.go
│       ├── authorizations_test.go
│       ├── doc.go
│       ├── github_test.go
│       ├── issues_test.go
│       ├── licences_test.go
│       ├── misc_test.go
│       ├── pagination_test.go
│       ├── projects_test.go
│       ├── pulls_test.go
│       ├── repos_test.go
│       └── users_test.go
└── tools/
    ├── check-structfield-settings/
    │   ├── go.mod
    │   ├── go.sum
    │   └── main.go
    ├── extraneousnew/
    │   ├── extraneousnew.go
    │   ├── extraneousnew_test.go
    │   ├── go.mod
    │   ├── go.sum
    │   └── testdata/
    │       └── src/
    │           ├── has-warnings/
    │           │   └── main.go
    │           └── no-warnings/
    │               └── main.go
    ├── fmtpercentv/
    │   ├── fmtpercentv.go
    │   ├── fmtpercentv_test.go
    │   ├── go.mod
    │   ├── go.sum
    │   └── testdata/
    │       └── src/
    │           ├── has-warnings/
    │           │   └── main.go
    │           └── no-warnings/
    │               └── main.go
    ├── gen-release-notes/
    │   └── main.go
    ├── go.mod
    ├── go.sum
    ├── metadata/
    │   ├── main.go
    │   ├── main_test.go
    │   ├── metadata.go
    │   ├── metadata_test.go
    │   ├── openapi.go
    │   └── testdata/
    │       ├── format/
    │       │   └── openapi_operations.yaml
    │       ├── golden/
    │       │   ├── TestFormat/
    │       │   │   └── openapi_operations.yaml
    │       │   ├── TestUpdateGo/
    │       │   │   └── valid/
    │       │   │       └── github/
    │       │   │           └── a.go
    │       │   └── TestUpdateOpenAPI/
    │       │       └── openapi_operations.yaml
    │       ├── unused/
    │       │   ├── github/
    │       │   │   └── a.go
    │       │   └── openapi_operations.yaml
    │       ├── update-go/
    │       │   ├── invalid/
    │       │   │   ├── github/
    │       │   │   │   └── a.go
    │       │   │   └── openapi_operations.yaml
    │       │   └── valid/
    │       │       ├── github/
    │       │       │   ├── a.go
    │       │       │   └── ignoreme.txt
    │       │       └── openapi_operations.yaml
    │       └── update-openapi/
    │           └── openapi_operations.yaml
    ├── sliceofpointers/
    │   ├── go.mod
    │   ├── go.sum
    │   ├── sliceofpointers.go
    │   ├── sliceofpointers_test.go
    │   └── testdata/
    │       └── src/
    │           ├── has-warnings/
    │           │   └── main.go
    │           └── no-warnings/
    │               └── main.go
    └── structfield/
        ├── go.mod
        ├── go.sum
        ├── structfield.go
        ├── structfield_test.go
        └── testdata/
            └── src/
                ├── has-warnings/
                │   └── main.go
                └── no-warnings/
                    └── main.go
Download .txt
Showing preview only (1,796K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (16722 symbols across 467 files)

FILE: example/actionpermissions/main.go
  function main (line 25) | func main() {

FILE: example/appengine/app.go
  function init (line 20) | func init() {
  function handler (line 24) | func handler(w http.ResponseWriter, r *http.Request) {

FILE: example/auditlogstream/main.go
  function encryptSecret (line 46) | func encryptSecret(publicKeyB64, secret string) (string, error) {
  function main (line 64) | func main() {
  function newFlagSet (line 82) | func newFlagSet(name string) (*flag.FlagSet, *string) {
  function parseAndInit (line 91) | func parseAndInit(fs *flag.FlagSet, enterprise *string, args []string) (...
  function runCreate (line 104) | func runCreate(args []string) {
  function runDelete (line 144) | func runDelete(args []string) {
  function newClient (line 159) | func newClient(token, apiURL string) *github.Client {
  function requireEnv (line 167) | func requireEnv(name string) string {
  function requireFlag (line 175) | func requireFlag(name, val string) {
  function requireIntFlag (line 181) | func requireIntFlag(name string, val int64) {

FILE: example/basicauth/main.go
  function main (line 29) | func main() {

FILE: example/codespaces/newreposecretwithxcrypto/main.go
  function main (line 49) | func main() {
  function getSecretName (line 85) | func getSecretName() (string, error) {
  function getSecretValue (line 93) | func getSecretValue(secretName string) (string, error) {
  function addRepoSecret (line 125) | func addRepoSecret(ctx context.Context, client *github.Client, owner, re...
  function encryptSecretWithPublicKey (line 143) | func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName,...

FILE: example/codespaces/newusersecretwithxcrypto/main.go
  function main (line 50) | func main() {
  function getSecretName (line 78) | func getSecretName() (string, error) {
  function getSecretValue (line 86) | func getSecretValue(secretName string) (string, error) {
  function addUserSecret (line 120) | func addUserSecret(ctx context.Context, client *github.Client, secretNam...
  function encryptSecretWithPublicKey (line 150) | func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName,...

FILE: example/commitpr/main.go
  function getRef (line 67) | func getRef() (ref *github.Reference, err error) {
  function branchRef (line 92) | func branchRef(name string) string {
  function getTree (line 98) | func getTree(ref *github.Reference) (tree *github.Tree, err error) {
  function getFileContent (line 117) | func getFileContent(fileArg string) (targetName string, b []byte, err er...
  function pushCommit (line 136) | func pushCommit(ref *github.Reference, tree *github.Tree) (err error) {
  function createPR (line 182) | func createPR() (err error) {
  function main (line 215) | func main() {

FILE: example/listenvironments/main.go
  function main (line 24) | func main() {

FILE: example/migrations/main.go
  function fetchAllUserMigrations (line 18) | func fetchAllUserMigrations() ([]*github.UserMigration, error) {
  function main (line 26) | func main() {

FILE: example/newfilewithappauth/main.go
  function main (line 22) | func main() {

FILE: example/newrepo/main.go
  function main (line 29) | func main() {

FILE: example/newreposecretwithlibsodium/main.go
  function main (line 47) | func main() {
  function getSecretName (line 83) | func getSecretName() (string, error) {
  function getSecretValue (line 91) | func getSecretValue(secretName string) (string, error) {
  function addRepoSecret (line 121) | func addRepoSecret(ctx context.Context, client *github.Client, owner, re...
  function encryptSecretWithPublicKey (line 139) | func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName,...

FILE: example/newreposecretwithxcrypto/main.go
  function main (line 49) | func main() {
  function getSecretName (line 85) | func getSecretName() (string, error) {
  function getSecretValue (line 93) | func getSecretValue(secretName string) (string, error) {
  function addRepoSecret (line 125) | func addRepoSecret(ctx context.Context, client *github.Client, owner, re...
  function encryptSecretWithPublicKey (line 143) | func encryptSecretWithPublicKey(publicKey *github.PublicKey, secretName,...

FILE: example/otel/main.go
  function main (line 22) | func main() {

FILE: example/ratelimit/main.go
  function main (line 23) | func main() {

FILE: example/simple/main.go
  function fetchOrganizations (line 19) | func fetchOrganizations(username string) ([]*github.Organization, error) {
  function main (line 25) | func main() {

FILE: example/tokenauth/main.go
  function main (line 22) | func main() {

FILE: example/topics/main.go
  function fetchTopics (line 19) | func fetchTopics(topic string) (*github.TopicsSearchResult, error) {
  function main (line 25) | func main() {

FILE: example/uploadreleaseassetfromrelease/main.go
  function main (line 20) | func main() {

FILE: example/verifyartifact/main.go
  function usage (line 50) | func usage() {
  function main (line 66) | func main() {
  function getTrustedMaterial (line 118) | func getTrustedMaterial() (root.TrustedMaterialCollection, error) {
  function getIdentityPolicies (line 136) | func getIdentityPolicies() ([]verify.PolicyOption, error) {
  function getSignedEntityVerifier (line 147) | func getSignedEntityVerifier() (*verify.Verifier, error) {
  function getPolicyBuilder (line 164) | func getPolicyBuilder() (*verify.PolicyBuilder, error) {
  function runVerification (line 182) | func runVerification(sev *verify.Verifier, pb *verify.PolicyBuilder, b *...

FILE: github/actions.go
  type ActionsService (line 12) | type ActionsService

FILE: github/actions_artifacts.go
  type ArtifactWorkflowRun (line 18) | type ArtifactWorkflowRun struct
  type Artifact (line 31) | type Artifact struct
  type ArtifactList (line 52) | type ArtifactList struct
  type ListArtifactsOptions (line 59) | type ListArtifactsOptions struct
  type ArtifactPeriod (line 69) | type ArtifactPeriod struct
    method String (line 74) | func (a ArtifactPeriod) String() string { return Stringify(a) }
  type ArtifactPeriodOpt (line 78) | type ArtifactPeriodOpt struct
  method ListArtifacts (line 87) | func (s *ActionsService) ListArtifacts(ctx context.Context, owner, repo ...
  method ListWorkflowRunArtifacts (line 113) | func (s *ActionsService) ListWorkflowRunArtifacts(ctx context.Context, o...
  method GetArtifact (line 139) | func (s *ActionsService) GetArtifact(ctx context.Context, owner, repo st...
  method DownloadArtifact (line 161) | func (s *ActionsService) DownloadArtifact(ctx context.Context, owner, re...
  method downloadArtifactWithoutRateLimit (line 171) | func (s *ActionsService) downloadArtifactWithoutRateLimit(ctx context.Co...
  method downloadArtifactWithRateLimit (line 190) | func (s *ActionsService) downloadArtifactWithRateLimit(ctx context.Conte...
  method DeleteArtifact (line 215) | func (s *ActionsService) DeleteArtifact(ctx context.Context, owner, repo...

FILE: github/actions_artifacts_test.go
  function TestActionsService_ListArtifacts (line 19) | func TestActionsService_ListArtifacts(t *testing.T) {
  function TestActionsService_ListArtifacts_invalidOwner (line 64) | func TestActionsService_ListArtifacts_invalidOwner(t *testing.T) {
  function TestActionsService_ListArtifacts_invalidRepo (line 73) | func TestActionsService_ListArtifacts_invalidRepo(t *testing.T) {
  function TestActionsService_ListArtifacts_notFound (line 82) | func TestActionsService_ListArtifacts_notFound(t *testing.T) {
  function TestActionsService_ListWorkflowRunArtifacts (line 104) | func TestActionsService_ListWorkflowRunArtifacts(t *testing.T) {
  function TestActionsService_ListWorkflowRunArtifacts_invalidOwner (line 146) | func TestActionsService_ListWorkflowRunArtifacts_invalidOwner(t *testing...
  function TestActionsService_ListWorkflowRunArtifacts_invalidRepo (line 155) | func TestActionsService_ListWorkflowRunArtifacts_invalidRepo(t *testing....
  function TestActionsService_ListWorkflowRunArtifacts_notFound (line 164) | func TestActionsService_ListWorkflowRunArtifacts_notFound(t *testing.T) {
  function TestActionsService_GetArtifact (line 186) | func TestActionsService_GetArtifact(t *testing.T) {
  function TestActionsService_GetArtifact_invalidOwner (line 233) | func TestActionsService_GetArtifact_invalidOwner(t *testing.T) {
  function TestActionsService_GetArtifact_invalidRepo (line 242) | func TestActionsService_GetArtifact_invalidRepo(t *testing.T) {
  function TestActionsService_GetArtifact_notFound (line 251) | func TestActionsService_GetArtifact_notFound(t *testing.T) {
  function TestActionsService_DownloadArtifact (line 273) | func TestActionsService_DownloadArtifact(t *testing.T) {
  function TestActionsService_DownloadArtifact_invalidOwner (line 335) | func TestActionsService_DownloadArtifact_invalidOwner(t *testing.T) {
  function TestActionsService_DownloadArtifact_invalidRepo (line 364) | func TestActionsService_DownloadArtifact_invalidRepo(t *testing.T) {
  function TestActionsService_DownloadArtifact_StatusMovedPermanently_dontFollowRedirects (line 393) | func TestActionsService_DownloadArtifact_StatusMovedPermanently_dontFoll...
  function TestActionsService_DownloadArtifact_StatusMovedPermanently_followRedirects (line 429) | func TestActionsService_DownloadArtifact_StatusMovedPermanently_followRe...
  function TestActionsService_DownloadArtifact_unexpectedCode (line 477) | func TestActionsService_DownloadArtifact_unexpectedCode(t *testing.T) {
  function TestActionsService_DeleteArtifact (line 527) | func TestActionsService_DeleteArtifact(t *testing.T) {
  function TestActionsService_DeleteArtifact_invalidOwner (line 552) | func TestActionsService_DeleteArtifact_invalidOwner(t *testing.T) {
  function TestActionsService_DeleteArtifact_invalidRepo (line 561) | func TestActionsService_DeleteArtifact_invalidRepo(t *testing.T) {
  function TestActionsService_DeleteArtifact_notFound (line 570) | func TestActionsService_DeleteArtifact_notFound(t *testing.T) {
  function TestArtifact_Marshal (line 589) | func TestArtifact_Marshal(t *testing.T) {
  function TestArtifactList_Marshal (line 636) | func TestArtifactList_Marshal(t *testing.T) {

FILE: github/actions_cache.go
  type ActionsCache (line 16) | type ActionsCache struct
  type ActionsCacheList (line 29) | type ActionsCacheList struct
  type ActionsCacheUsage (line 37) | type ActionsCacheUsage struct
  type ActionsCacheUsageList (line 46) | type ActionsCacheUsageList struct
  type TotalCacheUsage (line 54) | type TotalCacheUsage struct
  type ActionsCacheListOptions (line 62) | type ActionsCacheListOptions struct
  method ListCaches (line 83) | func (s *ActionsService) ListCaches(ctx context.Context, owner, repo str...
  method DeleteCachesByKey (line 115) | func (s *ActionsService) DeleteCachesByKey(ctx context.Context, owner, r...
  method DeleteCachesByID (line 137) | func (s *ActionsService) DeleteCachesByID(ctx context.Context, owner, re...
  method GetCacheUsageForRepo (line 156) | func (s *ActionsService) GetCacheUsageForRepo(ctx context.Context, owner...
  method ListCacheUsageByRepoForOrg (line 181) | func (s *ActionsService) ListCacheUsageByRepoForOrg(ctx context.Context,...
  method GetTotalCacheUsageForOrg (line 211) | func (s *ActionsService) GetTotalCacheUsageForOrg(ctx context.Context, o...
  method GetTotalCacheUsageForEnterprise (line 235) | func (s *ActionsService) GetTotalCacheUsageForEnterprise(ctx context.Con...

FILE: github/actions_cache_test.go
  function TestActionsService_ListCaches (line 16) | func TestActionsService_ListCaches(t *testing.T) {
  function TestActionsService_ListCaches_invalidOwner (line 58) | func TestActionsService_ListCaches_invalidOwner(t *testing.T) {
  function TestActionsService_ListCaches_invalidRepo (line 67) | func TestActionsService_ListCaches_invalidRepo(t *testing.T) {
  function TestActionsService_ListCaches_notFound (line 76) | func TestActionsService_ListCaches_notFound(t *testing.T) {
  function TestActionsService_DeleteCachesByKey (line 98) | func TestActionsService_DeleteCachesByKey(t *testing.T) {
  function TestActionsService_DeleteCachesByKey_invalidOwner (line 124) | func TestActionsService_DeleteCachesByKey_invalidOwner(t *testing.T) {
  function TestActionsService_DeleteCachesByKey_invalidRepo (line 133) | func TestActionsService_DeleteCachesByKey_invalidRepo(t *testing.T) {
  function TestActionsService_DeleteCachesByKey_notFound (line 142) | func TestActionsService_DeleteCachesByKey_notFound(t *testing.T) {
  function TestActionsService_DeleteCachesByID (line 161) | func TestActionsService_DeleteCachesByID(t *testing.T) {
  function TestActionsService_DeleteCachesByID_invalidOwner (line 186) | func TestActionsService_DeleteCachesByID_invalidOwner(t *testing.T) {
  function TestActionsService_DeleteCachesByID_invalidRepo (line 195) | func TestActionsService_DeleteCachesByID_invalidRepo(t *testing.T) {
  function TestActionsService_DeleteCachesByID_notFound (line 204) | func TestActionsService_DeleteCachesByID_notFound(t *testing.T) {
  function TestActionsService_GetCacheUsageForRepo (line 223) | func TestActionsService_GetCacheUsageForRepo(t *testing.T) {
  function TestActionsService_GetCacheUsageForRepo_invalidOwner (line 264) | func TestActionsService_GetCacheUsageForRepo_invalidOwner(t *testing.T) {
  function TestActionsService_GetCacheUsageForRepo_invalidRepo (line 273) | func TestActionsService_GetCacheUsageForRepo_invalidRepo(t *testing.T) {
  function TestActionsService_GetCacheUsageForRepo_notFound (line 282) | func TestActionsService_GetCacheUsageForRepo_notFound(t *testing.T) {
  function TestActionsService_ListCacheUsageByRepoForOrg (line 304) | func TestActionsService_ListCacheUsageByRepoForOrg(t *testing.T) {
  function TestActionsService_ListCacheUsageByRepoForOrg_invalidOrganization (line 346) | func TestActionsService_ListCacheUsageByRepoForOrg_invalidOrganization(t...
  function TestActionsService_ListCacheUsageByRepoForOrg_notFound (line 355) | func TestActionsService_ListCacheUsageByRepoForOrg_notFound(t *testing.T) {
  function TestActionsService_GetCacheUsageForOrg (line 377) | func TestActionsService_GetCacheUsageForOrg(t *testing.T) {
  function TestActionsService_GetCacheUsageForOrg_invalidOrganization (line 417) | func TestActionsService_GetCacheUsageForOrg_invalidOrganization(t *testi...
  function TestActionsService_GetCacheUsageForOrg_notFound (line 426) | func TestActionsService_GetCacheUsageForOrg_notFound(t *testing.T) {
  function TestActionsService_GetCacheUsageForEnterprise (line 448) | func TestActionsService_GetCacheUsageForEnterprise(t *testing.T) {
  function TestActionsService_GetCacheUsageForEnterprise_invalidEnterprise (line 488) | func TestActionsService_GetCacheUsageForEnterprise_invalidEnterprise(t *...
  function TestActionsService_GetCacheUsageForEnterprise_notFound (line 497) | func TestActionsService_GetCacheUsageForEnterprise_notFound(t *testing.T) {
  function TestActionsCache_Marshal (line 519) | func TestActionsCache_Marshal(t *testing.T) {
  function TestActionsCacheList_Marshal (line 546) | func TestActionsCacheList_Marshal(t *testing.T) {
  function TestActionsCacheUsage_Marshal (line 591) | func TestActionsCacheUsage_Marshal(t *testing.T) {
  function TestActionsCacheUsageList_Marshal (line 614) | func TestActionsCacheUsageList_Marshal(t *testing.T) {
  function TestTotalCacheUsage_Marshal (line 641) | func TestTotalCacheUsage_Marshal(t *testing.T) {

FILE: github/actions_hosted_runners.go
  type HostedRunnerPublicIP (line 15) | type HostedRunnerPublicIP struct
  type HostedRunnerMachineSpec (line 22) | type HostedRunnerMachineSpec struct
  type HostedRunner (line 30) | type HostedRunner struct
  type HostedRunnerImageDetail (line 45) | type HostedRunnerImageDetail struct
  type HostedRunners (line 54) | type HostedRunners struct
  method ListHostedRunners (line 64) | func (s *ActionsService) ListHostedRunners(ctx context.Context, org stri...
  type HostedRunnerImage (line 86) | type HostedRunnerImage struct
  type CreateHostedRunnerRequest (line 96) | type CreateHostedRunnerRequest struct
  type UpdateHostedRunnerRequest (line 107) | type UpdateHostedRunnerRequest struct
  function validateCreateHostedRunnerRequest (line 122) | func validateCreateHostedRunnerRequest(request *CreateHostedRunnerReques...
  method CreateHostedRunner (line 143) | func (s *ActionsService) CreateHostedRunner(ctx context.Context, org str...
  type HostedRunnerCustomImage (line 164) | type HostedRunnerCustomImage struct
  type HostedRunnerCustomImages (line 176) | type HostedRunnerCustomImages struct
  type HostedRunnerCustomImageVersion (line 182) | type HostedRunnerCustomImageVersion struct
  type HostedRunnerCustomImageVersions (line 191) | type HostedRunnerCustomImageVersions struct
  type HostedRunnerImageSpecs (line 197) | type HostedRunnerImageSpecs struct
  type HostedRunnerImages (line 206) | type HostedRunnerImages struct
  method GetHostedRunnerGitHubOwnedImages (line 216) | func (s *ActionsService) GetHostedRunnerGitHubOwnedImages(ctx context.Co...
  method GetHostedRunnerPartnerImages (line 237) | func (s *ActionsService) GetHostedRunnerPartnerImages(ctx context.Contex...
  type HostedRunnerPublicIPLimits (line 254) | type HostedRunnerPublicIPLimits struct
  type PublicIPUsage (line 259) | type PublicIPUsage struct
  method GetHostedRunnerLimits (line 269) | func (s *ActionsService) GetHostedRunnerLimits(ctx context.Context, org ...
  type HostedRunnerMachineSpecs (line 286) | type HostedRunnerMachineSpecs struct
  method GetHostedRunnerMachineSpecs (line 296) | func (s *ActionsService) GetHostedRunnerMachineSpecs(ctx context.Context...
  type HostedRunnerPlatforms (line 313) | type HostedRunnerPlatforms struct
  method GetHostedRunnerPlatforms (line 323) | func (s *ActionsService) GetHostedRunnerPlatforms(ctx context.Context, o...
  method GetHostedRunner (line 344) | func (s *ActionsService) GetHostedRunner(ctx context.Context, org string...
  method UpdateHostedRunner (line 365) | func (s *ActionsService) UpdateHostedRunner(ctx context.Context, org str...
  method DeleteHostedRunner (line 386) | func (s *ActionsService) DeleteHostedRunner(ctx context.Context, org str...
  method ListHostedRunnerCustomImages (line 407) | func (s *ActionsService) ListHostedRunnerCustomImages(ctx context.Contex...
  method GetHostedRunnerCustomImage (line 428) | func (s *ActionsService) GetHostedRunnerCustomImage(ctx context.Context,...
  method DeleteHostedRunnerCustomImage (line 449) | func (s *ActionsService) DeleteHostedRunnerCustomImage(ctx context.Conte...
  method ListHostedRunnerCustomImageVersions (line 464) | func (s *ActionsService) ListHostedRunnerCustomImageVersions(ctx context...
  method GetHostedRunnerCustomImageVersion (line 485) | func (s *ActionsService) GetHostedRunnerCustomImageVersion(ctx context.C...
  method DeleteHostedRunnerCustomImageVersion (line 506) | func (s *ActionsService) DeleteHostedRunnerCustomImageVersion(ctx contex...

FILE: github/actions_hosted_runners_test.go
  function TestActionsService_ListHostedRunners (line 17) | func TestActionsService_ListHostedRunners(t *testing.T) {
  function TestActionsService_CreateHostedRunner (line 158) | func TestActionsService_CreateHostedRunner(t *testing.T) {
  function TestActionsService_GetHostedRunnerGitHubOwnedImages (line 324) | func TestActionsService_GetHostedRunnerGitHubOwnedImages(t *testing.T) {
  function TestActionsService_GetHostedRunnerPartnerImages (line 382) | func TestActionsService_GetHostedRunnerPartnerImages(t *testing.T) {
  function TestActionsService_GetHostedRunnerLimits (line 440) | func TestActionsService_GetHostedRunnerLimits(t *testing.T) {
  function TestActionsService_GetHostedRunnerMachineSpecs (line 486) | func TestActionsService_GetHostedRunnerMachineSpecs(t *testing.T) {
  function TestActionsService_GetHostedRunnerPlatforms (line 541) | func TestActionsService_GetHostedRunnerPlatforms(t *testing.T) {
  function TestActionsService_GetHostedRunner (line 588) | func TestActionsService_GetHostedRunner(t *testing.T) {
  function TestActionsService_UpdateHostedRunner (line 677) | func TestActionsService_UpdateHostedRunner(t *testing.T) {
  function TestActionsService_DeleteHostedRunner (line 773) | func TestActionsService_DeleteHostedRunner(t *testing.T) {
  function TestActionsService_ListHostedRunnerCustomImages (line 862) | func TestActionsService_ListHostedRunnerCustomImages(t *testing.T) {
  function TestActionsService_GetHostedRunnerCustomImage (line 946) | func TestActionsService_GetHostedRunnerCustomImage(t *testing.T) {
  function TestActionsService_DeleteHostedRunnerCustomImage (line 1000) | func TestActionsService_DeleteHostedRunnerCustomImage(t *testing.T) {
  function TestActionsService_ListHostedRunnerCustomImageVersions (line 1025) | func TestActionsService_ListHostedRunnerCustomImageVersions(t *testing.T) {
  function TestActionsService_GetHostedRunnerCustomImageVersion (line 1097) | func TestActionsService_GetHostedRunnerCustomImageVersion(t *testing.T) {
  function TestActionsService_DeleteHostedRunnerCustomImageVersion (line 1145) | func TestActionsService_DeleteHostedRunnerCustomImageVersion(t *testing....

FILE: github/actions_oidc.go
  type OIDCSubjectClaimCustomTemplate (line 14) | type OIDCSubjectClaimCustomTemplate struct
  method GetOrgOIDCSubjectClaimCustomTemplate (line 24) | func (s *ActionsService) GetOrgOIDCSubjectClaimCustomTemplate(ctx contex...
  method GetRepoOIDCSubjectClaimCustomTemplate (line 34) | func (s *ActionsService) GetRepoOIDCSubjectClaimCustomTemplate(ctx conte...
  method getOIDCSubjectClaimCustomTemplate (line 39) | func (s *ActionsService) getOIDCSubjectClaimCustomTemplate(ctx context.C...
  method SetOrgOIDCSubjectClaimCustomTemplate (line 59) | func (s *ActionsService) SetOrgOIDCSubjectClaimCustomTemplate(ctx contex...
  method SetRepoOIDCSubjectClaimCustomTemplate (line 69) | func (s *ActionsService) SetRepoOIDCSubjectClaimCustomTemplate(ctx conte...
  method setOIDCSubjectClaimCustomTemplate (line 74) | func (s *ActionsService) setOIDCSubjectClaimCustomTemplate(ctx context.C...

FILE: github/actions_oidc_test.go
  function TestActionsService_GetOrgOIDCSubjectClaimCustomTemplate (line 16) | func TestActionsService_GetOrgOIDCSubjectClaimCustomTemplate(t *testing....
  function TestActionsService_GetRepoOIDCSubjectClaimCustomTemplate (line 51) | func TestActionsService_GetRepoOIDCSubjectClaimCustomTemplate(t *testing...
  function TestActionsService_SetOrgOIDCSubjectClaimCustomTemplate (line 86) | func TestActionsService_SetOrgOIDCSubjectClaimCustomTemplate(t *testing....
  function TestActionsService_SetRepoOIDCSubjectClaimCustomTemplate (line 118) | func TestActionsService_SetRepoOIDCSubjectClaimCustomTemplate(t *testing...
  function TestActionService_SetRepoOIDCSubjectClaimCustomTemplateToDefault (line 151) | func TestActionService_SetRepoOIDCSubjectClaimCustomTemplateToDefault(t ...
  function TestOIDCSubjectClaimCustomTemplate_Marshal (line 182) | func TestOIDCSubjectClaimCustomTemplate_Marshal(t *testing.T) {

FILE: github/actions_permissions_enterprise.go
  type ActionsEnabledOnEnterpriseRepos (line 14) | type ActionsEnabledOnEnterpriseRepos struct
  type ActionsPermissionsEnterprise (line 22) | type ActionsPermissionsEnterprise struct
    method String (line 28) | func (a ActionsPermissionsEnterprise) String() string {
  type DefaultWorkflowPermissionEnterprise (line 35) | type DefaultWorkflowPermissionEnterprise struct
  type SelfHostRunnerPermissionsEnterprise (line 41) | type SelfHostRunnerPermissionsEnterprise struct
    method String (line 45) | func (a SelfHostRunnerPermissionsEnterprise) String() string {
  method GetActionsPermissionsInEnterprise (line 54) | func (s *ActionsService) GetActionsPermissionsInEnterprise(ctx context.C...
  method UpdateActionsPermissionsInEnterprise (line 76) | func (s *ActionsService) UpdateActionsPermissionsInEnterprise(ctx contex...
  method ListEnabledOrgsInEnterprise (line 97) | func (s *ActionsService) ListEnabledOrgsInEnterprise(ctx context.Context...
  method SetEnabledOrgsInEnterprise (line 123) | func (s *ActionsService) SetEnabledOrgsInEnterprise(ctx context.Context,...
  method AddEnabledOrgInEnterprise (line 146) | func (s *ActionsService) AddEnabledOrgInEnterprise(ctx context.Context, ...
  method RemoveEnabledOrgInEnterprise (line 167) | func (s *ActionsService) RemoveEnabledOrgInEnterprise(ctx context.Contex...
  method GetActionsAllowedInEnterprise (line 188) | func (s *ActionsService) GetActionsAllowedInEnterprise(ctx context.Conte...
  method UpdateActionsAllowedInEnterprise (line 210) | func (s *ActionsService) UpdateActionsAllowedInEnterprise(ctx context.Co...
  method GetDefaultWorkflowPermissionsInEnterprise (line 231) | func (s *ActionsService) GetDefaultWorkflowPermissionsInEnterprise(ctx c...
  method UpdateDefaultWorkflowPermissionsInEnterprise (line 253) | func (s *ActionsService) UpdateDefaultWorkflowPermissionsInEnterprise(ct...
  method GetArtifactAndLogRetentionPeriodInEnterprise (line 274) | func (s *ActionsService) GetArtifactAndLogRetentionPeriodInEnterprise(ct...
  method UpdateArtifactAndLogRetentionPeriodInEnterprise (line 296) | func (s *ActionsService) UpdateArtifactAndLogRetentionPeriodInEnterprise...
  method GetSelfHostedRunnerPermissionsInEnterprise (line 311) | func (s *ActionsService) GetSelfHostedRunnerPermissionsInEnterprise(ctx ...
  method UpdateSelfHostedRunnerPermissionsInEnterprise (line 332) | func (s *ActionsService) UpdateSelfHostedRunnerPermissionsInEnterprise(c...
  method GetPrivateRepoForkPRWorkflowSettingsInEnterprise (line 347) | func (s *ActionsService) GetPrivateRepoForkPRWorkflowSettingsInEnterpris...
  method UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise (line 369) | func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInEnterp...
  method GetEnterpriseForkPRContributorApprovalPermissions (line 384) | func (s *ActionsService) GetEnterpriseForkPRContributorApprovalPermissio...
  method UpdateEnterpriseForkPRContributorApprovalPermissions (line 406) | func (s *ActionsService) UpdateEnterpriseForkPRContributorApprovalPermis...

FILE: github/actions_permissions_enterprise_test.go
  function TestActionsService_GetActionsPermissionsInEnterprise (line 17) | func TestActionsService_GetActionsPermissionsInEnterprise(t *testing.T) {
  function TestActionsService_UpdateActionsPermissionsInEnterprise (line 51) | func TestActionsService_UpdateActionsPermissionsInEnterprise(t *testing....
  function TestActionsService_ListEnabledOrgsInEnterprise (line 95) | func TestActionsService_ListEnabledOrgsInEnterprise(t *testing.T) {
  function TestActionsService_SetEnabledOrgsInEnterprise (line 139) | func TestActionsService_SetEnabledOrgsInEnterprise(t *testing.T) {
  function TestActionsService_AddEnabledOrgInEnterprise (line 168) | func TestActionsService_AddEnabledOrgInEnterprise(t *testing.T) {
  function TestActionsService_RemoveEnabledOrgInEnterprise (line 195) | func TestActionsService_RemoveEnabledOrgInEnterprise(t *testing.T) {
  function TestActionsService_GetActionsAllowedInEnterprise (line 222) | func TestActionsService_GetActionsAllowedInEnterprise(t *testing.T) {
  function TestActionsService_UpdateActionsAllowedInEnterprise (line 256) | func TestActionsService_UpdateActionsAllowedInEnterprise(t *testing.T) {
  function TestActionsService_GetDefaultWorkflowPermissionsInEnterprise (line 300) | func TestActionsService_GetDefaultWorkflowPermissionsInEnterprise(t *tes...
  function TestActionsService_UpdateDefaultWorkflowPermissionsInEnterprise (line 334) | func TestActionsService_UpdateDefaultWorkflowPermissionsInEnterprise(t *...
  function TestActionsService_GetArtifactAndLogRetentionPeriodInEnterprise (line 378) | func TestActionsService_GetArtifactAndLogRetentionPeriodInEnterprise(t *...
  function TestActionsService_UpdateArtifactAndLogRetentionPeriodInEnterprise (line 416) | func TestActionsService_UpdateArtifactAndLogRetentionPeriodInEnterprise(...
  function TestActionsService_GetSelfHostedRunnerPermissionsInEnterprise (line 454) | func TestActionsService_GetSelfHostedRunnerPermissionsInEnterprise(t *te...
  function TestActionsService_UpdateSelfHostedRunnerPermissionsInEnterprise (line 488) | func TestActionsService_UpdateSelfHostedRunnerPermissionsInEnterprise(t ...
  function TestActionsService_GetPrivateRepoForkPRWorkflowSettingsInEnterprise (line 526) | func TestActionsService_GetPrivateRepoForkPRWorkflowSettingsInEnterprise...
  function TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInEnterprise (line 565) | func TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInEnterpr...
  function TestActionsService_GetEnterpriseForkPRContributorApprovalPermissions (line 607) | func TestActionsService_GetEnterpriseForkPRContributorApprovalPermission...
  function TestActionsService_UpdateEnterpriseForkPRContributorApprovalPermissions (line 641) | func TestActionsService_UpdateEnterpriseForkPRContributorApprovalPermiss...

FILE: github/actions_permissions_orgs.go
  type ActionsPermissions (line 16) | type ActionsPermissions struct
    method String (line 23) | func (a ActionsPermissions) String() string {
  type ActionsEnabledOnOrgRepos (line 28) | type ActionsEnabledOnOrgRepos struct
  type ActionsAllowed (line 36) | type ActionsAllowed struct
    method String (line 42) | func (a ActionsAllowed) String() string {
  type DefaultWorkflowPermissionOrganization (line 49) | type DefaultWorkflowPermissionOrganization struct
  type SelfHostedRunnersSettingsOrganization (line 55) | type SelfHostedRunnersSettingsOrganization struct
    method String (line 60) | func (s SelfHostedRunnersSettingsOrganization) String() string {
  type SelfHostedRunnersSettingsOrganizationOpt (line 65) | type SelfHostedRunnersSettingsOrganizationOpt struct
  method GetActionsPermissions (line 74) | func (s *ActionsService) GetActionsPermissions(ctx context.Context, org ...
  method UpdateActionsPermissions (line 96) | func (s *ActionsService) UpdateActionsPermissions(ctx context.Context, o...
  method ListEnabledReposInOrg (line 117) | func (s *ActionsService) ListEnabledReposInOrg(ctx context.Context, owne...
  method SetEnabledReposInOrg (line 143) | func (s *ActionsService) SetEnabledReposInOrg(ctx context.Context, owner...
  method AddEnabledReposInOrg (line 166) | func (s *ActionsService) AddEnabledReposInOrg(ctx context.Context, owner...
  method RemoveEnabledReposInOrg (line 187) | func (s *ActionsService) RemoveEnabledReposInOrg(ctx context.Context, ow...
  method GetActionsAllowed (line 208) | func (s *ActionsService) GetActionsAllowed(ctx context.Context, org stri...
  method UpdateActionsAllowed (line 230) | func (s *ActionsService) UpdateActionsAllowed(ctx context.Context, org s...
  method GetDefaultWorkflowPermissionsInOrganization (line 251) | func (s *ActionsService) GetDefaultWorkflowPermissionsInOrganization(ctx...
  method UpdateDefaultWorkflowPermissionsInOrganization (line 273) | func (s *ActionsService) UpdateDefaultWorkflowPermissionsInOrganization(...
  method GetArtifactAndLogRetentionPeriodInOrganization (line 294) | func (s *ActionsService) GetArtifactAndLogRetentionPeriodInOrganization(...
  method UpdateArtifactAndLogRetentionPeriodInOrganization (line 316) | func (s *ActionsService) UpdateArtifactAndLogRetentionPeriodInOrganizati...
  method GetSelfHostedRunnersSettingsInOrganization (line 331) | func (s *ActionsService) GetSelfHostedRunnersSettingsInOrganization(ctx ...
  method UpdateSelfHostedRunnersSettingsInOrganization (line 353) | func (s *ActionsService) UpdateSelfHostedRunnersSettingsInOrganization(c...
  type SelfHostedRunnersAllowedRepos (line 365) | type SelfHostedRunnersAllowedRepos struct
  method ListRepositoriesSelfHostedRunnersAllowedInOrganization (line 375) | func (s *ActionsService) ListRepositoriesSelfHostedRunnersAllowedInOrgan...
  method SetRepositoriesSelfHostedRunnersAllowedInOrganization (line 401) | func (s *ActionsService) SetRepositoriesSelfHostedRunnersAllowedInOrgani...
  method AddRepositorySelfHostedRunnersAllowedInOrganization (line 419) | func (s *ActionsService) AddRepositorySelfHostedRunnersAllowedInOrganiza...
  method RemoveRepositorySelfHostedRunnersAllowedInOrganization (line 435) | func (s *ActionsService) RemoveRepositorySelfHostedRunnersAllowedInOrgan...
  method GetPrivateRepoForkPRWorkflowSettingsInOrganization (line 456) | func (s *ActionsService) GetPrivateRepoForkPRWorkflowSettingsInOrganizat...
  method UpdatePrivateRepoForkPRWorkflowSettingsInOrganization (line 478) | func (s *ActionsService) UpdatePrivateRepoForkPRWorkflowSettingsInOrgani...
  method GetOrganizationForkPRContributorApprovalPermissions (line 493) | func (s *ActionsService) GetOrganizationForkPRContributorApprovalPermiss...
  method UpdateOrganizationForkPRContributorApprovalPermissions (line 515) | func (s *ActionsService) UpdateOrganizationForkPRContributorApprovalPerm...

FILE: github/actions_permissions_orgs_test.go
  function TestActionsService_GetActionsPermissions (line 17) | func TestActionsService_GetActionsPermissions(t *testing.T) {
  function TestActionsService_UpdateActionsPermissions (line 51) | func TestActionsService_UpdateActionsPermissions(t *testing.T) {
  function TestActionsService_ListEnabledReposInOrg (line 95) | func TestActionsService_ListEnabledReposInOrg(t *testing.T) {
  function TestActionsService_SetEnabledReposInOrg (line 139) | func TestActionsService_SetEnabledReposInOrg(t *testing.T) {
  function TestActionsService_AddEnabledReposInOrg (line 168) | func TestActionsService_AddEnabledReposInOrg(t *testing.T) {
  function TestActionsService_RemoveEnabledReposInOrg (line 195) | func TestActionsService_RemoveEnabledReposInOrg(t *testing.T) {
  function TestActionsService_GetActionsAllowed (line 222) | func TestActionsService_GetActionsAllowed(t *testing.T) {
  function TestActionsService_UpdateActionsAllowed (line 256) | func TestActionsService_UpdateActionsAllowed(t *testing.T) {
  function TestActionsAllowed_Marshal (line 300) | func TestActionsAllowed_Marshal(t *testing.T) {
  function TestActionsPermissions_Marshal (line 321) | func TestActionsPermissions_Marshal(t *testing.T) {
  function TestActionsService_GetDefaultWorkflowPermissionsInOrganization (line 342) | func TestActionsService_GetDefaultWorkflowPermissionsInOrganization(t *t...
  function TestActionsService_UpdateDefaultWorkflowPermissionsInOrganization (line 376) | func TestActionsService_UpdateDefaultWorkflowPermissionsInOrganization(t...
  function TestActionsService_GetArtifactAndLogRetentionPeriodInOrganization (line 420) | func TestActionsService_GetArtifactAndLogRetentionPeriodInOrganization(t...
  function TestActionsService_UpdateArtifactAndLogRetentionPeriodInOrganization (line 458) | func TestActionsService_UpdateArtifactAndLogRetentionPeriodInOrganizatio...
  function TestActionsService_GetSelfHostedRunnersSettingsInOrganization (line 496) | func TestActionsService_GetSelfHostedRunnersSettingsInOrganization(t *te...
  function TestActionsService_UpdateSelfHostedRunnersSettingsInOrganization (line 533) | func TestActionsService_UpdateSelfHostedRunnersSettingsInOrganization(t ...
  function TestActionsService_ListRepositoriesSelfHostedRunnersAllowedInOrganization (line 571) | func TestActionsService_ListRepositoriesSelfHostedRunnersAllowedInOrgani...
  function TestActionsService_SetRepositoriesSelfHostedRunnersAllowedInOrganization (line 615) | func TestActionsService_SetRepositoriesSelfHostedRunnersAllowedInOrganiz...
  function TestActionsService_AddRepositorySelfHostedRunnersAllowedInOrganization (line 644) | func TestActionsService_AddRepositorySelfHostedRunnersAllowedInOrganizat...
  function TestActionsService_RemoveRepositorySelfHostedRunnersAllowedInOrganization (line 671) | func TestActionsService_RemoveRepositorySelfHostedRunnersAllowedInOrgani...
  function TestActionsService_GetPrivateRepoForkPRWorkflowSettingsInOrganization (line 698) | func TestActionsService_GetPrivateRepoForkPRWorkflowSettingsInOrganizati...
  function TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInOrganization (line 737) | func TestActionsService_UpdatePrivateRepoForkPRWorkflowSettingsInOrganiz...
  function TestActionsService_GetOrganizationForkPRContributorApprovalPermissions (line 779) | func TestActionsService_GetOrganizationForkPRContributorApprovalPermissi...
  function TestActionsService_UpdateOrganizationForkPRContributorApprovalPermissions (line 813) | func TestActionsService_UpdateOrganizationForkPRContributorApprovalPermi...

FILE: github/actions_runner_groups.go
  type RunnerGroup (line 14) | type RunnerGroup struct
  type RunnerGroups (line 31) | type RunnerGroups struct
  type CreateRunnerGroupRequest (line 37) | type CreateRunnerGroupRequest struct
  type UpdateRunnerGroupRequest (line 55) | type UpdateRunnerGroupRequest struct
  type SetRepoAccessRunnerGroupRequest (line 66) | type SetRepoAccessRunnerGroupRequest struct
  type SetRunnerGroupRunnersRequest (line 73) | type SetRunnerGroupRunnersRequest struct
  type ListOrgRunnerGroupOptions (line 79) | type ListOrgRunnerGroupOptions struct
  method ListOrganizationRunnerGroups (line 91) | func (s *ActionsService) ListOrganizationRunnerGroups(ctx context.Contex...
  method GetOrganizationRunnerGroup (line 117) | func (s *ActionsService) GetOrganizationRunnerGroup(ctx context.Context,...
  method DeleteOrganizationRunnerGroup (line 138) | func (s *ActionsService) DeleteOrganizationRunnerGroup(ctx context.Conte...
  method CreateOrganizationRunnerGroup (line 154) | func (s *ActionsService) CreateOrganizationRunnerGroup(ctx context.Conte...
  method UpdateOrganizationRunnerGroup (line 175) | func (s *ActionsService) UpdateOrganizationRunnerGroup(ctx context.Conte...
  method ListRepositoryAccessRunnerGroup (line 196) | func (s *ActionsService) ListRepositoryAccessRunnerGroup(ctx context.Con...
  method SetRepositoryAccessRunnerGroup (line 223) | func (s *ActionsService) SetRepositoryAccessRunnerGroup(ctx context.Cont...
  method AddRepositoryAccessRunnerGroup (line 240) | func (s *ActionsService) AddRepositoryAccessRunnerGroup(ctx context.Cont...
  method RemoveRepositoryAccessRunnerGroup (line 257) | func (s *ActionsService) RemoveRepositoryAccessRunnerGroup(ctx context.C...
  method ListRunnerGroupHostedRunners (line 273) | func (s *ActionsService) ListRunnerGroupHostedRunners(ctx context.Contex...
  method ListRunnerGroupRunners (line 299) | func (s *ActionsService) ListRunnerGroupRunners(ctx context.Context, org...
  method SetRunnerGroupRunners (line 326) | func (s *ActionsService) SetRunnerGroupRunners(ctx context.Context, org ...
  method AddRunnerGroupRunners (line 342) | func (s *ActionsService) AddRunnerGroupRunners(ctx context.Context, org ...
  method RemoveRunnerGroupRunners (line 359) | func (s *ActionsService) RemoveRunnerGroupRunners(ctx context.Context, o...

FILE: github/actions_runner_groups_test.go
  function TestActionsService_ListOrganizationRunnerGroups (line 17) | func TestActionsService_ListOrganizationRunnerGroups(t *testing.T) {
  function TestActionsService_ListOrganizationRunnerGroupsVisibleToRepo (line 61) | func TestActionsService_ListOrganizationRunnerGroupsVisibleToRepo(t *tes...
  function TestActionsService_GetOrganizationRunnerGroup (line 105) | func TestActionsService_GetOrganizationRunnerGroup(t *testing.T) {
  function TestActionsService_DeleteOrganizationRunnerGroup (line 154) | func TestActionsService_DeleteOrganizationRunnerGroup(t *testing.T) {
  function TestActionsService_CreateOrganizationRunnerGroup (line 179) | func TestActionsService_CreateOrganizationRunnerGroup(t *testing.T) {
  function TestActionsService_UpdateOrganizationRunnerGroup (line 236) | func TestActionsService_UpdateOrganizationRunnerGroup(t *testing.T) {
  function TestActionsService_ListRepositoryAccessRunnerGroup (line 293) | func TestActionsService_ListRepositoryAccessRunnerGroup(t *testing.T) {
  function TestActionsService_SetRepositoryAccessRunnerGroup (line 335) | func TestActionsService_SetRepositoryAccessRunnerGroup(t *testing.T) {
  function TestActionsService_AddRepositoryAccessRunnerGroup (line 367) | func TestActionsService_AddRepositoryAccessRunnerGroup(t *testing.T) {
  function TestActionsService_RemoveRepositoryAccessRunnerGroup (line 392) | func TestActionsService_RemoveRepositoryAccessRunnerGroup(t *testing.T) {
  function TestActionsService_ListRunnerGroupHostedRunners (line 417) | func TestActionsService_ListRunnerGroupHostedRunners(t *testing.T) {
  function TestActionsService_ListRunnerGroupRunners (line 560) | func TestActionsService_ListRunnerGroupRunners(t *testing.T) {
  function TestActionsService_SetRunnerGroupRunners (line 603) | func TestActionsService_SetRunnerGroupRunners(t *testing.T) {
  function TestActionsService_AddRunnerGroupRunners (line 635) | func TestActionsService_AddRunnerGroupRunners(t *testing.T) {
  function TestActionsService_RemoveRunnerGroupRunners (line 660) | func TestActionsService_RemoveRunnerGroupRunners(t *testing.T) {
  function TestRunnerGroup_Marshal (line 685) | func TestRunnerGroup_Marshal(t *testing.T) {
  function TestRunnerGroups_Marshal (line 720) | func TestRunnerGroups_Marshal(t *testing.T) {
  function TestCreateRunnerGroupRequest_Marshal (line 766) | func TestCreateRunnerGroupRequest_Marshal(t *testing.T) {
  function TestUpdateRunnerGroupRequest_Marshal (line 795) | func TestUpdateRunnerGroupRequest_Marshal(t *testing.T) {
  function TestSetRepoAccessRunnerGroupRequest_Marshal (line 818) | func TestSetRepoAccessRunnerGroupRequest_Marshal(t *testing.T) {
  function TestSetRunnerGroupRunnersRequest_Marshal (line 833) | func TestSetRunnerGroupRunnersRequest_Marshal(t *testing.T) {

FILE: github/actions_runners.go
  type RunnerApplicationDownload (line 14) | type RunnerApplicationDownload struct
  method ListRunnerApplicationDownloads (line 28) | func (s *ActionsService) ListRunnerApplicationDownloads(ctx context.Cont...
  type GenerateJITConfigRequest (line 45) | type GenerateJITConfigRequest struct
  type JITRunnerConfig (line 56) | type JITRunnerConfig struct
  method GenerateOrgJITConfig (line 66) | func (s *ActionsService) GenerateOrgJITConfig(ctx context.Context, org s...
  method GenerateRepoJITConfig (line 87) | func (s *ActionsService) GenerateRepoJITConfig(ctx context.Context, owne...
  type RegistrationToken (line 104) | type RegistrationToken struct
  method CreateRegistrationToken (line 114) | func (s *ActionsService) CreateRegistrationToken(ctx context.Context, ow...
  type Runner (line 132) | type Runner struct
  type RunnerLabels (line 142) | type RunnerLabels struct
  type Runners (line 149) | type Runners struct
  type ListRunnersOptions (line 155) | type ListRunnersOptions struct
  method ListRunners (line 165) | func (s *ActionsService) ListRunners(ctx context.Context, owner, repo st...
  method GetRunner (line 191) | func (s *ActionsService) GetRunner(ctx context.Context, owner, repo stri...
  type RemoveToken (line 208) | type RemoveToken struct
  method CreateRemoveToken (line 218) | func (s *ActionsService) CreateRemoveToken(ctx context.Context, owner, r...
  method RemoveRunner (line 240) | func (s *ActionsService) RemoveRunner(ctx context.Context, owner, repo s...
  method ListOrganizationRunnerApplicationDownloads (line 256) | func (s *ActionsService) ListOrganizationRunnerApplicationDownloads(ctx ...
  method CreateOrganizationRegistrationToken (line 277) | func (s *ActionsService) CreateOrganizationRegistrationToken(ctx context...
  method ListOrganizationRunners (line 299) | func (s *ActionsService) ListOrganizationRunners(ctx context.Context, or...
  method GetOrganizationRunner (line 325) | func (s *ActionsService) GetOrganizationRunner(ctx context.Context, org ...
  method CreateOrganizationRemoveToken (line 346) | func (s *ActionsService) CreateOrganizationRemoveToken(ctx context.Conte...
  method RemoveOrganizationRunner (line 368) | func (s *ActionsService) RemoveOrganizationRunner(ctx context.Context, o...

FILE: github/actions_runners_test.go
  function TestActionsService_ListRunnerApplicationDownloads (line 18) | func TestActionsService_ListRunnerApplicationDownloads(t *testing.T) {
  function TestActionsService_GenerateOrgJITConfig (line 59) | func TestActionsService_GenerateOrgJITConfig(t *testing.T) {
  function TestActionsService_GenerateRepoJITConfig (line 103) | func TestActionsService_GenerateRepoJITConfig(t *testing.T) {
  function TestActionsService_CreateRegistrationToken (line 147) | func TestActionsService_CreateRegistrationToken(t *testing.T) {
  function TestActionsService_ListRunners (line 186) | func TestActionsService_ListRunners(t *testing.T) {
  function TestActionsService_GetRunner (line 231) | func TestActionsService_GetRunner(t *testing.T) {
  function TestActionsService_CreateRemoveToken (line 271) | func TestActionsService_CreateRemoveToken(t *testing.T) {
  function TestActionsService_RemoveRunner (line 306) | func TestActionsService_RemoveRunner(t *testing.T) {
  function TestActionsService_ListOrganizationRunnerApplicationDownloads (line 331) | func TestActionsService_ListOrganizationRunnerApplicationDownloads(t *te...
  function TestActionsService_CreateOrganizationRegistrationToken (line 372) | func TestActionsService_CreateOrganizationRegistrationToken(t *testing.T) {
  function TestActionsService_ListOrganizationRunners (line 411) | func TestActionsService_ListOrganizationRunners(t *testing.T) {
  function TestActionsService_GetOrganizationRunner (line 456) | func TestActionsService_GetOrganizationRunner(t *testing.T) {
  function TestActionsService_CreateOrganizationRemoveToken (line 496) | func TestActionsService_CreateOrganizationRemoveToken(t *testing.T) {
  function TestActionsService_RemoveOrganizationRunner (line 531) | func TestActionsService_RemoveOrganizationRunner(t *testing.T) {
  function TestRunnerApplicationDownload_Marshal (line 556) | func TestRunnerApplicationDownload_Marshal(t *testing.T) {
  function TestActionsEnabledOnOrgRepos_Marshal (line 581) | func TestActionsEnabledOnOrgRepos_Marshal(t *testing.T) {
  function TestRegistrationToken_Marshal (line 613) | func TestRegistrationToken_Marshal(t *testing.T) {
  function TestRunnerLabels_Marshal (line 630) | func TestRunnerLabels_Marshal(t *testing.T) {
  function TestRunner_Marshal (line 649) | func TestRunner_Marshal(t *testing.T) {
  function TestRunners_Marshal (line 686) | func TestRunners_Marshal(t *testing.T) {
  function TestRemoveToken_Marshal (line 736) | func TestRemoveToken_Marshal(t *testing.T) {

FILE: github/actions_secrets.go
  type PublicKey (line 17) | type PublicKey struct
    method UnmarshalJSON (line 25) | func (p *PublicKey) UnmarshalJSON(data []byte) error {
  method getPublicKey (line 51) | func (s *ActionsService) getPublicKey(ctx context.Context, url string) (...
  method GetRepoPublicKey (line 71) | func (s *ActionsService) GetRepoPublicKey(ctx context.Context, owner, re...
  method GetOrgPublicKey (line 81) | func (s *ActionsService) GetOrgPublicKey(ctx context.Context, org string...
  method GetEnvPublicKey (line 91) | func (s *ActionsService) GetEnvPublicKey(ctx context.Context, repoID int...
  type Secret (line 97) | type Secret struct
  type Secrets (line 106) | type Secrets struct
  method listSecrets (line 111) | func (s *ActionsService) listSecrets(ctx context.Context, url string, op...
  method ListRepoSecrets (line 137) | func (s *ActionsService) ListRepoSecrets(ctx context.Context, owner, rep...
  method ListRepoOrgSecrets (line 148) | func (s *ActionsService) ListRepoOrgSecrets(ctx context.Context, owner, ...
  method ListOrgSecrets (line 159) | func (s *ActionsService) ListOrgSecrets(ctx context.Context, org string,...
  method ListEnvSecrets (line 169) | func (s *ActionsService) ListEnvSecrets(ctx context.Context, repoID int,...
  method getSecret (line 174) | func (s *ActionsService) getSecret(ctx context.Context, url string) (*Se...
  method GetRepoSecret (line 194) | func (s *ActionsService) GetRepoSecret(ctx context.Context, owner, repo,...
  method GetOrgSecret (line 204) | func (s *ActionsService) GetOrgSecret(ctx context.Context, org, name str...
  method GetEnvSecret (line 214) | func (s *ActionsService) GetEnvSecret(ctx context.Context, repoID int, e...
  type SelectedRepoIDs (line 220) | type SelectedRepoIDs
  type EncryptedSecret (line 227) | type EncryptedSecret struct
  method putSecret (line 235) | func (s *ActionsService) putSecret(ctx context.Context, url string, eSec...
  method CreateOrUpdateRepoSecret (line 249) | func (s *ActionsService) CreateOrUpdateRepoSecret(ctx context.Context, o...
  method CreateOrUpdateOrgSecret (line 263) | func (s *ActionsService) CreateOrUpdateOrgSecret(ctx context.Context, or...
  method CreateOrUpdateEnvSecret (line 277) | func (s *ActionsService) CreateOrUpdateEnvSecret(ctx context.Context, re...
  method deleteSecret (line 286) | func (s *ActionsService) deleteSecret(ctx context.Context, url string) (...
  method DeleteRepoSecret (line 300) | func (s *ActionsService) DeleteRepoSecret(ctx context.Context, owner, re...
  method DeleteOrgSecret (line 310) | func (s *ActionsService) DeleteOrgSecret(ctx context.Context, org, name ...
  method DeleteEnvSecret (line 320) | func (s *ActionsService) DeleteEnvSecret(ctx context.Context, repoID int...
  type SelectedReposList (line 326) | type SelectedReposList struct
  method listSelectedReposForSecret (line 331) | func (s *ActionsService) listSelectedReposForSecret(ctx context.Context,...
  method ListSelectedReposForOrgSecret (line 356) | func (s *ActionsService) ListSelectedReposForOrgSecret(ctx context.Conte...
  method setSelectedReposForSecret (line 361) | func (s *ActionsService) setSelectedReposForSecret(ctx context.Context, ...
  method SetSelectedReposForOrgSecret (line 379) | func (s *ActionsService) SetSelectedReposForOrgSecret(ctx context.Contex...
  method addSelectedRepoToSecret (line 384) | func (s *ActionsService) addSelectedRepoToSecret(ctx context.Context, ur...
  method AddSelectedRepoToOrgSecret (line 398) | func (s *ActionsService) AddSelectedRepoToOrgSecret(ctx context.Context,...
  method removeSelectedRepoFromSecret (line 407) | func (s *ActionsService) removeSelectedRepoFromSecret(ctx context.Contex...
  method RemoveSelectedRepoFromOrgSecret (line 421) | func (s *ActionsService) RemoveSelectedRepoFromOrgSecret(ctx context.Con...

FILE: github/actions_secrets_test.go
  function TestPublicKey_UnmarshalJSON (line 18) | func TestPublicKey_UnmarshalJSON(t *testing.T) {
  function TestActionsService_GetRepoPublicKey (line 95) | func TestActionsService_GetRepoPublicKey(t *testing.T) {
  function TestActionsService_GetRepoPublicKeyNumeric (line 130) | func TestActionsService_GetRepoPublicKeyNumeric(t *testing.T) {
  function TestActionsService_ListRepoSecrets (line 165) | func TestActionsService_ListRepoSecrets(t *testing.T) {
  function TestActionsService_ListRepoOrgSecrets (line 208) | func TestActionsService_ListRepoOrgSecrets(t *testing.T) {
  function TestActionsService_GetRepoSecret (line 251) | func TestActionsService_GetRepoSecret(t *testing.T) {
  function TestActionsService_CreateOrUpdateRepoSecret (line 290) | func TestActionsService_CreateOrUpdateRepoSecret(t *testing.T) {
  function TestActionsService_DeleteRepoSecret (line 327) | func TestActionsService_DeleteRepoSecret(t *testing.T) {
  function TestActionsService_GetOrgPublicKey (line 352) | func TestActionsService_GetOrgPublicKey(t *testing.T) {
  function TestActionsService_ListOrgSecrets (line 387) | func TestActionsService_ListOrgSecrets(t *testing.T) {
  function TestActionsService_GetOrgSecret (line 431) | func TestActionsService_GetOrgSecret(t *testing.T) {
  function TestActionsService_CreateOrUpdateOrgSecret (line 472) | func TestActionsService_CreateOrUpdateOrgSecret(t *testing.T) {
  function TestActionsService_ListSelectedReposForOrgSecret (line 511) | func TestActionsService_ListSelectedReposForOrgSecret(t *testing.T) {
  function TestActionsService_SetSelectedReposForOrgSecret (line 552) | func TestActionsService_SetSelectedReposForOrgSecret(t *testing.T) {
  function TestActionsService_AddSelectedRepoToOrgSecret (line 579) | func TestActionsService_AddSelectedRepoToOrgSecret(t *testing.T) {
  function TestActionsService_RemoveSelectedRepoFromOrgSecret (line 609) | func TestActionsService_RemoveSelectedRepoFromOrgSecret(t *testing.T) {
  function TestActionsService_DeleteOrgSecret (line 639) | func TestActionsService_DeleteOrgSecret(t *testing.T) {
  function TestActionsService_GetEnvPublicKey (line 664) | func TestActionsService_GetEnvPublicKey(t *testing.T) {
  function TestActionsService_GetEnvPublicKeyNumeric (line 699) | func TestActionsService_GetEnvPublicKeyNumeric(t *testing.T) {
  function TestActionsService_ListEnvSecrets (line 734) | func TestActionsService_ListEnvSecrets(t *testing.T) {
  function TestActionsService_GetEnvSecret (line 777) | func TestActionsService_GetEnvSecret(t *testing.T) {
  function TestActionsService_CreateOrUpdateEnvSecret (line 816) | func TestActionsService_CreateOrUpdateEnvSecret(t *testing.T) {
  function TestActionsService_DeleteEnvSecret (line 853) | func TestActionsService_DeleteEnvSecret(t *testing.T) {
  function TestPublicKey_Marshal (line 878) | func TestPublicKey_Marshal(t *testing.T) {
  function TestSecret_Marshal (line 898) | func TestSecret_Marshal(t *testing.T) {
  function TestSecrets_Marshal (line 925) | func TestSecrets_Marshal(t *testing.T) {
  function TestEncryptedSecret_Marshal (line 961) | func TestEncryptedSecret_Marshal(t *testing.T) {
  function TestSelectedReposList_Marshal (line 986) | func TestSelectedReposList_Marshal(t *testing.T) {

FILE: github/actions_variables.go
  type ActionsVariable (line 15) | type ActionsVariable struct
  type ActionsVariables (line 28) | type ActionsVariables struct
  method listVariables (line 33) | func (s *ActionsService) listVariables(ctx context.Context, url string, ...
  method ListRepoVariables (line 58) | func (s *ActionsService) ListRepoVariables(ctx context.Context, owner, r...
  method ListRepoOrgVariables (line 68) | func (s *ActionsService) ListRepoOrgVariables(ctx context.Context, owner...
  method ListOrgVariables (line 78) | func (s *ActionsService) ListOrgVariables(ctx context.Context, org strin...
  method ListEnvVariables (line 88) | func (s *ActionsService) ListEnvVariables(ctx context.Context, owner, re...
  method getVariable (line 93) | func (s *ActionsService) getVariable(ctx context.Context, url string) (*...
  method GetRepoVariable (line 113) | func (s *ActionsService) GetRepoVariable(ctx context.Context, owner, rep...
  method GetOrgVariable (line 123) | func (s *ActionsService) GetOrgVariable(ctx context.Context, org, name s...
  method GetEnvVariable (line 133) | func (s *ActionsService) GetEnvVariable(ctx context.Context, owner, repo...
  method postVariable (line 138) | func (s *ActionsService) postVariable(ctx context.Context, url string, v...
  method CreateRepoVariable (line 151) | func (s *ActionsService) CreateRepoVariable(ctx context.Context, owner, ...
  method CreateOrgVariable (line 161) | func (s *ActionsService) CreateOrgVariable(ctx context.Context, org stri...
  method CreateEnvVariable (line 171) | func (s *ActionsService) CreateEnvVariable(ctx context.Context, owner, r...
  method patchVariable (line 176) | func (s *ActionsService) patchVariable(ctx context.Context, url string, ...
  method UpdateRepoVariable (line 189) | func (s *ActionsService) UpdateRepoVariable(ctx context.Context, owner, ...
  method UpdateOrgVariable (line 203) | func (s *ActionsService) UpdateOrgVariable(ctx context.Context, org stri...
  method UpdateEnvVariable (line 217) | func (s *ActionsService) UpdateEnvVariable(ctx context.Context, owner, r...
  method deleteVariable (line 226) | func (s *ActionsService) deleteVariable(ctx context.Context, url string)...
  method DeleteRepoVariable (line 240) | func (s *ActionsService) DeleteRepoVariable(ctx context.Context, owner, ...
  method DeleteOrgVariable (line 250) | func (s *ActionsService) DeleteOrgVariable(ctx context.Context, org, nam...
  method DeleteEnvVariable (line 260) | func (s *ActionsService) DeleteEnvVariable(ctx context.Context, owner, r...
  method listSelectedReposForVariable (line 265) | func (s *ActionsService) listSelectedReposForVariable(ctx context.Contex...
  method ListSelectedReposForOrgVariable (line 290) | func (s *ActionsService) ListSelectedReposForOrgVariable(ctx context.Con...
  method setSelectedReposForVariable (line 295) | func (s *ActionsService) setSelectedReposForVariable(ctx context.Context...
  method SetSelectedReposForOrgVariable (line 313) | func (s *ActionsService) SetSelectedReposForOrgVariable(ctx context.Cont...
  method addSelectedRepoToVariable (line 318) | func (s *ActionsService) addSelectedRepoToVariable(ctx context.Context, ...
  method AddSelectedRepoToOrgVariable (line 332) | func (s *ActionsService) AddSelectedRepoToOrgVariable(ctx context.Contex...
  method removeSelectedRepoFromVariable (line 344) | func (s *ActionsService) removeSelectedRepoFromVariable(ctx context.Cont...
  method RemoveSelectedRepoFromOrgVariable (line 358) | func (s *ActionsService) RemoveSelectedRepoFromOrgVariable(ctx context.C...

FILE: github/actions_variables_test.go
  function TestActionsService_ListRepoVariables (line 17) | func TestActionsService_ListRepoVariables(t *testing.T) {
  function TestActionsService_ListRepoOrgVariables (line 60) | func TestActionsService_ListRepoOrgVariables(t *testing.T) {
  function TestActionsService_GetRepoVariable (line 103) | func TestActionsService_GetRepoVariable(t *testing.T) {
  function TestActionsService_CreateRepoVariable (line 143) | func TestActionsService_CreateRepoVariable(t *testing.T) {
  function TestActionsService_UpdateRepoVariable (line 175) | func TestActionsService_UpdateRepoVariable(t *testing.T) {
  function TestActionsService_DeleteRepoVariable (line 211) | func TestActionsService_DeleteRepoVariable(t *testing.T) {
  function TestActionsService_ListOrgVariables (line 236) | func TestActionsService_ListOrgVariables(t *testing.T) {
  function TestActionsService_GetOrgVariable (line 280) | func TestActionsService_GetOrgVariable(t *testing.T) {
  function TestActionsService_CreateOrgVariable (line 322) | func TestActionsService_CreateOrgVariable(t *testing.T) {
  function TestActionsService_UpdateOrgVariable (line 356) | func TestActionsService_UpdateOrgVariable(t *testing.T) {
  function TestActionsService_ListSelectedReposForOrgVariable (line 394) | func TestActionsService_ListSelectedReposForOrgVariable(t *testing.T) {
  function TestActionsService_SetSelectedReposForOrgSVariable (line 435) | func TestActionsService_SetSelectedReposForOrgSVariable(t *testing.T) {
  function TestActionsService_AddSelectedRepoToOrgVariable (line 462) | func TestActionsService_AddSelectedRepoToOrgVariable(t *testing.T) {
  function TestActionsService_RemoveSelectedRepoFromOrgVariable (line 496) | func TestActionsService_RemoveSelectedRepoFromOrgVariable(t *testing.T) {
  function TestActionsService_DeleteOrgVariable (line 530) | func TestActionsService_DeleteOrgVariable(t *testing.T) {
  function TestActionsService_ListEnvVariables (line 555) | func TestActionsService_ListEnvVariables(t *testing.T) {
  function TestActionsService_GetEnvVariable (line 598) | func TestActionsService_GetEnvVariable(t *testing.T) {
  function TestActionsService_CreateEnvVariable (line 638) | func TestActionsService_CreateEnvVariable(t *testing.T) {
  function TestActionsService_UpdateEnvVariable (line 670) | func TestActionsService_UpdateEnvVariable(t *testing.T) {
  function TestActionsService_DeleteEnvVariable (line 706) | func TestActionsService_DeleteEnvVariable(t *testing.T) {
  function TestActionVariable_Marshal (line 731) | func TestActionVariable_Marshal(t *testing.T) {

FILE: github/actions_workflow_jobs.go
  type TaskStep (line 16) | type TaskStep struct
  type WorkflowJob (line 26) | type WorkflowJob struct
  type Jobs (line 54) | type Jobs struct
  type ListWorkflowJobsOptions (line 60) | type ListWorkflowJobsOptions struct
  method ListWorkflowJobs (line 76) | func (s *ActionsService) ListWorkflowJobs(ctx context.Context, owner, re...
  method ListWorkflowJobsAttempt (line 102) | func (s *ActionsService) ListWorkflowJobsAttempt(ctx context.Context, ow...
  method GetWorkflowJobByID (line 128) | func (s *ActionsService) GetWorkflowJobByID(ctx context.Context, owner, ...
  method GetWorkflowJobLogs (line 150) | func (s *ActionsService) GetWorkflowJobLogs(ctx context.Context, owner, ...
  method getWorkflowJobLogsWithoutRateLimit (line 160) | func (s *ActionsService) getWorkflowJobLogsWithoutRateLimit(ctx context....
  method getWorkflowJobLogsWithRateLimit (line 175) | func (s *ActionsService) getWorkflowJobLogsWithRateLimit(ctx context.Con...

FILE: github/actions_workflow_jobs_test.go
  function TestActionsService_ListWorkflowJobs (line 20) | func TestActionsService_ListWorkflowJobs(t *testing.T) {
  function TestActionsService_ListWorkflowJobs_Filter (line 63) | func TestActionsService_ListWorkflowJobs_Filter(t *testing.T) {
  function TestActionsService_ListWorkflowJobsAttempt (line 92) | func TestActionsService_ListWorkflowJobsAttempt(t *testing.T) {
  function TestActionsService_GetWorkflowJobByID (line 146) | func TestActionsService_GetWorkflowJobByID(t *testing.T) {
  function TestActionsService_GetWorkflowJobLogs (line 185) | func TestActionsService_GetWorkflowJobLogs(t *testing.T) {
  function TestActionsService_GetWorkflowJobLogs_StatusMovedPermanently_dontFollowRedirects (line 245) | func TestActionsService_GetWorkflowJobLogs_StatusMovedPermanently_dontFo...
  function TestActionsService_GetWorkflowJobLogs_StatusMovedPermanently_followRedirects (line 281) | func TestActionsService_GetWorkflowJobLogs_StatusMovedPermanently_follow...
  function TestActionsService_GetWorkflowJobLogs_unexpectedCode (line 333) | func TestActionsService_GetWorkflowJobLogs_unexpectedCode(t *testing.T) {
  function TestTaskStep_Marshal (line 385) | func TestTaskStep_Marshal(t *testing.T) {
  function TestWorkflowJob_Marshal (line 410) | func TestWorkflowJob_Marshal(t *testing.T) {
  function TestJobs_Marshal (line 473) | func TestJobs_Marshal(t *testing.T) {

FILE: github/actions_workflow_runs.go
  type WorkflowRun (line 16) | type WorkflowRun struct
  type WorkflowRuns (line 55) | type WorkflowRuns struct
  type ListWorkflowRunsOptions (line 61) | type ListWorkflowRunsOptions struct
  type WorkflowRunUsage (line 74) | type WorkflowRunUsage struct
  type WorkflowRunBillMap (line 81) | type WorkflowRunBillMap
  type WorkflowRunBill (line 84) | type WorkflowRunBill struct
  type WorkflowRunJobRun (line 91) | type WorkflowRunJobRun struct
  type WorkflowRunAttemptOptions (line 97) | type WorkflowRunAttemptOptions struct
  type PendingDeploymentsRequest (line 102) | type PendingDeploymentsRequest struct
  type ReferencedWorkflow (line 110) | type ReferencedWorkflow struct
  type PendingDeployment (line 117) | type PendingDeployment struct
  type PendingDeploymentEnvironment (line 126) | type PendingDeploymentEnvironment struct
  type ReviewCustomDeploymentProtectionRuleRequest (line 135) | type ReviewCustomDeploymentProtectionRuleRequest struct
  method listWorkflowRuns (line 141) | func (s *ActionsService) listWorkflowRuns(ctx context.Context, endpoint ...
  method ListWorkflowRunsByID (line 166) | func (s *ActionsService) ListWorkflowRunsByID(ctx context.Context, owner...
  method ListWorkflowRunsByFileName (line 176) | func (s *ActionsService) ListWorkflowRunsByFileName(ctx context.Context,...
  method ListRepositoryWorkflowRuns (line 186) | func (s *ActionsService) ListRepositoryWorkflowRuns(ctx context.Context,...
  method GetWorkflowRunByID (line 213) | func (s *ActionsService) GetWorkflowRunByID(ctx context.Context, owner, ...
  method GetWorkflowRunAttempt (line 236) | func (s *ActionsService) GetWorkflowRunAttempt(ctx context.Context, owne...
  method GetWorkflowRunAttemptLogs (line 263) | func (s *ActionsService) GetWorkflowRunAttemptLogs(ctx context.Context, ...
  method getWorkflowRunAttemptLogsWithoutRateLimit (line 273) | func (s *ActionsService) getWorkflowRunAttemptLogsWithoutRateLimit(ctx c...
  method getWorkflowRunAttemptLogsWithRateLimit (line 288) | func (s *ActionsService) getWorkflowRunAttemptLogsWithRateLimit(ctx cont...
  method RerunWorkflowByID (line 314) | func (s *ActionsService) RerunWorkflowByID(ctx context.Context, owner, r...
  method RerunFailedJobsByID (line 331) | func (s *ActionsService) RerunFailedJobsByID(ctx context.Context, owner,...
  method RerunJobByID (line 349) | func (s *ActionsService) RerunJobByID(ctx context.Context, owner, repo s...
  method CancelWorkflowRunByID (line 366) | func (s *ActionsService) CancelWorkflowRunByID(ctx context.Context, owne...
  method GetWorkflowRunLogs (line 383) | func (s *ActionsService) GetWorkflowRunLogs(ctx context.Context, owner, ...
  method getWorkflowRunLogsWithoutRateLimit (line 393) | func (s *ActionsService) getWorkflowRunLogsWithoutRateLimit(ctx context....
  method getWorkflowRunLogsWithRateLimit (line 408) | func (s *ActionsService) getWorkflowRunLogsWithRateLimit(ctx context.Con...
  method DeleteWorkflowRun (line 434) | func (s *ActionsService) DeleteWorkflowRun(ctx context.Context, owner, r...
  method DeleteWorkflowRunLogs (line 451) | func (s *ActionsService) DeleteWorkflowRunLogs(ctx context.Context, owne...
  method GetWorkflowRunUsageByID (line 468) | func (s *ActionsService) GetWorkflowRunUsageByID(ctx context.Context, ow...
  method GetPendingDeployments (line 491) | func (s *ActionsService) GetPendingDeployments(ctx context.Context, owne...
  method PendingDeployments (line 514) | func (s *ActionsService) PendingDeployments(ctx context.Context, owner, ...
  method ReviewCustomDeploymentProtectionRule (line 537) | func (s *ActionsService) ReviewCustomDeploymentProtectionRule(ctx contex...

FILE: github/actions_workflow_runs_test.go
  function TestActionsService_ListWorkflowRunsByID (line 21) | func TestActionsService_ListWorkflowRunsByID(t *testing.T) {
  function TestActionsService_ListWorkflowRunsFileName (line 64) | func TestActionsService_ListWorkflowRunsFileName(t *testing.T) {
  function TestActionsService_GetWorkflowRunByID (line 107) | func TestActionsService_GetWorkflowRunByID(t *testing.T) {
  function TestActionsService_GetWorkflowRunAttempt (line 148) | func TestActionsService_GetWorkflowRunAttempt(t *testing.T) {
  function TestActionsService_GetWorkflowRunAttemptLogs (line 192) | func TestActionsService_GetWorkflowRunAttemptLogs(t *testing.T) {
  function TestActionsService_GetWorkflowRunAttemptLogs_StatusMovedPermanently_dontFollowRedirects (line 241) | func TestActionsService_GetWorkflowRunAttemptLogs_StatusMovedPermanently...
  function TestActionsService_GetWorkflowRunAttemptLogs_StatusMovedPermanently_followRedirects (line 277) | func TestActionsService_GetWorkflowRunAttemptLogs_StatusMovedPermanently...
  function TestActionsService_GetWorkflowRunAttemptLogs_unexpectedCode (line 335) | func TestActionsService_GetWorkflowRunAttemptLogs_unexpectedCode(t *test...
  function TestActionsService_RerunWorkflowRunByID (line 387) | func TestActionsService_RerunWorkflowRunByID(t *testing.T) {
  function TestActionsService_RerunFailedJobsByID (line 416) | func TestActionsService_RerunFailedJobsByID(t *testing.T) {
  function TestActionsService_RerunJobByID (line 445) | func TestActionsService_RerunJobByID(t *testing.T) {
  function TestActionsService_CancelWorkflowRunByID (line 474) | func TestActionsService_CancelWorkflowRunByID(t *testing.T) {
  function TestActionsService_GetWorkflowRunLogs (line 503) | func TestActionsService_GetWorkflowRunLogs(t *testing.T) {
  function TestActionsService_GetWorkflowRunLogs_StatusMovedPermanently_dontFollowRedirects (line 552) | func TestActionsService_GetWorkflowRunLogs_StatusMovedPermanently_dontFo...
  function TestActionsService_GetWorkflowRunLogs_StatusMovedPermanently_followRedirects (line 588) | func TestActionsService_GetWorkflowRunLogs_StatusMovedPermanently_follow...
  function TestActionsService_GetWorkflowRunLogs_unexpectedCode (line 646) | func TestActionsService_GetWorkflowRunLogs_unexpectedCode(t *testing.T) {
  function TestActionService_ListRepositoryWorkflowRuns (line 698) | func TestActionService_ListRepositoryWorkflowRuns(t *testing.T) {
  function TestActionService_DeleteWorkflowRun (line 747) | func TestActionService_DeleteWorkflowRun(t *testing.T) {
  function TestActionService_DeleteWorkflowRunLogs (line 773) | func TestActionService_DeleteWorkflowRunLogs(t *testing.T) {
  function TestPendingDeployment_Marshal (line 799) | func TestPendingDeployment_Marshal(t *testing.T) {
  function TestActionsService_ReviewCustomDeploymentProtectionRule (line 858) | func TestActionsService_ReviewCustomDeploymentProtectionRule(t *testing....
  function TestReviewCustomDeploymentProtectionRuleRequest_Marshal (line 890) | func TestReviewCustomDeploymentProtectionRuleRequest_Marshal(t *testing....
  function TestActionsService_GetWorkflowRunUsageByID (line 911) | func TestActionsService_GetWorkflowRunUsageByID(t *testing.T) {
  function TestWorkflowRun_Marshal (line 979) | func TestWorkflowRun_Marshal(t *testing.T) {
  function TestWorkflowRuns_Marshal (line 1244) | func TestWorkflowRuns_Marshal(t *testing.T) {
  function TestWorkflowRunBill_Marshal (line 1503) | func TestWorkflowRunBill_Marshal(t *testing.T) {
  function TestWorkflowRunBillMap_Marshal (line 1520) | func TestWorkflowRunBillMap_Marshal(t *testing.T) {
  function TestWorkflowRunUsage_Marshal (line 1557) | func TestWorkflowRunUsage_Marshal(t *testing.T) {
  function TestActionService_PendingDeployments (line 1600) | func TestActionService_PendingDeployments(t *testing.T) {
  function TestActionService_GetPendingDeployments (line 1644) | func TestActionService_GetPendingDeployments(t *testing.T) {

FILE: github/actions_workflows.go
  type Workflow (line 14) | type Workflow struct
  type Workflows (line 28) | type Workflows struct
  type WorkflowUsage (line 34) | type WorkflowUsage struct
  type WorkflowBillMap (line 40) | type WorkflowBillMap
  type WorkflowBill (line 43) | type WorkflowBill struct
  type CreateWorkflowDispatchEventRequest (line 48) | type CreateWorkflowDispatchEventRequest struct
  type WorkflowDispatchRunDetails (line 64) | type WorkflowDispatchRunDetails struct
  type WorkflowsPermissions (line 71) | type WorkflowsPermissions struct
    method String (line 78) | func (w WorkflowsPermissions) String() string {
  type WorkflowsPermissionsOpt (line 83) | type WorkflowsPermissionsOpt struct
  type ContributorApprovalPermissions (line 92) | type ContributorApprovalPermissions struct
    method String (line 96) | func (p ContributorApprovalPermissions) String() string {
  method ListWorkflows (line 105) | func (s *ActionsService) ListWorkflows(ctx context.Context, owner, repo ...
  method GetWorkflowByID (line 131) | func (s *ActionsService) GetWorkflowByID(ctx context.Context, owner, rep...
  method GetWorkflowByFileName (line 142) | func (s *ActionsService) GetWorkflowByFileName(ctx context.Context, owne...
  method getWorkflow (line 148) | func (s *ActionsService) getWorkflow(ctx context.Context, url string) (*...
  method GetWorkflowUsageByID (line 168) | func (s *ActionsService) GetWorkflowUsageByID(ctx context.Context, owner...
  method GetWorkflowUsageByFileName (line 179) | func (s *ActionsService) GetWorkflowUsageByFileName(ctx context.Context,...
  method getWorkflowUsage (line 185) | func (s *ActionsService) getWorkflowUsage(ctx context.Context, url strin...
  method CreateWorkflowDispatchEventByID (line 205) | func (s *ActionsService) CreateWorkflowDispatchEventByID(ctx context.Con...
  method CreateWorkflowDispatchEventByFileName (line 216) | func (s *ActionsService) CreateWorkflowDispatchEventByFileName(ctx conte...
  method createWorkflowDispatchEvent (line 222) | func (s *ActionsService) createWorkflowDispatchEvent(ctx context.Context...
  method EnableWorkflowByID (line 242) | func (s *ActionsService) EnableWorkflowByID(ctx context.Context, owner, ...
  method EnableWorkflowByFileName (line 252) | func (s *ActionsService) EnableWorkflowByFileName(ctx context.Context, o...
  method DisableWorkflowByID (line 262) | func (s *ActionsService) DisableWorkflowByID(ctx context.Context, owner,...
  method DisableWorkflowByFileName (line 272) | func (s *ActionsService) DisableWorkflowByFileName(ctx context.Context, ...
  method doNewPutRequest (line 277) | func (s *ActionsService) doNewPutRequest(ctx context.Context, url string...

FILE: github/actions_workflows_test.go
  function TestActionsService_ListWorkflows (line 18) | func TestActionsService_ListWorkflows(t *testing.T) {
  function TestActionsService_GetWorkflowByID (line 61) | func TestActionsService_GetWorkflowByID(t *testing.T) {
  function TestActionsService_GetWorkflowByFileName (line 100) | func TestActionsService_GetWorkflowByFileName(t *testing.T) {
  function TestActionsService_GetWorkflowUsageByID (line 139) | func TestActionsService_GetWorkflowUsageByID(t *testing.T) {
  function TestActionsService_GetWorkflowUsageByFileName (line 186) | func TestActionsService_GetWorkflowUsageByFileName(t *testing.T) {
  function TestActionsService_CreateWorkflowDispatchEventByID (line 233) | func TestActionsService_CreateWorkflowDispatchEventByID(t *testing.T) {
  function TestActionsService_CreateWorkflowDispatchEventByFileName (line 294) | func TestActionsService_CreateWorkflowDispatchEventByFileName(t *testing...
  function TestActionsService_CreateWorkflowDispatchEventByID_noRunDetails (line 355) | func TestActionsService_CreateWorkflowDispatchEventByID_noRunDetails(t *...
  function TestActionsService_CreateWorkflowDispatchEventByFileName_noRunDetails (line 388) | func TestActionsService_CreateWorkflowDispatchEventByFileName_noRunDetai...
  function TestActionsService_EnableWorkflowByID (line 421) | func TestActionsService_EnableWorkflowByID(t *testing.T) {
  function TestActionsService_EnableWorkflowByFilename (line 456) | func TestActionsService_EnableWorkflowByFilename(t *testing.T) {
  function TestActionsService_DisableWorkflowByID (line 491) | func TestActionsService_DisableWorkflowByID(t *testing.T) {
  function TestActionsService_DisableWorkflowByFileName (line 526) | func TestActionsService_DisableWorkflowByFileName(t *testing.T) {
  function TestWorkflow_Marshal (line 561) | func TestWorkflow_Marshal(t *testing.T) {
  function TestWorkflows_Marshal (line 594) | func TestWorkflows_Marshal(t *testing.T) {
  function TestWorkflowBill_Marshal (line 635) | func TestWorkflowBill_Marshal(t *testing.T) {
  function TestWorkflowBillMap_Marshal (line 650) | func TestWorkflowBillMap_Marshal(t *testing.T) {
  function TestWorkflowUsage_Marshal (line 681) | func TestWorkflowUsage_Marshal(t *testing.T) {
  function TestCreateWorkflowDispatchEventRequest_Marshal (line 716) | func TestCreateWorkflowDispatchEventRequest_Marshal(t *testing.T) {

FILE: github/activity.go
  type ActivityService (line 14) | type ActivityService
    method ListFeeds (line 64) | func (s *ActivityService) ListFeeds(ctx context.Context) (*Feeds, *Res...
  type FeedLink (line 17) | type FeedLink struct
  type Feeds (line 23) | type Feeds struct
  type FeedLinks (line 35) | type FeedLinks struct

FILE: github/activity_events.go
  method ListEvents (line 18) | func (s *ActivityService) ListEvents(ctx context.Context, opts *ListOpti...
  method ListRepositoryEvents (line 43) | func (s *ActivityService) ListRepositoryEvents(ctx context.Context, owne...
  method ListIssueEventsForRepository (line 69) | func (s *ActivityService) ListIssueEventsForRepository(ctx context.Conte...
  method ListEventsForRepoNetwork (line 95) | func (s *ActivityService) ListEventsForRepoNetwork(ctx context.Context, ...
  method ListEventsForOrganization (line 121) | func (s *ActivityService) ListEventsForOrganization(ctx context.Context,...
  method ListEventsPerformedByUser (line 151) | func (s *ActivityService) ListEventsPerformedByUser(ctx context.Context,...
  method ListEventsReceivedByUser (line 186) | func (s *ActivityService) ListEventsReceivedByUser(ctx context.Context, ...
  method ListUserEventsForOrganization (line 218) | func (s *ActivityService) ListUserEventsForOrganization(ctx context.Cont...

FILE: github/activity_events_test.go
  function TestActivityService_ListEvents (line 17) | func TestActivityService_ListEvents(t *testing.T) {
  function TestActivityService_ListRepositoryEvents (line 51) | func TestActivityService_ListRepositoryEvents(t *testing.T) {
  function TestActivityService_ListRepositoryEvents_invalidOwner (line 90) | func TestActivityService_ListRepositoryEvents_invalidOwner(t *testing.T) {
  function TestActivityService_ListIssueEventsForRepository (line 99) | func TestActivityService_ListIssueEventsForRepository(t *testing.T) {
  function TestActivityService_ListIssueEventsForRepository_invalidOwner (line 138) | func TestActivityService_ListIssueEventsForRepository_invalidOwner(t *te...
  function TestActivityService_ListEventsForRepoNetwork (line 147) | func TestActivityService_ListEventsForRepoNetwork(t *testing.T) {
  function TestActivityService_ListEventsForRepoNetwork_invalidOwner (line 186) | func TestActivityService_ListEventsForRepoNetwork_invalidOwner(t *testin...
  function TestActivityService_ListEventsForOrganization (line 195) | func TestActivityService_ListEventsForOrganization(t *testing.T) {
  function TestActivityService_ListEventsForOrganization_invalidOrg (line 234) | func TestActivityService_ListEventsForOrganization_invalidOrg(t *testing...
  function TestActivityService_ListEventsPerformedByUser_all (line 243) | func TestActivityService_ListEventsPerformedByUser_all(t *testing.T) {
  function TestActivityService_ListEventsPerformedByUser_publicOnly (line 282) | func TestActivityService_ListEventsPerformedByUser_publicOnly(t *testing...
  function TestActivityService_ListEventsPerformedByUser_invalidUser (line 303) | func TestActivityService_ListEventsPerformedByUser_invalidUser(t *testin...
  function TestActivityService_ListEventsReceivedByUser_all (line 312) | func TestActivityService_ListEventsReceivedByUser_all(t *testing.T) {
  function TestActivityService_ListEventsReceivedByUser_publicOnly (line 351) | func TestActivityService_ListEventsReceivedByUser_publicOnly(t *testing....
  function TestActivityService_ListEventsReceivedByUser_invalidUser (line 372) | func TestActivityService_ListEventsReceivedByUser_invalidUser(t *testing...
  function TestActivityService_ListUserEventsForOrganization (line 381) | func TestActivityService_ListUserEventsForOrganization(t *testing.T) {
  function TestActivityService_EventParsePayload_typed (line 420) | func TestActivityService_EventParsePayload_typed(t *testing.T) {
  function TestActivityService_EventParsePayload_untyped (line 441) | func TestActivityService_EventParsePayload_untyped(t *testing.T) {
  function TestActivityService_EventParsePayload_installation (line 459) | func TestActivityService_EventParsePayload_installation(t *testing.T) {

FILE: github/activity_notifications.go
  type Notification (line 15) | type Notification struct
  type NotificationSubject (line 32) | type NotificationSubject struct
  type NotificationListOptions (line 41) | type NotificationListOptions struct
  method ListNotifications (line 55) | func (s *ActivityService) ListNotifications(ctx context.Context, opts *N...
  method ListRepositoryNotifications (line 82) | func (s *ActivityService) ListRepositoryNotifications(ctx context.Contex...
  type markReadOptions (line 103) | type markReadOptions struct
  method MarkNotificationsRead (line 113) | func (s *ActivityService) MarkNotificationsRead(ctx context.Context, las...
  method MarkRepositoryNotificationsRead (line 132) | func (s *ActivityService) MarkRepositoryNotificationsRead(ctx context.Co...
  method GetThread (line 150) | func (s *ActivityService) GetThread(ctx context.Context, id string) (*No...
  method MarkThreadRead (line 172) | func (s *ActivityService) MarkThreadRead(ctx context.Context, id string)...
  method MarkThreadDone (line 189) | func (s *ActivityService) MarkThreadDone(ctx context.Context, id string)...
  method GetThreadSubscription (line 206) | func (s *ActivityService) GetThreadSubscription(ctx context.Context, id ...
  method SetThreadSubscription (line 229) | func (s *ActivityService) SetThreadSubscription(ctx context.Context, id ...
  method DeleteThreadSubscription (line 252) | func (s *ActivityService) DeleteThreadSubscription(ctx context.Context, ...

FILE: github/activity_notifications_test.go
  function TestActivityService_ListNotification (line 18) | func TestActivityService_ListNotification(t *testing.T) {
  function TestActivityService_ListRepositoryNotifications (line 61) | func TestActivityService_ListRepositoryNotifications(t *testing.T) {
  function TestActivityService_MarkNotificationsRead (line 96) | func TestActivityService_MarkNotificationsRead(t *testing.T) {
  function TestActivityService_MarkNotificationsRead_EmptyLastReadAt (line 120) | func TestActivityService_MarkNotificationsRead_EmptyLastReadAt(t *testin...
  function TestActivityService_MarkRepositoryNotificationsRead (line 139) | func TestActivityService_MarkRepositoryNotificationsRead(t *testing.T) {
  function TestActivityService_MarkRepositoryNotificationsRead_EmptyLastReadAt (line 168) | func TestActivityService_MarkRepositoryNotificationsRead_EmptyLastReadAt...
  function TestActivityService_GetThread (line 187) | func TestActivityService_GetThread(t *testing.T) {
  function TestActivityService_MarkThreadRead (line 222) | func TestActivityService_MarkThreadRead(t *testing.T) {
  function TestActivityService_MarkThreadDone (line 248) | func TestActivityService_MarkThreadDone(t *testing.T) {
  function TestActivityService_GetThreadSubscription (line 274) | func TestActivityService_GetThreadSubscription(t *testing.T) {
  function TestActivityService_SetThreadSubscription (line 309) | func TestActivityService_SetThreadSubscription(t *testing.T) {
  function TestActivityService_DeleteThreadSubscription (line 353) | func TestActivityService_DeleteThreadSubscription(t *testing.T) {
  function TestNotification_Marshal (line 379) | func TestNotification_Marshal(t *testing.T) {
  function TestNotificationSubject_Marshal (line 426) | func TestNotificationSubject_Marshal(t *testing.T) {
  function TestMarkReadOptions_Marshal (line 447) | func TestMarkReadOptions_Marshal(t *testing.T) {

FILE: github/activity_star.go
  type StarredRepository (line 15) | type StarredRepository struct
  type Stargazer (line 21) | type Stargazer struct
  method ListStargazers (line 31) | func (s *ActivityService) ListStargazers(ctx context.Context, owner, rep...
  type ActivityListStarredOptions (line 56) | type ActivityListStarredOptions struct
  method ListStarred (line 77) | func (s *ActivityService) ListStarred(ctx context.Context, user string, ...
  method IsStarred (line 111) | func (s *ActivityService) IsStarred(ctx context.Context, owner, repo str...
  method Star (line 128) | func (s *ActivityService) Star(ctx context.Context, owner, repo string) ...
  method Unstar (line 143) | func (s *ActivityService) Unstar(ctx context.Context, owner, repo string...

FILE: github/activity_star_test.go
  function TestActivityService_ListStargazers (line 18) | func TestActivityService_ListStargazers(t *testing.T) {
  function TestActivityService_ListStarred_authenticatedUser (line 58) | func TestActivityService_ListStarred_authenticatedUser(t *testing.T) {
  function TestActivityService_ListStarred_specifiedUser (line 94) | func TestActivityService_ListStarred_specifiedUser(t *testing.T) {
  function TestActivityService_ListStarred_invalidUser (line 136) | func TestActivityService_ListStarred_invalidUser(t *testing.T) {
  function TestActivityService_IsStarred_hasStar (line 145) | func TestActivityService_IsStarred_hasStar(t *testing.T) {
  function TestActivityService_IsStarred_noStar (line 178) | func TestActivityService_IsStarred_noStar(t *testing.T) {
  function TestActivityService_IsStarred_invalidID (line 211) | func TestActivityService_IsStarred_invalidID(t *testing.T) {
  function TestActivityService_Star (line 220) | func TestActivityService_Star(t *testing.T) {
  function TestActivityService_Star_invalidID (line 245) | func TestActivityService_Star_invalidID(t *testing.T) {
  function TestActivityService_Unstar (line 254) | func TestActivityService_Unstar(t *testing.T) {
  function TestActivityService_Unstar_invalidID (line 279) | func TestActivityService_Unstar_invalidID(t *testing.T) {
  function TestStarredRepository_Marshal (line 288) | func TestStarredRepository_Marshal(t *testing.T) {
  function TestStargazer_Marshal (line 313) | func TestStargazer_Marshal(t *testing.T) {

FILE: github/activity_test.go
  function TestActivityService_List (line 15) | func TestActivityService_List(t *testing.T) {
  function TestFeedLink_Marshal (line 133) | func TestFeedLink_Marshal(t *testing.T) {
  function TestFeeds_Marshal (line 150) | func TestFeeds_Marshal(t *testing.T) {
  function TestFeedLinks_Marshal (line 241) | func TestFeedLinks_Marshal(t *testing.T) {

FILE: github/activity_watching.go
  type Subscription (line 14) | type Subscription struct
  method ListWatchers (line 33) | func (s *ActivityService) ListWatchers(ctx context.Context, owner, repo ...
  method ListWatched (line 63) | func (s *ActivityService) ListWatched(ctx context.Context, user string, ...
  method GetRepositorySubscription (line 96) | func (s *ActivityService) GetRepositorySubscription(ctx context.Context,...
  method SetRepositorySubscription (line 125) | func (s *ActivityService) SetRepositorySubscription(ctx context.Context,...
  method DeleteRepositorySubscription (line 151) | func (s *ActivityService) DeleteRepositorySubscription(ctx context.Conte...

FILE: github/activity_watching_test.go
  function TestActivityService_ListWatchers (line 17) | func TestActivityService_ListWatchers(t *testing.T) {
  function TestActivityService_ListWatched_authenticatedUser (line 56) | func TestActivityService_ListWatched_authenticatedUser(t *testing.T) {
  function TestActivityService_ListWatched_specifiedUser (line 94) | func TestActivityService_ListWatched_specifiedUser(t *testing.T) {
  function TestActivityService_GetRepositorySubscription_true (line 118) | func TestActivityService_GetRepositorySubscription_true(t *testing.T) {
  function TestActivityService_GetRepositorySubscription_false (line 153) | func TestActivityService_GetRepositorySubscription_false(t *testing.T) {
  function TestActivityService_GetRepositorySubscription_error (line 174) | func TestActivityService_GetRepositorySubscription_error(t *testing.T) {
  function TestActivityService_SetRepositorySubscription (line 190) | func TestActivityService_SetRepositorySubscription(t *testing.T) {
  function TestActivityService_DeleteRepositorySubscription (line 234) | func TestActivityService_DeleteRepositorySubscription(t *testing.T) {
  function TestSubscription_Marshal (line 260) | func TestSubscription_Marshal(t *testing.T) {

FILE: github/admin.go
  type AdminService (line 18) | type AdminService
    method UpdateUserLDAPMapping (line 88) | func (s *AdminService) UpdateUserLDAPMapping(ctx context.Context, user...
    method UpdateTeamLDAPMapping (line 109) | func (s *AdminService) UpdateTeamLDAPMapping(ctx context.Context, team...
  type TeamLDAPMapping (line 21) | type TeamLDAPMapping struct
    method String (line 35) | func (m TeamLDAPMapping) String() string {
  type UserLDAPMapping (line 40) | type UserLDAPMapping struct
    method String (line 61) | func (m UserLDAPMapping) String() string {
  type Enterprise (line 66) | type Enterprise struct
    method String (line 79) | func (m Enterprise) String() string {

FILE: github/admin_orgs.go
  type createOrgRequest (line 16) | type createOrgRequest struct
  method CreateOrg (line 29) | func (s *AdminService) CreateOrg(ctx context.Context, org *Organization,...
  type renameOrgRequest (line 53) | type renameOrgRequest struct
  type RenameOrgResponse (line 58) | type RenameOrgResponse struct
  method RenameOrg (line 68) | func (s *AdminService) RenameOrg(ctx context.Context, org *Organization,...
  method RenameOrgByName (line 84) | func (s *AdminService) RenameOrgByName(ctx context.Context, org, newName...

FILE: github/admin_orgs_test.go
  function TestAdminOrgs_Create (line 17) | func TestAdminOrgs_Create(t *testing.T) {
  function TestAdminOrgs_Rename (line 59) | func TestAdminOrgs_Rename(t *testing.T) {
  function TestAdminOrgs_RenameByName (line 110) | func TestAdminOrgs_RenameByName(t *testing.T) {
  function TestCreateOrgRequest_Marshal (line 153) | func TestCreateOrgRequest_Marshal(t *testing.T) {
  function TestRenameOrgRequest_Marshal (line 170) | func TestRenameOrgRequest_Marshal(t *testing.T) {
  function TestRenameOrgResponse_Marshal (line 185) | func TestRenameOrgResponse_Marshal(t *testing.T) {

FILE: github/admin_stats.go
  type AdminStats (line 14) | type AdminStats struct
    method String (line 27) | func (s AdminStats) String() string {
  type IssueStats (line 32) | type IssueStats struct
    method String (line 38) | func (s IssueStats) String() string {
  type HookStats (line 43) | type HookStats struct
    method String (line 49) | func (s HookStats) String() string {
  type MilestoneStats (line 54) | type MilestoneStats struct
    method String (line 60) | func (s MilestoneStats) String() string {
  type OrgStats (line 66) | type OrgStats struct
    method String (line 73) | func (s OrgStats) String() string {
  type CommentStats (line 79) | type CommentStats struct
    method String (line 86) | func (s CommentStats) String() string {
  type PageStats (line 91) | type PageStats struct
    method String (line 95) | func (s PageStats) String() string {
  type UserStats (line 100) | type UserStats struct
    method String (line 106) | func (s UserStats) String() string {
  type GistStats (line 111) | type GistStats struct
    method String (line 117) | func (s GistStats) String() string {
  type PullStats (line 123) | type PullStats struct
    method String (line 130) | func (s PullStats) String() string {
  type RepoStats (line 136) | type RepoStats struct
    method String (line 145) | func (s RepoStats) String() string {
  method GetAdminStats (line 158) | func (s *AdminService) GetAdminStats(ctx context.Context) (*AdminStats, ...

FILE: github/admin_stats_test.go
  function TestAdminService_GetAdminStats (line 16) | func TestAdminService_GetAdminStats(t *testing.T) {
  function TestAdminService_Stringify (line 103) | func TestAdminService_Stringify(t *testing.T) {
  function TestIssueStats_Marshal (line 218) | func TestIssueStats_Marshal(t *testing.T) {
  function TestHookStats_Marshal (line 237) | func TestHookStats_Marshal(t *testing.T) {
  function TestMilestoneStats_Marshal (line 256) | func TestMilestoneStats_Marshal(t *testing.T) {
  function TestOrgStats_Marshal (line 275) | func TestOrgStats_Marshal(t *testing.T) {
  function TestCommentStats_Marshal (line 296) | func TestCommentStats_Marshal(t *testing.T) {
  function TestPageStats_Marshal (line 317) | func TestPageStats_Marshal(t *testing.T) {
  function TestUserStats_Marshal (line 332) | func TestUserStats_Marshal(t *testing.T) {
  function TestGistStats_Marshal (line 351) | func TestGistStats_Marshal(t *testing.T) {
  function TestPullStats_Marshal (line 370) | func TestPullStats_Marshal(t *testing.T) {
  function TestRepoStats_Marshal (line 391) | func TestRepoStats_Marshal(t *testing.T) {
  function TestAdminStats_Marshal (line 416) | func TestAdminStats_Marshal(t *testing.T) {

FILE: github/admin_test.go
  function TestAdminService_UpdateUserLDAPMapping (line 17) | func TestAdminService_UpdateUserLDAPMapping(t *testing.T) {
  function TestAdminService_UpdateTeamLDAPMapping (line 65) | func TestAdminService_UpdateTeamLDAPMapping(t *testing.T) {
  function TestAdminService_TeamLDAPMapping_String (line 113) | func TestAdminService_TeamLDAPMapping_String(t *testing.T) {
  function TestAdminService_UserLDAPMapping_String (line 134) | func TestAdminService_UserLDAPMapping_String(t *testing.T) {
  function TestTeamLDAPMapping_Marshal (line 162) | func TestTeamLDAPMapping_Marshal(t *testing.T) {
  function TestUserLDAPMapping_Marshal (line 195) | func TestUserLDAPMapping_Marshal(t *testing.T) {
  function TestEnterprise_Marshal (line 242) | func TestEnterprise_Marshal(t *testing.T) {

FILE: github/admin_users.go
  type CreateUserRequest (line 15) | type CreateUserRequest struct
  method CreateUser (line 26) | func (s *AdminService) CreateUser(ctx context.Context, userReq CreateUse...
  method DeleteUser (line 48) | func (s *AdminService) DeleteUser(ctx context.Context, username string) ...
  type ImpersonateUserOptions (line 65) | type ImpersonateUserOptions struct
  type OAuthAPP (line 70) | type OAuthAPP struct
    method String (line 76) | func (s OAuthAPP) String() string {
  type UserAuthorization (line 81) | type UserAuthorization struct
  method CreateUserImpersonation (line 101) | func (s *AdminService) CreateUserImpersonation(ctx context.Context, user...
  method DeleteUserImpersonation (line 123) | func (s *AdminService) DeleteUserImpersonation(ctx context.Context, user...

FILE: github/admin_users_test.go
  function TestAdminUsers_Create (line 18) | func TestAdminUsers_Create(t *testing.T) {
  function TestAdminUsers_Delete (line 64) | func TestAdminUsers_Delete(t *testing.T) {
  function TestUserImpersonation_Create (line 89) | func TestUserImpersonation_Create(t *testing.T) {
  function TestUserImpersonation_Delete (line 161) | func TestUserImpersonation_Delete(t *testing.T) {
  function TestCreateUserRequest_Marshal (line 186) | func TestCreateUserRequest_Marshal(t *testing.T) {
  function TestImpersonateUserOptions_Marshal (line 203) | func TestImpersonateUserOptions_Marshal(t *testing.T) {
  function TestOAuthAPP_Marshal (line 220) | func TestOAuthAPP_Marshal(t *testing.T) {
  function TestUserAuthorization_Marshal (line 239) | func TestUserAuthorization_Marshal(t *testing.T) {

FILE: github/apps.go
  type AppsService (line 17) | type AppsService
    method Get (line 225) | func (s *AppsService) Get(ctx context.Context, appSlug string) (*App, ...
    method ListInstallationRequests (line 252) | func (s *AppsService) ListInstallationRequests(ctx context.Context, op...
    method ListInstallations (line 277) | func (s *AppsService) ListInstallations(ctx context.Context, opts *Lis...
    method GetInstallation (line 302) | func (s *AppsService) GetInstallation(ctx context.Context, id int64) (...
    method ListUserInstallations (line 311) | func (s *AppsService) ListUserInstallations(ctx context.Context, opts ...
    method SuspendInstallation (line 338) | func (s *AppsService) SuspendInstallation(ctx context.Context, id int6...
    method UnsuspendInstallation (line 354) | func (s *AppsService) UnsuspendInstallation(ctx context.Context, id in...
    method DeleteInstallation (line 370) | func (s *AppsService) DeleteInstallation(ctx context.Context, id int64...
    method CreateInstallationToken (line 386) | func (s *AppsService) CreateInstallationToken(ctx context.Context, id ...
    method CreateInstallationTokenListRepos (line 410) | func (s *AppsService) CreateInstallationTokenListRepos(ctx context.Con...
    method CreateAttachment (line 432) | func (s *AppsService) CreateAttachment(ctx context.Context, contentRef...
    method FindOrganizationInstallation (line 456) | func (s *AppsService) FindOrganizationInstallation(ctx context.Context...
    method FindRepositoryInstallation (line 465) | func (s *AppsService) FindRepositoryInstallation(ctx context.Context, ...
    method FindRepositoryInstallationByID (line 474) | func (s *AppsService) FindRepositoryInstallationByID(ctx context.Conte...
    method FindUserInstallation (line 483) | func (s *AppsService) FindUserInstallation(ctx context.Context, user s...
    method getInstallation (line 487) | func (s *AppsService) getInstallation(ctx context.Context, url string)...
  type App (line 20) | type App struct
  type InstallationToken (line 38) | type InstallationToken struct
  type InstallationTokenOptions (line 46) | type InstallationTokenOptions struct
  type InstallationTokenListRepoOptions (line 62) | type InstallationTokenListRepoOptions struct
  type InstallationPermissions (line 82) | type InstallationPermissions struct
  type InstallationRequest (line 161) | type InstallationRequest struct
  type Installation (line 170) | type Installation struct
    method String (line 208) | func (i Installation) String() string {
  type Attachment (line 195) | type Attachment struct
  type ContentReference (line 202) | type ContentReference struct

FILE: github/apps_hooks.go
  method GetHookConfig (line 18) | func (s *AppsService) GetHookConfig(ctx context.Context) (*HookConfig, *...
  method UpdateHookConfig (line 39) | func (s *AppsService) UpdateHookConfig(ctx context.Context, config *Hook...

FILE: github/apps_hooks_deliveries.go
  method ListHookDeliveries (line 18) | func (s *AppsService) ListHookDeliveries(ctx context.Context, opts *List...
  method GetHookDelivery (line 43) | func (s *AppsService) GetHookDelivery(ctx context.Context, deliveryID in...
  method RedeliverHookDelivery (line 64) | func (s *AppsService) RedeliverHookDelivery(ctx context.Context, deliver...

FILE: github/apps_hooks_deliveries_test.go
  function TestAppsService_ListHookDeliveries (line 16) | func TestAppsService_ListHookDeliveries(t *testing.T) {
  function TestAppsService_GetHookDelivery (line 50) | func TestAppsService_GetHookDelivery(t *testing.T) {
  function TestAppsService_RedeliverHookDelivery (line 85) | func TestAppsService_RedeliverHookDelivery(t *testing.T) {

FILE: github/apps_hooks_test.go
  function TestAppsService_GetHookConfig (line 16) | func TestAppsService_GetHookConfig(t *testing.T) {
  function TestAppsService_UpdateHookConfig (line 56) | func TestAppsService_UpdateHookConfig(t *testing.T) {

FILE: github/apps_installation.go
  type ListRepositories (line 14) | type ListRepositories struct
  method ListRepos (line 24) | func (s *AppsService) ListRepos(ctx context.Context, opts *ListOptions) ...
  method ListUserRepos (line 50) | func (s *AppsService) ListUserRepos(ctx context.Context, id int64, opts ...
  method AddRepository (line 76) | func (s *AppsService) AddRepository(ctx context.Context, instID, repoID ...
  method RemoveRepository (line 97) | func (s *AppsService) RemoveRepository(ctx context.Context, instID, repo...
  method RevokeInstallationToken (line 112) | func (s *AppsService) RevokeInstallationToken(ctx context.Context) (*Res...

FILE: github/apps_installation_test.go
  function TestAppsService_ListRepos (line 16) | func TestAppsService_ListRepos(t *testing.T) {
  function TestAppsService_ListUserRepos (line 51) | func TestAppsService_ListUserRepos(t *testing.T) {
  function TestAppsService_AddRepository (line 91) | func TestAppsService_AddRepository(t *testing.T) {
  function TestAppsService_RemoveRepository (line 121) | func TestAppsService_RemoveRepository(t *testing.T) {
  function TestAppsService_RevokeInstallationToken (line 142) | func TestAppsService_RevokeInstallationToken(t *testing.T) {
  function TestListRepositories_Marshal (line 163) | func TestListRepositories_Marshal(t *testing.T) {

FILE: github/apps_manifest.go
  type AppConfig (line 14) | type AppConfig struct
  method CompleteAppManifest (line 37) | func (s *AppsService) CompleteAppManifest(ctx context.Context, code stri...

FILE: github/apps_manifest_test.go
  constant manifestJSON (line 17) | manifestJSON = `{
  function TestGetConfig (line 27) | func TestGetConfig(t *testing.T) {
  function TestAppConfig_Marshal (line 69) | func TestAppConfig_Marshal(t *testing.T) {

FILE: github/apps_marketplace.go
  type MarketplaceService (line 17) | type MarketplaceService struct
    method ListPlans (line 98) | func (s *MarketplaceService) ListPlans(ctx context.Context, opts *List...
    method ListPlanAccountsForPlan (line 127) | func (s *MarketplaceService) ListPlanAccountsForPlan(ctx context.Conte...
    method GetPlanAccountForAccount (line 156) | func (s *MarketplaceService) GetPlanAccountForAccount(ctx context.Cont...
    method ListMarketplacePurchasesForUser (line 181) | func (s *MarketplaceService) ListMarketplacePurchasesForUser(ctx conte...
    method marketplaceURI (line 205) | func (s *MarketplaceService) marketplaceURI(endpoint string) string {
  type MarketplacePlan (line 29) | type MarketplacePlan struct
  type MarketplacePurchase (line 48) | type MarketplacePurchase struct
  type MarketplacePendingChange (line 61) | type MarketplacePendingChange struct
  type MarketplacePlanAccount (line 69) | type MarketplacePlanAccount struct
  type MarketplacePurchaseAccount (line 80) | type MarketplacePurchaseAccount struct

FILE: github/apps_marketplace_test.go
  function TestMarketplaceService_ListPlans (line 16) | func TestMarketplaceService_ListPlans(t *testing.T) {
  function TestMarketplaceService_Stubbed_ListPlans (line 52) | func TestMarketplaceService_Stubbed_ListPlans(t *testing.T) {
  function TestMarketplaceService_ListPlanAccountsForPlan (line 75) | func TestMarketplaceService_ListPlanAccountsForPlan(t *testing.T) {
  function TestMarketplaceService_Stubbed_ListPlanAccountsForPlan (line 107) | func TestMarketplaceService_Stubbed_ListPlanAccountsForPlan(t *testing.T) {
  function TestMarketplaceService_GetPlanAccountForAccount (line 130) | func TestMarketplaceService_GetPlanAccountForAccount(t *testing.T) {
  function TestMarketplaceService_Stubbed_GetPlanAccountForAccount (line 161) | func TestMarketplaceService_Stubbed_GetPlanAccountForAccount(t *testing....
  function TestMarketplaceService_ListMarketplacePurchasesForUser (line 183) | func TestMarketplaceService_ListMarketplacePurchasesForUser(t *testing.T) {
  function TestMarketplaceService_Stubbed_ListMarketplacePurchasesForUser (line 215) | func TestMarketplaceService_Stubbed_ListMarketplacePurchasesForUser(t *t...
  function TestMarketplacePlan_Marshal (line 238) | func TestMarketplacePlan_Marshal(t *testing.T) {
  function TestMarketplacePurchase_Marshal (line 277) | func TestMarketplacePurchase_Marshal(t *testing.T) {
  function TestMarketplacePendingChange_Marshal (line 332) | func TestMarketplacePendingChange_Marshal(t *testing.T) {
  function TestMarketplacePlanAccount_Marshal (line 381) | func TestMarketplacePlanAccount_Marshal(t *testing.T) {

FILE: github/apps_test.go
  function TestAppsService_Get_authenticatedApp (line 18) | func TestAppsService_Get_authenticatedApp(t *testing.T) {
  function TestAppsService_Get_specifiedApp (line 53) | func TestAppsService_Get_specifiedApp(t *testing.T) {
  function TestAppsService_ListInstallationRequests (line 74) | func TestAppsService_ListInstallationRequests(t *testing.T) {
  function TestAppsService_ListInstallations (line 121) | func TestAppsService_ListInstallations(t *testing.T) {
  function TestAppsService_GetInstallation (line 256) | func TestAppsService_GetInstallation(t *testing.T) {
  function TestAppsService_ListUserInstallations (line 291) | func TestAppsService_ListUserInstallations(t *testing.T) {
  function TestAppsService_SuspendInstallation (line 326) | func TestAppsService_SuspendInstallation(t *testing.T) {
  function TestAppsService_UnsuspendInstallation (line 352) | func TestAppsService_UnsuspendInstallation(t *testing.T) {
  function TestAppsService_DeleteInstallation (line 378) | func TestAppsService_DeleteInstallation(t *testing.T) {
  function TestAppsService_CreateInstallationToken (line 404) | func TestAppsService_CreateInstallationToken(t *testing.T) {
  function TestAppsService_CreateInstallationTokenWithOptions (line 439) | func TestAppsService_CreateInstallationTokenWithOptions(t *testing.T) {
  function TestAppsService_CreateInstallationTokenListReposWithOptions (line 476) | func TestAppsService_CreateInstallationTokenListReposWithOptions(t *test...
  function TestAppsService_CreateInstallationTokenListReposWithNoOptions (line 512) | func TestAppsService_CreateInstallationTokenListReposWithNoOptions(t *te...
  function TestAppsService_CreateAttachment (line 547) | func TestAppsService_CreateAttachment(t *testing.T) {
  function TestAppsService_FindOrganizationInstallation (line 585) | func TestAppsService_FindOrganizationInstallation(t *testing.T) {
  function TestAppsService_FindRepositoryInstallation (line 620) | func TestAppsService_FindRepositoryInstallation(t *testing.T) {
  function TestAppsService_FindRepositoryInstallationByID (line 655) | func TestAppsService_FindRepositoryInstallationByID(t *testing.T) {
  function TestAppsService_FindUserInstallation (line 690) | func TestAppsService_FindUserInstallation(t *testing.T) {
  function TestContentReference_Marshal (line 725) | func TestContentReference_Marshal(t *testing.T) {
  function TestAttachment_Marshal (line 744) | func TestAttachment_Marshal(t *testing.T) {
  function TestInstallationPermissions_Marshal (line 763) | func TestInstallationPermissions_Marshal(t *testing.T) {
  function TestInstallation_Marshal (line 842) | func TestInstallation_Marshal(t *testing.T) {
  function TestInstallationTokenOptions_Marshal (line 1045) | func TestInstallationTokenOptions_Marshal(t *testing.T) {
  function TestInstallationToken_Marshal (line 1132) | func TestInstallationToken_Marshal(t *testing.T) {
  function TestApp_Marshal (line 1235) | func TestApp_Marshal(t *testing.T) {

FILE: github/attestations.go
  type Attestation (line 16) | type Attestation struct
  type AttestationsResponse (line 25) | type AttestationsResponse struct

FILE: github/authorizations.go
  type Scope (line 16) | type Scope
  constant ScopeNone (line 20) | ScopeNone           Scope = "(no scope)"
  constant ScopeUser (line 21) | ScopeUser           Scope = "user"
  constant ScopeUserEmail (line 22) | ScopeUserEmail      Scope = "user:email"
  constant ScopeUserFollow (line 23) | ScopeUserFollow     Scope = "user:follow"
  constant ScopePublicRepo (line 24) | ScopePublicRepo     Scope = "public_repo"
  constant ScopeRepo (line 25) | ScopeRepo           Scope = "repo"
  constant ScopeRepoDeployment (line 26) | ScopeRepoDeployment Scope = "repo_deployment"
  constant ScopeRepoStatus (line 27) | ScopeRepoStatus     Scope = "repo:status"
  constant ScopeDeleteRepo (line 28) | ScopeDeleteRepo     Scope = "delete_repo"
  constant ScopeNotifications (line 29) | ScopeNotifications  Scope = "notifications"
  constant ScopeGist (line 30) | ScopeGist           Scope = "gist"
  constant ScopeReadRepoHook (line 31) | ScopeReadRepoHook   Scope = "read:repo_hook"
  constant ScopeWriteRepoHook (line 32) | ScopeWriteRepoHook  Scope = "write:repo_hook"
  constant ScopeAdminRepoHook (line 33) | ScopeAdminRepoHook  Scope = "admin:repo_hook"
  constant ScopeAdminOrgHook (line 34) | ScopeAdminOrgHook   Scope = "admin:org_hook"
  constant ScopeReadOrg (line 35) | ScopeReadOrg        Scope = "read:org"
  constant ScopeWriteOrg (line 36) | ScopeWriteOrg       Scope = "write:org"
  constant ScopeAdminOrg (line 37) | ScopeAdminOrg       Scope = "admin:org"
  constant ScopeReadPublicKey (line 38) | ScopeReadPublicKey  Scope = "read:public_key"
  constant ScopeWritePublicKey (line 39) | ScopeWritePublicKey Scope = "write:public_key"
  constant ScopeAdminPublicKey (line 40) | ScopeAdminPublicKey Scope = "admin:public_key"
  constant ScopeReadGPGKey (line 41) | ScopeReadGPGKey     Scope = "read:gpg_key"
  constant ScopeWriteGPGKey (line 42) | ScopeWriteGPGKey    Scope = "write:gpg_key"
  constant ScopeAdminGPGKey (line 43) | ScopeAdminGPGKey    Scope = "admin:gpg_key"
  constant ScopeSecurityEvents (line 44) | ScopeSecurityEvents Scope = "security_events"
  type AuthorizationsService (line 54) | type AuthorizationsService
    method Check (line 149) | func (s *AuthorizationsService) Check(ctx context.Context, clientID, a...
    method Reset (line 184) | func (s *AuthorizationsService) Reset(ctx context.Context, clientID, a...
    method Revoke (line 215) | func (s *AuthorizationsService) Revoke(ctx context.Context, clientID, ...
    method DeleteGrant (line 238) | func (s *AuthorizationsService) DeleteGrant(ctx context.Context, clien...
    method CreateImpersonation (line 263) | func (s *AuthorizationsService) CreateImpersonation(ctx context.Contex...
    method DeleteImpersonation (line 285) | func (s *AuthorizationsService) DeleteImpersonation(ctx context.Contex...
  type Authorization (line 57) | type Authorization struct
    method String (line 75) | func (a Authorization) String() string {
  type AuthorizationApp (line 80) | type AuthorizationApp struct
    method String (line 86) | func (a AuthorizationApp) String() string {
  type Grant (line 91) | type Grant struct
    method String (line 100) | func (g Grant) String() string {
  type AuthorizationRequest (line 105) | type AuthorizationRequest struct
    method String (line 114) | func (a AuthorizationRequest) String() string {
  type AuthorizationUpdateRequest (line 125) | type AuthorizationUpdateRequest struct
    method String (line 134) | func (a AuthorizationUpdateRequest) String() string {

FILE: github/authorizations_test.go
  function TestAuthorizationsService_Check (line 16) | func TestAuthorizationsService_Check(t *testing.T) {
  function TestAuthorizationsService_Reset (line 53) | func TestAuthorizationsService_Reset(t *testing.T) {
  function TestAuthorizationsService_Revoke (line 90) | func TestAuthorizationsService_Revoke(t *testing.T) {
  function TestDeleteGrant (line 118) | func TestDeleteGrant(t *testing.T) {
  function TestAuthorizationsService_CreateImpersonation (line 145) | func TestAuthorizationsService_CreateImpersonation(t *testing.T) {
  function TestAuthorizationsService_DeleteImpersonation (line 181) | func TestAuthorizationsService_DeleteImpersonation(t *testing.T) {
  function TestAuthorizationUpdateRequest_Marshal (line 206) | func TestAuthorizationUpdateRequest_Marshal(t *testing.T) {
  function TestAuthorizationRequest_Marshal (line 231) | func TestAuthorizationRequest_Marshal(t *testing.T) {
  function TestAuthorizationApp_Marshal (line 256) | func TestAuthorizationApp_Marshal(t *testing.T) {
  function TestGrant_Marshal (line 275) | func TestGrant_Marshal(t *testing.T) {
  function TestAuthorization_Marshal (line 308) | func TestAuthorization_Marshal(t *testing.T) {

FILE: github/billing.go
  type BillingService (line 17) | type BillingService
    method GetOrganizationPackagesBilling (line 178) | func (s *BillingService) GetOrganizationPackagesBilling(ctx context.Co...
    method GetOrganizationStorageBilling (line 199) | func (s *BillingService) GetOrganizationStorageBilling(ctx context.Con...
    method GetOrganizationAdvancedSecurityActiveCommitters (line 220) | func (s *BillingService) GetOrganizationAdvancedSecurityActiveCommitte...
    method GetPackagesBilling (line 245) | func (s *BillingService) GetPackagesBilling(ctx context.Context, user ...
    method GetStorageBilling (line 266) | func (s *BillingService) GetStorageBilling(ctx context.Context, user s...
    method GetOrganizationUsageReport (line 289) | func (s *BillingService) GetOrganizationUsageReport(ctx context.Contex...
    method GetUsageReport (line 317) | func (s *BillingService) GetUsageReport(ctx context.Context, user stri...
    method GetOrganizationPremiumRequestUsageReport (line 346) | func (s *BillingService) GetOrganizationPremiumRequestUsageReport(ctx ...
    method GetPremiumRequestUsageReport (line 375) | func (s *BillingService) GetPremiumRequestUsageReport(ctx context.Cont...
  type PackagesBilling (line 23) | type PackagesBilling struct
  type StorageBilling (line 30) | type StorageBilling struct
  type ActiveCommittersListOptions (line 38) | type ActiveCommittersListOptions struct
  type ActiveCommitters (line 50) | type ActiveCommitters struct
  type RepositoryActiveCommitters (line 59) | type RepositoryActiveCommitters struct
  type AdvancedSecurityCommittersBreakdown (line 66) | type AdvancedSecurityCommittersBreakdown struct
  type UsageReportOptions (line 73) | type UsageReportOptions struct
  type PremiumRequestUsageReportOptions (line 93) | type PremiumRequestUsageReportOptions struct
  type UsageItem (line 120) | type UsageItem struct
  type UsageReport (line 136) | type UsageReport struct
  type PremiumRequestUsageItem (line 141) | type PremiumRequestUsageItem struct
  type PremiumRequestUsageTimePeriod (line 156) | type PremiumRequestUsageTimePeriod struct
  type PremiumRequestUsageReport (line 163) | type PremiumRequestUsageReport struct

FILE: github/billing_test.go
  function TestBillingService_GetOrganizationPackagesBilling (line 16) | func TestBillingService_GetOrganizationPackagesBilling(t *testing.T) {
  function TestBillingService_GetOrganizationPackagesBilling_invalidOrg (line 59) | func TestBillingService_GetOrganizationPackagesBilling_invalidOrg(t *tes...
  function TestBillingService_GetOrganizationStorageBilling (line 68) | func TestBillingService_GetOrganizationStorageBilling(t *testing.T) {
  function TestBillingService_GetOrganizationStorageBilling_invalidOrg (line 111) | func TestBillingService_GetOrganizationStorageBilling_invalidOrg(t *test...
  function TestBillingService_GetPackagesBilling (line 120) | func TestBillingService_GetPackagesBilling(t *testing.T) {
  function TestBillingService_GetPackagesBilling_invalidUser (line 163) | func TestBillingService_GetPackagesBilling_invalidUser(t *testing.T) {
  function TestBillingService_GetStorageBilling (line 172) | func TestBillingService_GetStorageBilling(t *testing.T) {
  function TestBillingService_GetStorageBilling_invalidUser (line 215) | func TestBillingService_GetStorageBilling_invalidUser(t *testing.T) {
  function TestMinutesUsedBreakdown_Marshal (line 224) | func TestMinutesUsedBreakdown_Marshal(t *testing.T) {
  function TestPackagesBilling_Marshal (line 243) | func TestPackagesBilling_Marshal(t *testing.T) {
  function TestStorageBilling_Marshal (line 266) | func TestStorageBilling_Marshal(t *testing.T) {
  function TestBillingService_GetOrganizationAdvancedSecurityActiveCommitters (line 289) | func TestBillingService_GetOrganizationAdvancedSecurityActiveCommitters(...
  function TestBillingService_GetOrganizationAdvancedSecurityActiveCommitters_invalidOrg (line 364) | func TestBillingService_GetOrganizationAdvancedSecurityActiveCommitters_...
  function TestBillingService_GetOrganizationUsageReport (line 373) | func TestBillingService_GetOrganizationUsageReport(t *testing.T) {
  function TestBillingService_GetOrganizationUsageReport_invalidOrg (line 448) | func TestBillingService_GetOrganizationUsageReport_invalidOrg(t *testing...
  function TestBillingService_GetUsageReport (line 457) | func TestBillingService_GetUsageReport(t *testing.T) {
  function TestBillingService_GetUsageReport_invalidUser (line 528) | func TestBillingService_GetUsageReport_invalidUser(t *testing.T) {
  function TestBillingService_GetOrganizationPremiumRequestUsageReport (line 537) | func TestBillingService_GetOrganizationPremiumRequestUsageReport(t *test...
  function TestBillingService_GetOrganizationPremiumRequestUsageReport_invalidOrg (line 627) | func TestBillingService_GetOrganizationPremiumRequestUsageReport_invalid...
  function TestBillingService_GetPremiumRequestUsageReport (line 636) | func TestBillingService_GetPremiumRequestUsageReport(t *testing.T) {
  function TestBillingService_GetPremiumRequestUsageReport_invalidUser (line 720) | func TestBillingService_GetPremiumRequestUsageReport_invalidUser(t *test...
  function TestBillingService_PremiumRequestUsageItem_FloatQuantities (line 729) | func TestBillingService_PremiumRequestUsageItem_FloatQuantities(t *testi...

FILE: github/checks.go
  type ChecksService (line 17) | type ChecksService
    method GetCheckRun (line 107) | func (s *ChecksService) GetCheckRun(ctx context.Context, owner, repo s...
    method GetCheckSuite (line 130) | func (s *ChecksService) GetCheckSuite(ctx context.Context, owner, repo...
    method CreateCheckRun (line 174) | func (s *ChecksService) CreateCheckRun(ctx context.Context, owner, rep...
    method UpdateCheckRun (line 209) | func (s *ChecksService) UpdateCheckRun(ctx context.Context, owner, rep...
    method ListCheckRunAnnotations (line 232) | func (s *ChecksService) ListCheckRunAnnotations(ctx context.Context, o...
    method ListCheckRunsForRef (line 278) | func (s *ChecksService) ListCheckRunsForRef(ctx context.Context, owner...
    method ListCheckRunsCheckSuite (line 306) | func (s *ChecksService) ListCheckRunsCheckSuite(ctx context.Context, o...
    method ReRequestCheckRun (line 334) | func (s *ChecksService) ReRequestCheckRun(ctx context.Context, owner, ...
    method ListCheckSuitesForRef (line 368) | func (s *ChecksService) ListCheckSuitesForRef(ctx context.Context, own...
    method SetCheckSuitePreferences (line 418) | func (s *ChecksService) SetCheckSuitePreferences(ctx context.Context, ...
    method CreateCheckSuite (line 447) | func (s *ChecksService) CreateCheckSuite(ctx context.Context, owner, r...
    method ReRequestCheckSuite (line 470) | func (s *ChecksService) ReRequestCheckSuite(ctx context.Context, owner...
  type CheckRun (line 20) | type CheckRun struct
    method String (line 94) | func (c CheckRun) String() string {
  type CheckRunOutput (line 40) | type CheckRunOutput struct
  type CheckRunAnnotation (line 51) | type CheckRunAnnotation struct
  type CheckRunImage (line 64) | type CheckRunImage struct
  type CheckSuite (line 71) | type CheckSuite struct
    method String (line 98) | func (c CheckSuite) String() string {
  type CreateCheckRunOptions (line 149) | type CreateCheckRunOptions struct
  type CheckRunAction (line 163) | type CheckRunAction struct
  type UpdateCheckRunOptions (line 193) | type UpdateCheckRunOptions struct
  type ListCheckRunsOptions (line 256) | type ListCheckRunsOptions struct
  type ListCheckRunsResults (line 266) | type ListCheckRunsResults struct
  type ListCheckSuiteOptions (line 348) | type ListCheckSuiteOptions struct
  type ListCheckSuiteResults (line 356) | type ListCheckSuiteResults struct
  type AutoTriggerCheck (line 392) | type AutoTriggerCheck struct
  type CheckSuitePreferenceOptions (line 398) | type CheckSuitePreferenceOptions struct
  type CheckSuitePreferenceResults (line 403) | type CheckSuitePreferenceResults struct
  type PreferenceList (line 409) | type PreferenceList struct
  type CreateCheckSuiteOptions (line 437) | type CreateCheckSuiteOptions struct

FILE: github/checks_test.go
  function TestChecksService_GetCheckRun (line 17) | func TestChecksService_GetCheckRun(t *testing.T) {
  function TestChecksService_GetCheckSuite (line 67) | func TestChecksService_GetCheckSuite(t *testing.T) {
  function TestChecksService_CreateCheckRun (line 116) | func TestChecksService_CreateCheckRun(t *testing.T) {
  function TestChecksService_ListCheckRunAnnotations (line 183) | func TestChecksService_ListCheckRunAnnotations(t *testing.T) {
  function TestChecksService_UpdateCheckRun (line 243) | func TestChecksService_UpdateCheckRun(t *testing.T) {
  function TestChecksService_ListCheckRunsForRef (line 309) | func TestChecksService_ListCheckRunsForRef(t *testing.T) {
  function TestChecksService_ListCheckRunsCheckSuite (line 381) | func TestChecksService_ListCheckRunsCheckSuite(t *testing.T) {
  function TestChecksService_ListCheckSuiteForRef (line 448) | func TestChecksService_ListCheckSuiteForRef(t *testing.T) {
  function TestChecksService_SetCheckSuitePreferences (line 514) | func TestChecksService_SetCheckSuitePreferences(t *testing.T) {
  function TestChecksService_CreateCheckSuite (line 561) | func TestChecksService_CreateCheckSuite(t *testing.T) {
  function TestChecksService_ReRequestCheckSuite (line 617) | func TestChecksService_ReRequestCheckSuite(t *testing.T) {
  function Test_CheckRunMarshal (line 642) | func Test_CheckRunMarshal(t *testing.T) {
  function Test_CheckSuiteMarshal (line 825) | func Test_CheckSuiteMarshal(t *testing.T) {
  function TestCheckRunAnnotation_Marshal (line 965) | func TestCheckRunAnnotation_Marshal(t *testing.T) {
  function TestCheckRunImage_Marshal (line 996) | func TestCheckRunImage_Marshal(t *testing.T) {
  function TestCheckRunAction_Marshal (line 1015) | func TestCheckRunAction_Marshal(t *testing.T) {
  function TestAutoTriggerCheck_Marshal (line 1038) | func TestAutoTriggerCheck_Marshal(t *testing.T) {
  function TestCreateCheckSuiteOptions_Marshal (line 1055) | func TestCreateCheckSuiteOptions_Marshal(t *testing.T) {
  function TestCheckRunOutput_Marshal (line 1072) | func TestCheckRunOutput_Marshal(t *testing.T) {
  function TestCreateCheckRunOptions_Marshal (line 1135) | func TestCreateCheckRunOptions_Marshal(t *testing.T) {
  function TestUpdateCheckRunOptions_Marshal (line 1235) | func TestUpdateCheckRunOptions_Marshal(t *testing.T) {
  function TestListCheckRunsResults_Marshal (line 1328) | func TestListCheckRunsResults_Marshal(t *testing.T) {
  function TestListCheckSuiteResults_Marshal (line 1519) | func TestListCheckSuiteResults_Marshal(t *testing.T) {
  function TestCheckSuitePreferenceOptions_Marshal (line 1660) | func TestCheckSuitePreferenceOptions_Marshal(t *testing.T) {
  function TestPreferenceList_Marshal (line 1685) | func TestPreferenceList_Marshal(t *testing.T) {
  function TestCheckSuitePreferenceResults_Marshal (line 1710) | func TestCheckSuitePreferenceResults_Marshal(t *testing.T) {
  function TestChecksService_ReRequestCheckRun (line 1749) | func TestChecksService_ReRequestCheckRun(t *testing.T) {

FILE: github/classroom.go
  type ClassroomService (line 17) | type ClassroomService
    method GetAssignment (line 113) | func (s *ClassroomService) GetAssignment(ctx context.Context, assignme...
    method GetClassroom (line 136) | func (s *ClassroomService) GetClassroom(ctx context.Context, classroom...
    method ListClassrooms (line 159) | func (s *ClassroomService) ListClassrooms(ctx context.Context, opts *L...
    method ListClassroomAssignments (line 185) | func (s *ClassroomService) ListClassroomAssignments(ctx context.Contex...
    method ListAcceptedAssignments (line 213) | func (s *ClassroomService) ListAcceptedAssignments(ctx context.Context...
    method GetAssignmentGrades (line 241) | func (s *ClassroomService) GetAssignmentGrades(ctx context.Context, as...
  type ClassroomUser (line 20) | type ClassroomUser struct
    method String (line 27) | func (u ClassroomUser) String() string {
  type Classroom (line 32) | type Classroom struct
    method String (line 40) | func (c Classroom) String() string {
  type ClassroomAssignment (line 45) | type ClassroomAssignment struct
    method String (line 67) | func (a ClassroomAssignment) String() string {
  type AcceptedAssignment (line 72) | type AcceptedAssignment struct
    method String (line 83) | func (a AcceptedAssignment) String() string {
  type AssignmentGrade (line 88) | type AssignmentGrade struct
    method String (line 102) | func (g AssignmentGrade) String() string {

FILE: github/classroom_test.go
  function TestClassroom_Marshal (line 17) | func TestClassroom_Marshal(t *testing.T) {
  function TestClassroomAssignment_Marshal (line 54) | func TestClassroomAssignment_Marshal(t *testing.T) {
  function TestAcceptedAssignment_Marshal (line 117) | func TestAcceptedAssignment_Marshal(t *testing.T) {
  function TestAssignmentGrade_Marshal (line 222) | func TestAssignmentGrade_Marshal(t *testing.T) {
  function TestClassroomService_GetAssignment (line 257) | func TestClassroomService_GetAssignment(t *testing.T) {
  function TestClassroomService_GetClassroom (line 357) | func TestClassroomService_GetClassroom(t *testing.T) {
  function TestClassroomService_ListClassrooms (line 419) | func TestClassroomService_ListClassrooms(t *testing.T) {
  function TestClassroomService_ListClassroomAssignments (line 478) | func TestClassroomService_ListClassroomAssignments(t *testing.T) {
  function TestClassroomService_ListAcceptedAssignments (line 618) | func TestClassroomService_ListAcceptedAssignments(t *testing.T) {
  function TestClassroomService_GetAssignmentGrades (line 850) | func TestClassroomService_GetAssignmentGrades(t *testing.T) {

FILE: github/code_scanning.go
  type CodeScanningService (line 21) | type CodeScanningService
    method ListAlertsForOrg (line 252) | func (s *CodeScanningService) ListAlertsForOrg(ctx context.Context, or...
    method ListAlertsForRepo (line 282) | func (s *CodeScanningService) ListAlertsForRepo(ctx context.Context, o...
    method GetAlert (line 313) | func (s *CodeScanningService) GetAlert(ctx context.Context, owner, rep...
    method UpdateAlert (line 340) | func (s *CodeScanningService) UpdateAlert(ctx context.Context, owner, ...
    method ListAlertInstances (line 365) | func (s *CodeScanningService) ListAlertInstances(ctx context.Context, ...
    method UploadSarif (line 395) | func (s *CodeScanningService) UploadSarif(ctx context.Context, owner, ...
    method GetSARIF (line 439) | func (s *CodeScanningService) GetSARIF(ctx context.Context, owner, rep...
    method ListAnalysesForRepo (line 465) | func (s *CodeScanningService) ListAnalysesForRepo(ctx context.Context,...
    method GetAnalysis (line 496) | func (s *CodeScanningService) GetAnalysis(ctx context.Context, owner, ...
    method DeleteAnalysis (line 531) | func (s *CodeScanningService) DeleteAnalysis(ctx context.Context, owne...
    method ListCodeQLDatabases (line 556) | func (s *CodeScanningService) ListCodeQLDatabases(ctx context.Context,...
    method GetCodeQLDatabase (line 581) | func (s *CodeScanningService) GetCodeQLDatabase(ctx context.Context, o...
    method GetDefaultSetupConfiguration (line 615) | func (s *CodeScanningService) GetDefaultSetupConfiguration(ctx context...
    method UpdateDefaultSetupConfiguration (line 658) | func (s *CodeScanningService) UpdateDefaultSetupConfiguration(ctx cont...
  type Rule (line 24) | type Rule struct
  type Location (line 36) | type Location struct
  type Message (line 45) | type Message struct
  type MostRecentInstance (line 50) | type MostRecentInstance struct
  type Tool (line 64) | type Tool struct
  type Alert (line 73) | type Alert struct
    method ID (line 99) | func (a *Alert) ID() int64 {
  type AlertInstancesListOptions (line 121) | type AlertInstancesListOptions struct
  type AlertListOptions (line 130) | type AlertListOptions struct
  type AnalysesListOptions (line 161) | type AnalysesListOptions struct
  type CodeQLDatabase (line 175) | type CodeQLDatabase struct
  type ScanningAnalysis (line 190) | type ScanningAnalysis struct
  type SarifAnalysis (line 211) | type SarifAnalysis struct
  type CodeScanningAlertState (line 223) | type CodeScanningAlertState struct
  type SarifID (line 239) | type SarifID struct
  type SARIFUpload (line 423) | type SARIFUpload struct
  type DeleteAnalysis (line 514) | type DeleteAnalysis struct
  type DefaultSetupConfiguration (line 599) | type DefaultSetupConfiguration struct
  type UpdateDefaultSetupConfigurationOptions (line 634) | type UpdateDefaultSetupConfigurationOptions struct
  type UpdateDefaultSetupConfigurationResponse (line 641) | type UpdateDefaultSetupConfigurationResponse struct

FILE: github/code_scanning_test.go
  function TestCodeScanningService_Alert_ID (line 18) | func TestCodeScanningService_Alert_ID(t *testing.T) {
  function TestCodeScanningService_UploadSarif (line 57) | func TestCodeScanningService_UploadSarif(t *testing.T) {
  function TestCodeScanningService_GetSARIF (line 102) | func TestCodeScanningService_GetSARIF(t *testing.T) {
  function TestCodeScanningService_ListAlertsForOrg (line 143) | func TestCodeScanningService_ListAlertsForOrg(t *testing.T) {
  function TestCodeScanningService_ListAlertsForOrgLisCursorOptions (line 347) | func TestCodeScanningService_ListAlertsForOrgLisCursorOptions(t *testing...
  function TestCodeScanningService_ListAlertsForRepo (line 473) | func TestCodeScanningService_ListAlertsForRepo(t *testing.T) {
  function TestCodeScanningService_UpdateAlert (line 667) | func TestCodeScanningService_UpdateAlert(t *testing.T) {
  function TestCodeScanningService_ListAlertInstances (line 785) | func TestCodeScanningService_ListAlertInstances(t *testing.T) {
  function TestCodeScanningService_GetAlert (line 864) | func TestCodeScanningService_GetAlert(t *testing.T) {
  function TestAlert_Marshal (line 976) | func TestAlert_Marshal(t *testing.T) {
  function TestLocation_Marshal (line 1033) | func TestLocation_Marshal(t *testing.T) {
  function TestRule_Marshal (line 1056) | func TestRule_Marshal(t *testing.T) {
  function TestTool_Marshal (line 1085) | func TestTool_Marshal(t *testing.T) {
  function TestMessage_Marshal (line 1104) | func TestMessage_Marshal(t *testing.T) {
  function TestCodeScanningService_ListAnalysesForRepo (line 1119) | func TestCodeScanningService_ListAnalysesForRepo(t *testing.T) {
  function TestCodeScanningService_GetAnalysis (line 1243) | func TestCodeScanningService_GetAnalysis(t *testing.T) {
  function TestCodeScanningService_DeleteAnalysis (line 1319) | func TestCodeScanningService_DeleteAnalysis(t *testing.T) {
  function TestCodeScanningService_ListCodeQLDatabases (line 1360) | func TestCodeScanningService_ListCodeQLDatabases(t *testing.T) {
  function TestCodeScanningService_GetCodeQLDatabase (line 1459) | func TestCodeScanningService_GetCodeQLDatabase(t *testing.T) {
  function TestCodeScanningService_GetDefaultSetupConfiguration (line 1554) | func TestCodeScanningService_GetDefaultSetupConfiguration(t *testing.T) {
  function TestCodeScanningService_UpdateDefaultSetupConfiguration (line 1607) | func TestCodeScanningService_UpdateDefaultSetupConfiguration(t *testing....

FILE: github/codesofconduct.go
  type CodesOfConductService (line 14) | type CodesOfConductService
    method List (line 33) | func (s *CodesOfConductService) List(ctx context.Context) ([]*CodeOfCo...
    method Get (line 62) | func (s *CodesOfConductService) Get(ctx context.Context, key string) (...
  type CodeOfConduct (line 17) | type CodeOfConduct struct
    method String (line 24) | func (c *CodeOfConduct) String() string {
  method ListCodesOfConduct (line 53) | func (c *Client) ListCodesOfConduct(ctx context.Context) ([]*CodeOfCondu...
  method GetCodeOfConduct (line 83) | func (c *Client) GetCodeOfConduct(ctx context.Context, key string) (*Cod...

FILE: github/codesofconduct_test.go
  function TestCodesOfConductService_List (line 16) | func TestCodesOfConductService_List(t *testing.T) {
  function TestCodesOfConductService_Get (line 55) | func TestCodesOfConductService_Get(t *testing.T) {
  function TestCodeOfConduct_Marshal (line 99) | func TestCodeOfConduct_Marshal(t *testing.T) {

FILE: github/codespaces.go
  type CodespacesService (line 17) | type CodespacesService
    method ListInRepo (line 96) | func (s *CodespacesService) ListInRepo(ctx context.Context, owner, rep...
    method List (line 132) | func (s *CodespacesService) List(ctx context.Context, opts *ListCodesp...
    method CreateInRepo (line 276) | func (s *CodespacesService) CreateInRepo(ctx context.Context, owner, r...
    method Start (line 300) | func (s *CodespacesService) Start(ctx context.Context, codespaceName s...
    method Stop (line 324) | func (s *CodespacesService) Stop(ctx context.Context, codespaceName st...
    method Delete (line 348) | func (s *CodespacesService) Delete(ctx context.Context, codespaceName ...
    method ListDevContainerConfigurations (line 363) | func (s *CodespacesService) ListDevContainerConfigurations(ctx context...
    method GetDefaultAttributes (line 389) | func (s *CodespacesService) GetDefaultAttributes(ctx context.Context, ...
    method CheckPermissions (line 415) | func (s *CodespacesService) CheckPermissions(ctx context.Context, owne...
    method CreateFromPullRequest (line 447) | func (s *CodespacesService) CreateFromPullRequest(ctx context.Context,...
    method Create (line 470) | func (s *CodespacesService) Create(ctx context.Context, opts *Codespac...
    method Get (line 491) | func (s *CodespacesService) Get(ctx context.Context, codespaceName str...
    method Update (line 514) | func (s *CodespacesService) Update(ctx context.Context, codespaceName ...
    method ExportCodespace (line 535) | func (s *CodespacesService) ExportCodespace(ctx context.Context, codes...
    method GetLatestCodespaceExport (line 556) | func (s *CodespacesService) GetLatestCodespaceExport(ctx context.Conte...
    method Publish (line 577) | func (s *CodespacesService) Publish(ctx context.Context, codespaceName...
  type Codespace (line 22) | type Codespace struct
  type CodespacesGitStatus (line 57) | type CodespacesGitStatus struct
  type CodespacesMachine (line 66) | type CodespacesMachine struct
  type CodespacesRuntimeConstraints (line 77) | type CodespacesRuntimeConstraints struct
  type ListCodespaces (line 82) | type ListCodespaces struct
  type ListCodespacesOptions (line 118) | type ListCodespacesOptions struct
  type CreateCodespaceOptions (line 154) | type CreateCodespaceOptions struct
  type DevContainer (line 175) | type DevContainer struct
  type DevContainerConfigurations (line 182) | type DevContainerConfigurations struct
  type CodespaceDefaults (line 188) | type CodespaceDefaults struct
  type CodespaceDefaultAttributes (line 194) | type CodespaceDefaultAttributes struct
  type CodespaceGetDefaultAttributesOptions (line 200) | type CodespaceGetDefaultAttributesOptions struct
  type CodespacePullRequestOptions (line 208) | type CodespacePullRequestOptions struct
  type CodespaceCreateForUserOptions (line 216) | type CodespaceCreateForUserOptions struct
  type UpdateCodespaceOptions (line 234) | type UpdateCodespaceOptions struct
  type CodespaceExport (line 243) | type CodespaceExport struct
  type PublishCodespaceOptions (line 255) | type PublishCodespaceOptions struct
  type CodespacePermissions (line 263) | type CodespacePermissions struct

FILE: github/codespaces_machines.go
  type CodespacesMachines (line 14) | type CodespacesMachines struct
  type ListRepoMachineTypesOptions (line 20) | type ListRepoMachineTypesOptions struct
  method ListRepositoryMachineTypes (line 34) | func (s *CodespacesService) ListRepositoryMachineTypes(ctx context.Conte...
  method ListCodespaceMachineTypes (line 60) | func (s *CodespacesService) ListCodespaceMachineTypes(ctx context.Contex...

FILE: github/codespaces_machines_test.go
  function TestCodespacesService_ListRepositoryMachineTypes (line 16) | func TestCodespacesService_ListRepositoryMachineTypes(t *testing.T) {
  function TestCodespacesService_ListCodespaceMachineTypes (line 93) | func TestCodespacesService_ListCodespaceMachineTypes(t *testing.T) {

FILE: github/codespaces_orgs.go
  type CodespacesOrgAccessControlRequest (line 14) | type CodespacesOrgAccessControlRequest struct
  method ListInOrg (line 28) | func (s *CodespacesService) ListInOrg(ctx context.Context, org string, o...
  method SetOrgAccessControl (line 54) | func (s *CodespacesService) SetOrgAccessControl(ctx context.Context, org...
  method AddUsersToOrgAccess (line 74) | func (s *CodespacesService) AddUsersToOrgAccess(ctx context.Context, org...
  method RemoveUsersFromOrgAccess (line 94) | func (s *CodespacesService) RemoveUsersFromOrgAccess(ctx context.Context...
  method ListUserCodespacesInOrg (line 114) | func (s *CodespacesService) ListUserCodespacesInOrg(ctx context.Context,...
  method DeleteUserCodespaceInOrg (line 140) | func (s *CodespacesService) DeleteUserCodespaceInOrg(ctx context.Context...
  method StopUserCodespaceInOrg (line 160) | func (s *CodespacesService) StopUserCodespaceInOrg(ctx context.Context, ...

FILE: github/codespaces_orgs_test.go
  function TestCodespacesService_ListInOrg (line 16) | func TestCodespacesService_ListInOrg(t *testing.T) {
  function TestCodespacesService_SetOrgAccessControl (line 56) | func TestCodespacesService_SetOrgAccessControl(t *testing.T) {
  function TestEnterpriseService_AddUsersToOrgAccess (line 87) | func TestEnterpriseService_AddUsersToOrgAccess(t *testing.T) {
  function TestEnterpriseService_RemoveUsersFromOrgAccess (line 117) | func TestEnterpriseService_RemoveUsersFromOrgAccess(t *testing.T) {
  function TestCodespacesService_ListUserCodespacesInOrg (line 147) | func TestCodespacesService_ListUserCodespacesInOrg(t *testing.T) {
  function TestEnterpriseService_DeleteUserCodespaceInOrg (line 187) | func TestEnterpriseService_DeleteUserCodespaceInOrg(t *testing.T) {
  function TestEnterpriseService_StopUserCodespaceInOrg (line 215) | func TestEnterpriseService_StopUserCodespaceInOrg(t *testing.T) {

FILE: github/codespaces_secrets.go
  method ListUserSecrets (line 23) | func (s *CodespacesService) ListUserSecrets(ctx context.Context, opts *L...
  method ListOrgSecrets (line 38) | func (s *CodespacesService) ListOrgSecrets(ctx context.Context, org stri...
  method ListRepoSecrets (line 54) | func (s *CodespacesService) ListRepoSecrets(ctx context.Context, owner, ...
  method listSecrets (line 63) | func (s *CodespacesService) listSecrets(ctx context.Context, url string)...
  method GetUserPublicKey (line 87) | func (s *CodespacesService) GetUserPublicKey(ctx context.Context) (*Publ...
  method GetOrgPublicKey (line 98) | func (s *CodespacesService) GetOrgPublicKey(ctx context.Context, org str...
  method GetRepoPublicKey (line 109) | func (s *CodespacesService) GetRepoPublicKey(ctx context.Context, owner,...
  method getPublicKey (line 113) | func (s *CodespacesService) getPublicKey(ctx context.Context, url string...
  method GetUserSecret (line 137) | func (s *CodespacesService) GetUserSecret(ctx context.Context, name stri...
  method GetOrgSecret (line 149) | func (s *CodespacesService) GetOrgSecret(ctx context.Context, org, name ...
  method GetRepoSecret (line 161) | func (s *CodespacesService) GetRepoSecret(ctx context.Context, owner, re...
  method getSecret (line 166) | func (s *CodespacesService) getSecret(ctx context.Context, url string) (...
  method CreateOrUpdateUserSecret (line 190) | func (s *CodespacesService) CreateOrUpdateUserSecret(ctx context.Context...
  method CreateOrUpdateOrgSecret (line 206) | func (s *CodespacesService) CreateOrUpdateOrgSecret(ctx context.Context,...
  method CreateOrUpdateRepoSecret (line 222) | func (s *CodespacesService) CreateOrUpdateRepoSecret(ctx context.Context...
  method createOrUpdateSecret (line 231) | func (s *CodespacesService) createOrUpdateSecret(ctx context.Context, ur...
  method DeleteUserSecret (line 254) | func (s *CodespacesService) DeleteUserSecret(ctx context.Context, name s...
  method DeleteOrgSecret (line 266) | func (s *CodespacesService) DeleteOrgSecret(ctx context.Context, org, na...
  method DeleteRepoSecret (line 278) | func (s *CodespacesService) DeleteRepoSecret(ctx context.Context, owner,...
  method deleteSecret (line 283) | func (s *CodespacesService) deleteSecret(ctx context.Context, url string...
  method ListSelectedReposForUserSecret (line 305) | func (s *CodespacesService) ListSelectedReposForUserSecret(ctx context.C...
  method ListSelectedReposForOrgSecret (line 322) | func (s *CodespacesService) ListSelectedReposForOrgSecret(ctx context.Co...
  method listSelectedReposForSecret (line 332) | func (s *CodespacesService) listSelectedReposForSecret(ctx context.Conte...
  method SetSelectedReposForUserSecret (line 355) | func (s *CodespacesService) SetSelectedReposForUserSecret(ctx context.Co...
  method SetSelectedReposForOrgSecret (line 367) | func (s *CodespacesService) SetSelectedReposForOrgSecret(ctx context.Con...
  method setSelectedRepoForSecret (line 372) | func (s *CodespacesService) setSelectedRepoForSecret(ctx context.Context...
  method AddSelectedRepoToUserSecret (line 397) | func (s *CodespacesService) AddSelectedRepoToUserSecret(ctx context.Cont...
  method AddSelectedRepoToOrgSecret (line 416) | func (s *CodespacesService) AddSelectedRepoToOrgSecret(ctx context.Conte...
  method addSelectedRepoToSecret (line 428) | func (s *CodespacesService) addSelectedRepoToSecret(ctx context.Context,...
  method RemoveSelectedRepoFromUserSecret (line 449) | func (s *CodespacesService) RemoveSelectedRepoFromUserSecret(ctx context...
  method RemoveSelectedRepoFromOrgSecret (line 468) | func (s *CodespacesService) RemoveSelectedRepoFromOrgSecret(ctx context....
  method removeSelectedRepoFromSecret (line 480) | func (s *CodespacesService) removeSelectedRepoFromSecret(ctx context.Con...

FILE: github/codespaces_secrets_test.go
  function TestCodespacesService_ListSecrets (line 18) | func TestCodespacesService_ListSecrets(t *testing.T) {
  function TestCodespacesService_GetSecret (line 121) | func TestCodespacesService_GetSecret(t *testing.T) {
  function TestCodespacesService_CreateOrUpdateSecret (line 214) | func TestCodespacesService_CreateOrUpdateSecret(t *testing.T) {
  function TestCodespacesService_DeleteSecret (line 312) | func TestCodespacesService_DeleteSecret(t *testing.T) {
  function TestCodespacesService_GetPublicKey (line 393) | func TestCodespacesService_GetPublicKey(t *testing.T) {
  function TestCodespacesService_ListSelectedReposForSecret (line 487) | func TestCodespacesService_ListSelectedReposForSecret(t *testing.T) {
  function TestCodespacesService_SetSelectedReposForSecret (line 571) | func TestCodespacesService_SetSelectedReposForSecret(t *testing.T) {
  function TestCodespacesService_AddSelectedReposForSecret (line 642) | func TestCodespacesService_AddSelectedReposForSecret(t *testing.T) {
  function TestCodespacesService_RemoveSelectedReposFromSecret (line 712) | func TestCodespacesService_RemoveSelectedReposFromSecret(t *testing.T) {

FILE: github/codespaces_test.go
  function TestCodespacesService_ListInRepo (line 17) | func TestCodespacesService_ListInRepo(t *testing.T) {
  function TestCodespacesService_List (line 102) | func TestCodespacesService_List(t *testing.T) {
  function TestCodespacesService_CreateInRepo (line 145) | func TestCodespacesService_CreateInRepo(t *testing.T) {
  function TestCodespacesService_Start (line 192) | func TestCodespacesService_Start(t *testing.T) {
  function TestCodespacesService_Stop (line 231) | func TestCodespacesService_Stop(t *testing.T) {
  function TestCodespacesService_Delete (line 270) | func TestCodespacesService_Delete(t *testing.T) {
  function TestCodespacesService_ListDevContainerConfigurations (line 295) | func TestCodespacesService_ListDevContainerConfigurations(t *testing.T) {
  function TestCodespacesService_GetDefaultAttributes (line 350) | func TestCodespacesService_GetDefaultAttributes(t *testing.T) {
  function TestCodespacesService_CheckPermissions (line 413) | func TestCodespacesService_CheckPermissions(t *testing.T) {
  function TestCodespacesService_CreateFromPullRequest (line 449) | func TestCodespacesService_CreateFromPullRequest(t *testing.T) {
  function TestCodespacesService_Create (line 493) | func TestCodespacesService_Create(t *testing.T) {
  function TestCodespacesService_Get (line 549) | func TestCodespacesService_Get(t *testing.T) {
  function TestCodespacesService_Update (line 585) | func TestCodespacesService_Update(t *testing.T) {
  function TestCodespacesService_ExportCodespace (line 642) | func TestCodespacesService_ExportCodespace(t *testing.T) {
  function TestCodespacesService_GetLatestCodespaceExport (line 683) | func TestCodespacesService_GetLatestCodespaceExport(t *testing.T) {
  function TestCodespacesService_Publish (line 724) | func TestCodespacesService_Publish(t *testing.T) {

FILE: github/copilot.go
  type CopilotService (line 20) | type CopilotService
    method GetCopilotBilling (line 285) | func (s *CopilotService) GetCopilotBilling(ctx context.Context, org st...
    method ListCopilotSeats (line 309) | func (s *CopilotService) ListCopilotSeats(ctx context.Context, org str...
    method ListCopilotEnterpriseSeats (line 337) | func (s *CopilotService) ListCopilotEnterpriseSeats(ctx context.Contex...
    method AddCopilotTeams (line 363) | func (s *CopilotService) AddCopilotTeams(ctx context.Context, org stri...
    method RemoveCopilotTeams (line 391) | func (s *CopilotService) RemoveCopilotTeams(ctx context.Context, org s...
    method AddCopilotUsers (line 419) | func (s *CopilotService) AddCopilotUsers(ctx context.Context, org stri...
    method RemoveCopilotUsers (line 447) | func (s *CopilotService) RemoveCopilotUsers(ctx context.Context, org s...
    method GetSeatDetails (line 475) | func (s *CopilotService) GetSeatDetails(ctx context.Context, org, user...
    method GetEnterpriseMetrics (line 497) | func (s *CopilotService) GetEnterpriseMetrics(ctx context.Context, ent...
    method GetEnterpriseTeamMetrics (line 523) | func (s *CopilotService) GetEnterpriseTeamMetrics(ctx context.Context,...
    method GetOrganizationMetrics (line 549) | func (s *CopilotService) GetOrganizationMetrics(ctx context.Context, o...
    method GetOrganizationTeamMetrics (line 575) | func (s *CopilotService) GetOrganizationTeamMetrics(ctx context.Contex...
    method GetEnterpriseDailyMetricsReport (line 601) | func (s *CopilotService) GetEnterpriseDailyMetricsReport(ctx context.C...
    method GetEnterpriseMetricsReport (line 627) | func (s *CopilotService) GetEnterpriseMetricsReport(ctx context.Contex...
    method GetEnterpriseUsersDailyMetricsReport (line 649) | func (s *CopilotService) GetEnterpriseUsersDailyMetricsReport(ctx cont...
    method GetEnterpriseUsersMetricsReport (line 675) | func (s *CopilotService) GetEnterpriseUsersMetricsReport(ctx context.C...
    method GetOrganizationDailyMetricsReport (line 697) | func (s *CopilotService) GetOrganizationDailyMetricsReport(ctx context...
    method GetOrganizationMetricsReport (line 723) | func (s *CopilotService) GetOrganizationMetricsReport(ctx context.Cont...
    method GetOrganizationUsersDailyMetricsReport (line 745) | func (s *CopilotService) GetOrganizationUsersDailyMetricsReport(ctx co...
    method GetOrganizationUsersMetricsReport (line 771) | func (s *CopilotService) GetOrganizationUsersMetricsReport(ctx context...
  type CopilotOrganizationDetails (line 23) | type CopilotOrganizationDetails struct
  type CopilotSeatBreakdown (line 31) | type CopilotSeatBreakdown struct
  type ListCopilotSeatsResponse (line 41) | type ListCopilotSeatsResponse struct
  type CopilotSeatDetails (line 47) | type CopilotSeatDetails struct
    method UnmarshalJSON (line 207) | func (cp *CopilotSeatDetails) UnmarshalJSON(data []byte) error {
    method GetUser (line 269) | func (cp *CopilotSeatDetails) GetUser() (*User, bool) { u, ok := cp.As...
    method GetTeam (line 272) | func (cp *CopilotSeatDetails) GetTeam() (*Team, bool) { t, ok := cp.As...
    method GetOrganization (line 275) | func (cp *CopilotSeatDetails) GetOrganization() (*Organization, bool) {
  type SeatAssignments (line 60) | type SeatAssignments struct
  type SeatCancellations (line 65) | type SeatCancellations struct
  type CopilotMetricsListOptions (line 70) | type CopilotMetricsListOptions struct
  type CopilotIDECodeCompletionsLanguage (line 78) | type CopilotIDECodeCompletionsLanguage struct
  type CopilotIDECodeCompletionsModelLanguage (line 84) | type CopilotIDECodeCompletionsModelLanguage struct
  type CopilotIDECodeCompletionsModel (line 94) | type CopilotIDECodeCompletionsModel struct
  type CopilotIDECodeCompletionsEditor (line 103) | type CopilotIDECodeCompletionsEditor struct
  type CopilotIDECodeCompletions (line 110) | type CopilotIDECodeCompletions struct
  type CopilotIDEChatModel (line 117) | type CopilotIDEChatModel struct
  type CopilotIDEChatEditor (line 128) | type CopilotIDEChatEditor struct
  type CopilotIDEChat (line 135) | type CopilotIDEChat struct
  type CopilotDotcomChatModel (line 141) | type CopilotDotcomChatModel struct
  type CopilotDotcomChat (line 150) | type CopilotDotcomChat struct
  type CopilotDotcomPullRequestsModel (line 156) | type CopilotDotcomPullRequestsModel struct
  type CopilotDotcomPullRequestsRepository (line 165) | type CopilotDotcomPullRequestsRepository struct
  type CopilotDotcomPullRequests (line 172) | type CopilotDotcomPullRequests struct
  type CopilotMetrics (line 178) | type CopilotMetrics struct
  type CopilotMetricsReportOptions (line 189) | type CopilotMetricsReportOptions struct
  type CopilotDailyMetricsReport (line 194) | type CopilotDailyMetricsReport struct
  type CopilotMetricsReport (line 200) | type CopilotMetricsReport struct

FILE: github/copilot_test.go
  function TestCopilotSeatDetails_UnmarshalJSON (line 20) | func TestCopilotSeatDetails_UnmarshalJSON(t *testing.T) {
  function TestCopilotService_GetSeatDetailsUser (line 142) | func TestCopilotService_GetSeatDetailsUser(t *testing.T) {
  function TestCopilotService_GetSeatDetailsTeam (line 191) | func TestCopilotService_GetSeatDetailsTeam(t *testing.T) {
  function TestCopilotService_GetSeatDetailsOrganization (line 240) | func TestCopilotService_GetSeatDetailsOrganization(t *testing.T) {
  function TestCopilotService_GetCopilotBilling (line 288) | func TestCopilotService_GetCopilotBilling(t *testing.T) {
  function TestCopilotService_ListCopilotSeats (line 347) | func TestCopilotService_ListCopilotSeats(t *testing.T) {
  function TestCopilotService_ListCopilotEnterpriseSeats (line 585) | func TestCopilotService_ListCopilotEnterpriseSeats(t *testing.T) {
  function TestCopilotService_AddCopilotTeams (line 779) | func TestCopilotService_AddCopilotTeams(t *testing.T) {
  function TestCopilotService_RemoveCopilotTeams (line 817) | func TestCopilotService_RemoveCopilotTeams(t *testing.T) {
  function TestCopilotService_AddCopilotUsers (line 855) | func TestCopilotService_AddCopilotUsers(t *testing.T) {
  function TestCopilotService_RemoveCopilotUsers (line 893) | func TestCopilotService_RemoveCopilotUsers(t *testing.T) {
  function TestCopilotService_GetSeatDetails (line 931) | func TestCopilotService_GetSeatDetails(t *testing.T) {
  function TestCopilotService_GetEnterpriseMetrics (line 1050) | func TestCopilotService_GetEnterpriseMetrics(t *testing.T) {
  function TestCopilotService_GetEnterpriseTeamMetrics (line 1393) | func TestCopilotService_GetEnterpriseTeamMetrics(t *testing.T) {
  function TestCopilotService_GetOrganizationMetrics (line 1736) | func TestCopilotService_GetOrganizationMetrics(t *testing.T) {
  function TestCopilotService_GetOrganizationTeamMetrics (line 2079) | func TestCopilotService_GetOrganizationTeamMetrics(t *testing.T) {
  function TestCopilotService_GetEnterpriseDailyMetricsReport (line 2422) | func TestCopilotService_GetEnterpriseDailyMetricsReport(t *testing.T) {
  function TestCopilotService_GetEnterpriseMetricsReport (line 2467) | func TestCopilotService_GetEnterpriseMetricsReport(t *testing.T) {
  function TestCopilotService_GetEnterpriseUsersDailyMetricsReport (line 2512) | func TestCopilotService_GetEnterpriseUsersDailyMetricsReport(t *testing....
  function TestCopilotService_GetEnterpriseUsersMetricsReport (line 2557) | func TestCopilotService_GetEnterpriseUsersMetricsReport(t *testing.T) {
  function TestCopilotService_GetOrganizationDailyMetricsReport (line 2602) | func TestCopilotService_GetOrganizationDailyMetricsReport(t *testing.T) {
  function TestCopilotService_GetOrganizationMetricsReport (line 2647) | func TestCopilotService_GetOrganizationMetricsReport(t *testing.T) {
  function TestCopilotService_GetOrganizationUsersDailyMetricsReport (line 2692) | func TestCopilotService_GetOrganizationUsersDailyMetricsReport(t *testin...
  function TestCopilotService_GetOrganizationUsersMetricsReport (line 2737) | func TestCopilotService_GetOrganizationUsersMetricsReport(t *testing.T) {

FILE: github/credentials.go
  type CredentialsService (line 13) | type CredentialsService
    method Revoke (line 26) | func (s *CredentialsService) Revoke(ctx context.Context, credentials [...
  type revokeCredentialsRequest (line 16) | type revokeCredentialsRequest struct

FILE: github/credentials_test.go
  function TestCredentialsService_Revoke (line 15) | func TestCredentialsService_Revoke(t *testing.T) {

FILE: github/dependabot.go
  type DependabotService (line 12) | type DependabotService

FILE: github/dependabot_alerts.go
  type Dependency (line 14) | type Dependency struct
  type AdvisoryCVSS (line 21) | type AdvisoryCVSS struct
  type AdvisoryCWEs (line 27) | type AdvisoryCWEs struct
  type AdvisoryEPSS (line 36) | type AdvisoryEPSS struct
  type DependabotSecurityAdvisory (line 42) | type DependabotSecurityAdvisory struct
  type DependabotAlert (line 60) | type DependabotAlert struct
  type DependabotAlertState (line 81) | type DependabotAlertState struct
  type ListAlertsOptions (line 93) | type ListAlertsOptions struct
  method listAlerts (line 106) | func (s *DependabotService) listAlerts(ctx context.Context, url string, ...
  method ListRepoAlerts (line 131) | func (s *DependabotService) ListRepoAlerts(ctx context.Context, owner, r...
  method ListOrgAlerts (line 141) | func (s *DependabotService) ListOrgAlerts(ctx context.Context, org strin...
  method GetRepoAlert (line 151) | func (s *DependabotService) GetRepoAlert(ctx context.Context, owner, rep...
  method UpdateAlert (line 172) | func (s *DependabotService) UpdateAlert(ctx context.Context, owner, repo...

FILE: github/dependabot_alerts_test.go
  function TestDependabotService_ListRepoAlerts (line 17) | func TestDependabotService_ListRepoAlerts(t *testing.T) {
  function TestDependabotService_GetRepoAlert (line 57) | func TestDependabotService_GetRepoAlert(t *testing.T) {
  function TestDependabotService_ListOrgAlerts (line 95) | func TestDependabotService_ListOrgAlerts(t *testing.T) {
  function TestDependabotService_UpdateAlert (line 135) | func TestDependabotService_UpdateAlert(t *testing.T) {
  function TestDependency_Marshal (line 181) | func TestDependency_Marshal(t *testing.T) {
  function TestAdvisoryCVSS_Marshal (line 206) | func TestAdvisoryCVSS_Marshal(t *testing.T) {
  function TestAdvisoryCWEs_Marshal (line 223) | func TestAdvisoryCWEs_Marshal(t *testing.T) {
  function TestDependabotSecurityAdvisory_Marshal (line 240) | func TestDependabotSecurityAdvisory_Marshal(t *testing.T) {

FILE: github/dependabot_secrets.go
  method getPublicKey (line 14) | func (s *DependabotService) getPublicKey(ctx context.Context, url string...
  method GetRepoPublicKey (line 34) | func (s *DependabotService) GetRepoPublicKey(ctx context.Context, owner,...
  method GetOrgPublicKey (line 44) | func (s *DependabotService) GetOrgPublicKey(ctx context.Context, org str...
  method listSecrets (line 49) | func (s *DependabotService) listSecrets(ctx context.Context, url string,...
  method ListRepoSecrets (line 75) | func (s *DependabotService) ListRepoSecrets(ctx context.Context, owner, ...
  method ListOrgSecrets (line 86) | func (s *DependabotService) ListOrgSecrets(ctx context.Context, org stri...
  method getSecret (line 91) | func (s *DependabotService) getSecret(ctx context.Context, url string) (...
  method GetRepoSecret (line 111) | func (s *DependabotService) GetRepoSecret(ctx context.Context, owner, re...
  method GetOrgSecret (line 121) | func (s *DependabotService) GetOrgSecret(ctx context.Context, org, name ...
  type DependabotEncryptedSecret (line 131) | type DependabotEncryptedSecret struct
  method putSecret (line 139) | func (s *DependabotService) putSecret(ctx context.Context, url string, e...
  method CreateOrUpdateRepoSecret (line 153) | func (s *DependabotService) CreateOrUpdateRepoSecret(ctx context.Context...
  method CreateOrUpdateOrgSecret (line 167) | func (s *DependabotService) CreateOrUpdateOrgSecret(ctx context.Context,...
  method deleteSecret (line 193) | func (s *DependabotService) deleteSecret(ctx context.Context, url string...
  method DeleteRepoSecret (line 207) | func (s *DependabotService) DeleteRepoSecret(ctx context.Context, owner,...
  method DeleteOrgSecret (line 217) | func (s *DependabotService) DeleteOrgSecret(ctx context.Context, org, na...
  method ListSelectedReposForOrgSecret (line 227) | func (s *DependabotService) ListSelectedReposForOrgSecret(ctx context.Co...
  type DependabotSecretsSelectedRepoIDs (line 249) | type DependabotSecretsSelectedRepoIDs
  method SetSelectedReposForOrgSecret (line 256) | func (s *DependabotService) SetSelectedReposForOrgSecret(ctx context.Con...
  method AddSelectedRepoToOrgSecret (line 275) | func (s *DependabotService) AddSelectedRepoToOrgSecret(ctx context.Conte...
  method RemoveSelectedRepoFromOrgSecret (line 297) | func (s *DependabotService) RemoveSelectedRepoFromOrgSecret(ctx context....

FILE: github/dependabot_secrets_test.go
  function TestDependabotService_GetRepoPublicKey (line 17) | func TestDependabotService_GetRepoPublicKey(t *testing.T) {
  function TestDependabotService_GetRepoPublicKeyNumeric (line 52) | func TestDependabotService_GetRepoPublicKeyNumeric(t *testing.T) {
  function TestDependabotService_ListRepoSecrets (line 87) | func TestDependabotService_ListRepoSecrets(t *testing.T) {
  function TestDependabotService_GetRepoSecret (line 130) | func TestDependabotService_GetRepoSecret(t *testing.T) {
  function TestDependabotService_CreateOrUpdateRepoSecret (line 169) | func TestDependabotService_CreateOrUpdateRepoSecret(t *testing.T) {
  function TestDependabotService_DeleteRepoSecret (line 206) | func TestDependabotService_DeleteRepoSecret(t *testing.T) {
  function TestDependabotService_GetOrgPublicKey (line 231) | func TestDependabotService_GetOrgPublicKey(t *testing.T) {
  function TestDependabotService_ListOrgSecrets (line 266) | func TestDependabotService_ListOrgSecrets(t *testing.T) {
  function TestDependabotService_GetOrgSecret (line 310) | func TestDependabotService_GetOrgSecret(t *testing.T) {
  function TestDependabotService_CreateOrUpdateOrgSecret (line 351) | func TestDependabotService_CreateOrUpdateOrgSecret(t *testing.T) {
  function TestDependabotService_ListSelectedReposForOrgSecret (line 390) | func TestDependabotService_ListSelectedReposForOrgSecret(t *testing.T) {
  function TestDependabotService_SetSelectedReposForOrgSecret (line 431) | func TestDependabotService_SetSelectedReposForOrgSecret(t *testing.T) {
  function TestDependabotService_AddSelectedRepoToOrgSecret (line 458) | func TestDependabotService_AddSelectedRepoToOrgSecret(t *testing.T) {
  function TestDependabotService_RemoveSelectedRepoFromOrgSecret (line 492) | func TestDependabotService_RemoveSelectedRepoFromOrgSecret(t *testing.T) {
  function TestDependabotService_DeleteOrgSecret (line 526) | func TestDependabotService_DeleteOrgSecret(t *testing.T) {

FILE: github/dependency_graph.go
  type DependencyGraphService (line 17) | type DependencyGraphService
    method GetSBOM (line 114) | func (s *DependencyGraphService) GetSBOM(ctx context.Context, owner, r...
  type SBOM (line 21) | type SBOM struct
    method String (line 105) | func (s SBOM) String() string {
  type CreationInfo (line 26) | type CreationInfo struct
  type RepoDependencies (line 32) | type RepoDependencies struct
  type PackageExternalRef (line 48) | type PackageExternalRef struct
  type SBOMRelationship (line 68) | type SBOMRelationship struct
  type SBOMInfo (line 87) | type SBOMInfo struct

FILE: github/dependency_graph_snapshots.go
  type DependencyGraphSnapshotResolvedDependency (line 16) | type DependencyGraphSnapshotResolvedDependency struct
  type DependencyGraphSnapshotJob (line 43) | type DependencyGraphSnapshotJob struct
  type DependencyGraphSnapshotDetector (line 52) | type DependencyGraphSnapshotDetector struct
  type DependencyGraphSnapshotManifestFile (line 61) | type DependencyGraphSnapshotManifestFile struct
  type DependencyGraphSnapshotManifest (line 68) | type DependencyGraphSnapshotManifest struct
  type DependencyGraphSnapshot (line 78) | type DependencyGraphSnapshot struct
  type DependencyGraphSnapshotCreationData (line 92) | type DependencyGraphSnapshotCreationData struct
  method CreateSnapshot (line 109) | func (s *DependencyGraphService) CreateSnapshot(ctx context.Context, own...

FILE: github/dependency_graph_snapshots_test.go
  function TestDependencyGraphService_CreateSnapshot (line 17) | func TestDependencyGraphService_CreateSnapshot(t *testing.T) {

FILE: github/dependency_graph_test.go
  function TestDependencyGraphService_GetSBOM (line 17) | func TestDependencyGraphService_GetSBOM(t *testing.T) {

FILE: github/emojis.go
  type EmojisService (line 13) | type EmojisService
    method List (line 20) | func (s *EmojisService) List(ctx context.Context) (map[string]string, ...
  method ListEmojis (line 38) | func (c *Client) ListEmojis(ctx context.Context) (map[string]string, *Re...

FILE: github/emojis_test.go
  function TestEmojisService_List (line 16) | func TestEmojisService_List(t *testing.T) {

FILE: github/enterprise.go
  type EnterpriseService (line 12) | type EnterpriseService

FILE: github/enterprise_actions_hosted_runners.go
  method ListHostedRunners (line 18) | func (s *EnterpriseService) ListHostedRunners(ctx context.Context, enter...
  method CreateHostedRunner (line 44) | func (s *EnterpriseService) CreateHostedRunner(ctx context.Context, ente...
  method GetHostedRunnerGitHubOwnedImages (line 69) | func (s *EnterpriseService) GetHostedRunnerGitHubOwnedImages(ctx context...
  method GetHostedRunnerPartnerImages (line 90) | func (s *EnterpriseService) GetHostedRunnerPartnerImages(ctx context.Con...
  method GetHostedRunnerLimits (line 111) | func (s *EnterpriseService) GetHostedRunnerLimits(ctx context.Context, e...
  method GetHostedRunnerMachineSpecs (line 132) | func (s *EnterpriseService) GetHostedRunnerMachineSpecs(ctx context.Cont...
  method GetHostedRunnerPlatforms (line 153) | func (s *EnterpriseService) GetHostedRunnerPlatforms(ctx context.Context...
  method GetHostedRunner (line 174) | func (s *EnterpriseService) GetHostedRunner(ctx context.Context, enterpr...
  method UpdateHostedRunner (line 195) | func (s *EnterpriseService) UpdateHostedRunner(ctx context.Context, ente...
  method DeleteHostedRunner (line 216) | func (s *EnterpriseService) DeleteHostedRunner(ctx context.Context, ente...
  method ListHostedRunnerCustomImages (line 237) | func (s *EnterpriseService) ListHostedRunnerCustomImages(ctx context.Con...
  method GetHostedRunnerCustomImage (line 258) | func (s *EnterpriseService) GetHostedRunnerCustomImage(ctx context.Conte...
  method DeleteHostedRunnerCustomImage (line 279) | func (s *EnterpriseService) DeleteHostedRunnerCustomImage(ctx context.Co...
  method ListHostedRunnerCustomImageVersions (line 294) | func (s *EnterpriseService) ListHostedRunnerCustomImageVersions(ctx cont...
  method GetHostedRunnerCustomImageVersion (line 315) | func (s *EnterpriseService) GetHostedRunnerCustomImageVersion(ctx contex...
  method DeleteHostedRunnerCustomImageVersion (line 336) | func (s *EnterpriseService) DeleteHostedRunnerCustomImageVersion(ctx con...

FILE: github/enterprise_actions_hosted_runners_test.go
  function TestEnterpriseService_ListHostedRunners (line 17) | func TestEnterpriseService_ListHostedRunners(t *testing.T) {
  function TestEnterpriseService_CreateHostedRunner (line 158) | func TestEnterpriseService_CreateHostedRunner(t *testing.T) {
  function TestEnterpriseService_GetHostedRunnerGitHubOwnedImages (line 323) | func TestEnterpriseService_GetHostedRunnerGitHubOwnedImages(t *testing.T) {
  function TestEnterpriseService_GetHostedRunnerPartnerImages (line 381) | func TestEnterpriseService_GetHostedRunnerPartnerImages(t *testing.T) {
  function TestEnterpriseService_GetHostedRunnerLimits (line 439) | func TestEnterpriseService_GetHostedRunnerLimits(t *testing.T) {
  function TestEnterpriseService_GetHostedRunnerMachineSpecs (line 484) | func TestEnterpriseService_GetHostedRunnerMachineSpecs(t *testing.T) {
  function TestEnterpriseService_GetHostedRunnerPlatforms (line 539) | func TestEnterpriseService_GetHostedRunnerPlatforms(t *testing.T) {
  function TestEnterpriseService_GetHostedRunner (line 586) | func TestEnterpriseService_GetHostedRunner(t *testing.T) {
  function TestEnterpriseService_UpdateHostedRunner (line 675) | func TestEnterpriseService_UpdateHostedRunner(t *testing.T) {
  function TestEnterpriseService_DeleteHostedRunner (line 772) | func TestEnterpriseService_DeleteHostedRunner(t *testing.T) {
  function TestEnterpriseService_ListHostedRunnerCustomImages (line 861) | func TestEnterpriseService_ListHostedRunnerCustomImages(t *testing.T) {
  function TestEnterpriseService_GetHostedRunnerCustomImage (line 945) | func TestEnterpriseService_GetHostedRunnerCustomImage(t *testing.T) {
  function TestEnterpriseService_DeleteHostedRunnerCustomImage (line 999) | func TestEnterpriseService_DeleteHostedRunnerCustomImage(t *testing.T) {
  function TestEnterpriseService_ListHostedRunnerCustomImageVersions (line 1024) | func TestEnterpriseService_ListHostedRunnerCustomImageVersions(t *testin...
  function TestEnterpriseService_GetHostedRunnerCustomImageVersion (line 1096) | func TestEnterpriseService_GetHostedRunnerCustomImageVersion(t *testing....
  function TestEnterpriseService_DeleteHostedRunnerCustomImageVersion (line 1144) | func TestEnterpriseService_DeleteHostedRunnerCustomImageVersion(t *testi...

FILE: github/enterprise_actions_runner_groups.go
  type ListOrganizations (line 14) | type ListOrganizations struct
  type EnterpriseRunnerGroup (line 20) | type EnterpriseRunnerGroup struct
  type EnterpriseRunnerGroups (line 37) | type EnterpriseRunnerGroups struct
  type CreateEnterpriseRunnerGroupRequest (line 43) | type CreateEnterpriseRunnerGroupRequest struct
  type UpdateEnterpriseRunnerGroupRequest (line 61) | type UpdateEnterpriseRunnerGroupRequest struct
  type SetOrgAccessRunnerGroupRequest (line 72) | type SetOrgAccessRunnerGroupRequest struct
  type ListEnterpriseRunnerGroupOptions (line 78) | type ListEnterpriseRunnerGroupOptions struct
  method ListRunnerGroups (line 90) | func (s *EnterpriseService) ListRunnerGroups(ctx context.Context, enterp...
  method GetEnterpriseRunnerGroup (line 116) | func (s *EnterpriseService) GetEnterpriseRunnerGroup(ctx context.Context...
  method DeleteEnterpriseRunnerGroup (line 137) | func (s *EnterpriseService) DeleteEnterpriseRunnerGroup(ctx context.Cont...
  method CreateEnterpriseRunnerGroup (line 153) | func (s *EnterpriseService) CreateEnterpriseRunnerGroup(ctx context.Cont...
  method UpdateEnterpriseRunnerGroup (line 174) | func (s *EnterpriseService) UpdateEnterpriseRunnerGroup(ctx context.Cont...
  method ListOrganizationAccessRunnerGroup (line 195) | func (s *EnterpriseService) ListOrganizationAccessRunnerGroup(ctx contex...
  method SetOrganizationAccessRunnerGroup (line 222) | func (s *EnterpriseService) SetOrganizationAccessRunnerGroup(ctx context...
  method AddOrganizationAccessRunnerGroup (line 239) | func (s *EnterpriseService) AddOrganizationAccessRunnerGroup(ctx context...
  method RemoveOrganizationAccessRunnerGroup (line 256) | func (s *EnterpriseService) RemoveOrganizationAccessRunnerGroup(ctx cont...
  method ListRunnerGroupRunners (line 272) | func (s *EnterpriseService) ListRunnerGroupRunners(ctx context.Context, ...
  method SetRunnerGroupRunners (line 299) | func (s *EnterpriseService) SetRunnerGroupRunners(ctx context.Context, e...
  method AddRunnerGroupRunners (line 315) | func (s *EnterpriseService) AddRunnerGroupRunners(ctx context.Context, e...
  method RemoveRunnerGroupRunners (line 332) | func (s *EnterpriseService) RemoveRunnerGroupRunners(ctx context.Context...

FILE: github/enterprise_actions_runner_groups_test.go
  function TestEnterpriseService_ListRunnerGroups (line 16) | func TestEnterpriseService_ListRunnerGroups(t *testing.T) {
  function TestEnterpriseService_ListRunnerGroupsVisibleToOrganization (line 60) | func TestEnterpriseService_ListRunnerGroupsVisibleToOrganization(t *test...
  function TestEnterpriseService_GetRunnerGroup (line 104) | func TestEnterpriseService_GetRunnerGroup(t *testing.T) {
  function TestEnterpriseService_DeleteRunnerGroup (line 151) | func TestEnterpriseService_DeleteRunnerGroup(t *testing.T) {
  function TestEnterpriseService_CreateRunnerGroup (line 176) | func TestEnterpriseService_CreateRunnerGroup(t *testing.T) {
  function TestEnterpriseService_UpdateRunnerGroup (line 230) | func TestEnterpriseService_UpdateRunnerGroup(t *testing.T) {
  function TestEnterpriseService_ListOrganizationAccessRunnerGroup (line 284) | func TestEnterpriseService_ListOrganizationAccessRunnerGroup(t *testing....
  function TestEnterpriseService_SetOrganizationAccessRunnerGroup (line 326) | func TestEnterpriseService_SetOrganizationAccessRunnerGroup(t *testing.T) {
  function TestEnterpriseService_AddOrganizationAccessRunnerGroup (line 358) | func TestEnterpriseService_AddOrganizationAccessRunnerGroup(t *testing.T) {
  function TestEnterpriseService_RemoveOrganizationAccessRunnerGroup (line 383) | func TestEnterpriseService_RemoveOrganizationAccessRunnerGroup(t *testin...
  function TestEnterpriseService_ListEnterpriseRunnerGroupRunners (line 408) | func TestEnterpriseService_ListEnterpriseRunnerGroupRunners(t *testing.T) {
  function TestEnterpriseService_SetEnterpriseRunnerGroupRunners (line 451) | func TestEnterpriseService_SetEnterpriseRunnerGroupRunners(t *testing.T) {
  function TestEnterpriseService_AddEnterpriseRunnerGroupRunners (line 483) | func TestEnterpriseService_AddEnterpriseRunnerGroupRunners(t *testing.T) {
  function TestEnterpriseService_RemoveEnterpriseRunnerGroupRunners (line 508) | func TestEnterpriseService_RemoveEnterpriseRunnerGroupRunners(t *testing...
  function TestEnterpriseRunnerGroup_Marshal (line 533) | func TestEnterpriseRunnerGroup_Marshal(t *testing.T) {
  function TestEnterpriseRunnerGroups_Marshal (line 568) | func TestEnterpriseRunnerGroups_Marshal(t *testing.T) {
  function TestCreateEnterpriseRunnerGroupRequest_Marshal (line 611) | func TestCreateEnterpriseRunnerGroupRequest_Marshal(t *testing.T) {
  function TestUpdateEnterpriseRunnerGroupRequest_Marshal (line 640) | func TestUpdateEnterpriseRunnerGroupRequest_Marshal(t *testing.T) {
  function TestSetOrgAccessRunnerGroupRequest_Marshal (line 663) | func TestSetOrgAccessRunnerGroupRequest_Marshal(t *testing.T) {

FILE: github/enterprise_actions_runners.go
  method ListRunnerApplicationDownloads (line 18) | func (s *EnterpriseService) ListRunnerApplicationDownloads(ctx context.C...
  method GenerateEnterpriseJITConfig (line 39) | func (s *EnterpriseService) GenerateEnterpriseJITConfig(ctx context.Cont...
  method CreateRegistrationToken (line 61) | func (s *EnterpriseService) CreateRegistrationToken(ctx context.Context,...
  method ListRunners (line 83) | func (s *EnterpriseService) ListRunners(ctx context.Context, enterprise ...
  method GetRunner (line 109) | func (s *EnterpriseService) GetRunner(ctx context.Context, enterprise st...
  method RemoveRunner (line 130) | func (s *EnterpriseService) RemoveRunner(ctx context.Context, enterprise...

FILE: github/enterprise_actions_runners_test.go
  function TestEnterpriseService_GenerateEnterpriseJITConfig (line 18) | func TestEnterpriseService_GenerateEnterpriseJITConfig(t *testing.T) {
  function TestEnterpriseService_CreateRegistrationToken (line 62) | func TestEnterpriseService_CreateRegistrationToken(t *testing.T) {
  function TestEnterpriseService_ListRunners (line 101) | func TestEnterpriseService_ListRunners(t *testing.T) {
  function TestEnterpriseService_GetRunner (line 146) | func TestEnterpriseService_GetRunner(t *testing.T) {
  function TestEnterpriseService_RemoveRunner (line 186) | func TestEnterpriseService_RemoveRunner(t *testing.T) {
  function TestEnterpriseService_ListRunnerApplicationDownloads (line 211) | func TestEnterpriseService_ListRunnerApplicationDownloads(t *testing.T) {

FILE: github/enterprise_app_installation.go
  type InstallableOrganization (line 14) | type InstallableOrganization struct
  type AccessibleRepository (line 21) | type AccessibleRepository struct
  type InstallAppRequest (line 28) | type InstallAppRequest struct
  method ListAppInstallableOrganizations (line 43) | func (s *EnterpriseService) ListAppInstallableOrganizations(ctx context....
  method ListAppAccessibleOrganizationRepositories (line 70) | func (s *EnterpriseService) ListAppAccessibleOrganizationRepositories(ct...
  method ListAppInstallations (line 97) | func (s *EnterpriseService) ListAppInstallations(ctx context.Context, en...
  method InstallApp (line 125) | func (s *EnterpriseService) InstallApp(ctx context.Context, enterprise, ...
  method UninstallApp (line 146) | func (s *EnterpriseService) UninstallApp(ctx context.Context, enterprise...

FILE: github/enterprise_app_installation_test.go
  function TestEnterpriseService_ListAppInstallableOrganizations (line 16) | func TestEnterpriseService_ListAppInstallableOrganizations(t *testing.T) {
  function TestEnterpriseService_ListAppAccessibleOrganizationRepositories (line 54) | func TestEnterpriseService_ListAppAccessibleOrganizationRepositories(t *...
  function TestEnterpriseService_ListAppInstallations (line 94) | func TestEnterpriseService_ListAppInstallations(t *testing.T) {
  function TestEnterpriseService_InstallApp (line 134) | func TestEnterpriseService_InstallApp(t *testing.T) {
  function TestEnterpriseService_UninstallApp (line 173) | func TestEnterpriseService_UninstallApp(t *testing.T) {

FILE: github/enterprise_apps.go
  type AppInstallationRepositoriesOptions (line 16) | type AppInstallationRepositoriesOptions struct
  type UpdateAppInstallationRepositoriesOptions (line 22) | type UpdateAppInstallationRepositoriesOptions struct
  method ListRepositoriesForOrgAppInstallation (line 33) | func (s *EnterpriseService) ListRepositoriesForOrgAppInstallation(ctx co...
  method UpdateAppInstallationRepositories (line 60) | func (s *EnterpriseService) UpdateAppInstallationRepositories(ctx contex...
  method AddRepositoriesToAppInstallation (line 81) | func (s *EnterpriseService) AddRepositoriesToAppInstallation(ctx context...
  method RemoveRepositoriesFromAppInstallation (line 102) | func (s *EnterpriseService) RemoveRepositoriesFromAppInstallation(ctx co...

FILE: github/enterprise_apps_test.go
  function TestEnterpriseService_ListRepositoriesForOrgAppInstallation (line 16) | func TestEnterpriseService_ListRepositoriesForOrgAppInstallation(t *test...
  function TestEnterpriseService_UpdateAppInstallationRepositories (line 49) | func TestEnterpriseService_UpdateAppInstallationRepositories(t *testing....
  function TestEnterpriseService_AddRepositoriesToAppInstallation (line 87) | func TestEnterpriseService_AddRepositoriesToAppInstallation(t *testing.T) {
  function TestEnterpriseService_RemoveRepositoriesFromAppInstallation (line 122) | func TestEnterpriseService_RemoveRepositoriesFromAppInstallation(t *test...

FILE: github/enterprise_audit_log.go
  method GetAuditLog (line 18) | func (s *EnterpriseService) GetAuditLog(ctx context.Context, enterprise ...

FILE: github/enterprise_audit_log_stream.go
  type AuditLogStream (line 14) | type AuditLogStream struct
  type AuditLogStreamConfig (line 25) | type AuditLogStreamConfig struct
  type AuditLogStreamVendorConfig (line 33) | type AuditLogStreamVendorConfig interface
  type AuditLogStreamKey (line 38) | type AuditLogStreamKey struct
  type AzureBlobConfig (line 44) | type AzureBlobConfig struct
    method isAuditLogStreamVendorConfig (line 110) | func (*AzureBlobConfig) isAuditLogStreamVendorConfig()          {}
  type AzureHubConfig (line 51) | type AzureHubConfig struct
    method isAuditLogStreamVendorConfig (line 111) | func (*AzureHubConfig) isAuditLogStreamVendorConfig()           {}
  type AmazonS3OIDCConfig (line 58) | type AmazonS3OIDCConfig struct
    method isAuditLogStreamVendorConfig (line 112) | func (*AmazonS3OIDCConfig) isAuditLogStreamVendorConfig()       {}
  type AmazonS3AccessKeysConfig (line 67) | type AmazonS3AccessKeysConfig struct
    method isAuditLogStreamVendorConfig (line 113) | func (*AmazonS3AccessKeysConfig) isAuditLogStreamVendorConfig() {}
  type SplunkConfig (line 77) | type SplunkConfig struct
    method isAuditLogStreamVendorConfig (line 114) | func (*SplunkConfig) isAuditLogStreamVendorConfig()             {}
  type HecConfig (line 86) | type HecConfig struct
    method isAuditLogStreamVendorConfig (line 115) | func (*HecConfig) isAuditLogStreamVendorConfig()                {}
  type GoogleCloudConfig (line 96) | type GoogleCloudConfig struct
    method isAuditLogStreamVendorConfig (line 116) | func (*GoogleCloudConfig) isAuditLogStreamVendorConfig()        {}
  type DatadogConfig (line 103) | type DatadogConfig struct
    method isAuditLogStreamVendorConfig (line 117) | func (*DatadogConfig) isAuditLogStreamVendorConfig()            {}
  function NewAzureBlobStreamConfig (line 120) | func NewAzureBlobStreamConfig(enabled bool, cfg *AzureBlobConfig) *Audit...
  function NewAzureHubStreamConfig (line 125) | func NewAzureHubStreamConfig(enabled bool, cfg *AzureHubConfig) *AuditLo...
  function NewAmazonS3OIDCStreamConfig (line 130) | func NewAmazonS3OIDCStreamConfig(enabled bool, cfg *AmazonS3OIDCConfig) ...
  function NewAmazonS3AccessKeysStreamConfig (line 135) | func NewAmazonS3AccessKeysStreamConfig(enabled bool, cfg *AmazonS3Access...
  function NewSplunkStreamConfig (line 140) | func NewSplunkStreamConfig(enabled bool, cfg *SplunkConfig) *AuditLogStr...
  function NewHecStreamConfig (line 145) | func NewHecStreamConfig(enabled bool, cfg *HecConfig) *AuditLogStreamCon...
  function NewGoogleCloudStreamConfig (line 150) | func NewGoogleCloudStreamConfig(enabled bool, cfg *GoogleCloudConfig) *A...
  function NewDatadogStreamConfig (line 155) | func NewDatadogStreamConfig(enabled bool, cfg *DatadogConfig) *AuditLogS...
  method GetAuditLogStreamKey (line 166) | func (s *EnterpriseService) GetAuditLogStreamKey(ctx context.Context, en...
  method ListAuditLogStreams (line 188) | func (s *EnterpriseService) ListAuditLogStreams(ctx context.Context, ent...
  method GetAuditLogStream (line 210) | func (s *EnterpriseService) GetAuditLogStream(ctx context.Context, enter...
  method CreateAuditLogStream (line 233) | func (s *EnterpriseService) CreateAuditLogStream(ctx context.Context, en...
  method UpdateAuditLogStream (line 256) | func (s *EnterpriseService) UpdateAuditLogStream(ctx context.Context, en...
  method DeleteAuditLogStream (line 278) | func (s *EnterpriseService) DeleteAuditLogStream(ctx context.Context, en...

FILE: github/enterprise_audit_log_stream_test.go
  function TestEnterpriseService_GetAuditLogStreamKey (line 16) | func TestEnterpriseService_GetAuditLogStreamKey(t *testing.T) {
  function TestEnterpriseService_ListAuditLogStreams (line 53) | func TestEnterpriseService_ListAuditLogStreams(t *testing.T) {
  function TestEnterpriseService_GetAuditLogStream (line 94) | func TestEnterpriseService_GetAuditLogStream(t *testing.T) {
  function TestEnterpriseService_CreateAuditLogStream (line 133) | func TestEnterpriseService_CreateAuditLogStream(t *testing.T) {
  function TestEnterpriseService_UpdateAuditLogStream (line 178) | func TestEnterpriseService_UpdateAuditLogStream(t *testing.T) {
  function TestEnterpriseService_DeleteAuditLogStream (line 225) | func TestEnterpriseService_DeleteAuditLogStream(t *testing.T) {
  function TestNewAzureBlobStreamConfig (line 249) | func TestNewAzureBlobStreamConfig(t *testing.T) {
  function TestNewAzureHubStreamConfig (line 269) | func TestNewAzureHubStreamConfig(t *testing.T) {
  function TestNewAmazonS3OIDCStreamConfig (line 289) | func TestNewAmazonS3OIDCStreamConfig(t *testing.T) {
  function TestNewAmazonS3AccessKeysStreamConfig (line 311) | func TestNewAmazonS3AccessKeysStreamConfig(t *testing.T) {
  function TestNewSplunkStreamConfig (line 334) | func TestNewSplunkStreamConfig(t *testing.T) {
  function TestNewHecStreamConfig (line 356) | func TestNewHecStreamConfig(t *testing.T) {
  function TestNewGoogleCloudStreamConfig (line 379) | func TestNewGoogleCloudStreamConfig(t *testing.T) {
  function TestNewDatadogStreamConfig (line 399) | func TestNewDatadogStreamConfig(t *testing.T) {

FILE: github/enterprise_audit_log_test.go
  function TestEnterpriseService_GetAuditLog (line 15) | func TestEnterpriseService_GetAuditLog(t *testing.T) {

FILE: github/enterprise_billing_cost_centers.go
  type CostCenter (line 14) | type CostCenter struct
  type CostCenterResource (line 23) | type CostCenterResource struct
  type CostCenters (line 29) | type CostCenters struct
  type ListCostCenterOptions (line 34) | type ListCostCenterOptions struct
  type CostCenterRequest (line 40) | type CostCenterRequest struct
  type CostCenterResourceRequest (line 45) | type CostCenterResourceRequest struct
  type AddResourcesToCostCenterResponse (line 52) | type AddResourcesToCostCenterResponse struct
  type ReassignedResource (line 58) | type ReassignedResource struct
  type RemoveResourcesFromCostCenterResponse (line 65) | type RemoveResourcesFromCostCenterResponse struct
  type DeleteCostCenterResponse (line 70) | type DeleteCostCenterResponse struct
  method ListCostCenters (line 82) | func (s *EnterpriseService) ListCostCenters(ctx context.Context, enterpr...
  method CreateCostCenter (line 108) | func (s *EnterpriseService) CreateCostCenter(ctx context.Context, enterp...
  method GetCostCenter (line 130) | func (s *EnterpriseService) GetCostCenter(ctx context.Context, enterpris...
  method UpdateCostCenter (line 152) | func (s *EnterpriseService) UpdateCostCenter(ctx context.Context, enterp...
  method DeleteCostCenter (line 174) | func (s *EnterpriseService) DeleteCostCenter(ctx context.Context, enterp...
  method AddResourcesToCostCenter (line 196) | func (s *EnterpriseService) AddResourcesToCostCenter(ctx context.Context...
  method RemoveResourcesFromCostCenter (line 218) | func (s *EnterpriseService) RemoveResourcesFromCostCenter(ctx context.Co...

FILE: github/enterprise_billing_cost_centers_test.go
  function TestEnterpriseService_ListCostCenters (line 16) | func TestEnterpriseService_ListCostCenters(t *testing.T) {
  function TestEnterpriseService_ListCostCenters_invalidEnterprise (line 117) | func TestEnterpriseService_ListCostCenters_invalidEnterprise(t *testing....
  function TestEnterpriseService_CreateCostCenter (line 126) | func TestEnterpriseService_CreateCostCenter(t *testing.T) {
  function TestEnterpriseService_CreateCostCenter_invalidEnterprise (line 173) | func TestEnterpriseService_CreateCostCenter_invalidEnterprise(t *testing...
  function TestEnterpriseService_GetCostCenter (line 182) | func TestEnterpriseService_GetCostCenter(t *testing.T) {
  function TestEnterpriseService_GetCostCenter_invalidEnterprise (line 247) | func TestEnterpriseService_GetCostCenter_invalidEnterprise(t *testing.T) {
  function TestEnterpriseService_UpdateCostCenter (line 256) | func TestEnterpriseService_UpdateCostCenter(t *testing.T) {
  function TestEnterpriseService_UpdateCostCenter_invalidEnterprise (line 325) | func TestEnterpriseService_UpdateCostCenter_invalidEnterprise(t *testing...
  function TestEnterpriseService_DeleteCostCenter (line 334) | func TestEnterpriseService_DeleteCostCenter(t *testing.T) {
  function TestEnterpriseService_DeleteCostCenter_invalidEnterprise (line 379) | func TestEnterpriseService_DeleteCostCenter_invalidEnterprise(t *testing...
  function TestEnterpriseService_AddResourcesToCostCenter (line 388) | func TestEnterpriseService_AddResourcesToCostCenter(t *testing.T) {
  function TestEnterpriseService_AddResourcesToCostCenter_invalidEnterprise (line 465) | func TestEnterpriseService_AddResourcesToCostCenter_invalidEnterprise(t ...
  function TestEnterpriseService_RemoveResourcesFromCostCenter (line 474) | func TestEnterpriseService_RemoveResourcesFromCostCenter(t *testing.T) {
  function TestEnterpriseService_RemoveResourcesFromCostCenter_invalidEnterprise (line 517) | func TestEnterpriseService_RemoveResourcesFromCostCenter_invalidEnterpri...
  function TestCostCenter_Marshal (line 526) | func TestCostCenter_Marshal(t *testing.T) {
  function TestCostCenterResource_Marshal (line 559) | func TestCostCenterResource_Marshal(t *testing.T) {
  function TestCostCenters_Marshal (line 576) | func TestCostCenters_Marshal(t *testing.T) {
  function TestCostCenterRequest_Marshal (line 605) | func TestCostCenterRequest_Marshal(t *testing.T) {
  function TestCostCenterResourceRequest_Marshal (line 620) | func TestCostCenterResourceRequest_Marshal(t *testing.T) {
  function TestDeleteCostCenterResponse_Marshal (line 639) | func TestDeleteCostCenterResponse_Marshal(t *testing.T) {

FILE: github/enterprise_budgets.go
  constant BudgetScopeEnterprise (line 15) | BudgetScopeEnterprise   = "enterprise"
  constant BudgetScopeOrganization (line 16) | BudgetScopeOrganization = "organization"
  constant BudgetScopeRepository (line 17) | BudgetScopeRepository   = "repository"
  constant BudgetScopeCostCenter (line 18) | BudgetScopeCostCenter   = "cost_center"
  constant BudgetTypeProductPricing (line 23) | BudgetTypeProductPricing = "ProductPricing"
  constant BudgetTypeSkuPricing (line 24) | BudgetTypeSkuPricing     = "SkuPricing"
  type EnterpriseBudgetAlerting (line 28) | type EnterpriseBudgetAlerting struct
  type EnterpriseBudget (line 34) | type EnterpriseBudget struct
    method String (line 45) | func (b EnterpriseBudget) String() string {
  type EnterpriseListBudgets (line 50) | type EnterpriseListBudgets struct
  type EnterpriseCreateBudget (line 57) | type EnterpriseCreateBudget struct
  type EnterpriseUpdateBudget (line 68) | type EnterpriseUpdateBudget struct
  type EnterpriseCreateOrUpdateBudgetResponse (line 79) | type EnterpriseCreateOrUpdateBudgetResponse struct
  type EnterpriseDeleteBudgetResponse (line 85) | type EnterpriseDeleteBudgetResponse struct
  method ListBudgets (line 95) | func (s *EnterpriseService) ListBudgets(ctx context.Context, enterprise ...
  method CreateBudget (line 117) | func (s *EnterpriseService) CreateBudget(ctx context.Context, enterprise...
  method GetBudget (line 139) | func (s *EnterpriseService) GetBudget(ctx context.Context, enterprise, b...
  method UpdateBudget (line 161) | func (s *EnterpriseService) UpdateBudget(ctx context.Context, enterprise...
  method DeleteBudget (line 183) | func (s *EnterpriseService) DeleteBudget(ctx context.Context, enterprise...

FILE: github/enterprise_budgets_test.go
  function TestEnterpriseService_ListBudgets (line 16) | func TestEnterpriseService_ListBudgets(t *testing.T) {
  function TestEnterpriseService_ListBudgets_invalidEnterprise (line 85) | func TestEnterpriseService_ListBudgets_invalidEnterprise(t *testing.T) {
  function TestEnterpriseService_CreateBudget (line 94) | func TestEnterpriseService_CreateBudget(t *testing.T) {
  function TestEnterpriseService_CreateBudget_invalidEnterprise (line 153) | func TestEnterpriseService_CreateBudget_invalidEnterprise(t *testing.T) {
  function TestEnterpriseService_GetBudget (line 162) | func TestEnterpriseService_GetBudget(t *testing.T) {
  function TestEnterpriseService_GetBudget_invalidEnterprise (line 211) | func TestEnterpriseService_GetBudget_invalidEnterprise(t *testing.T) {
  function TestEnterpriseService_UpdateBudget (line 220) | func TestEnterpriseService_UpdateBudget(t *testing.T) {
  function TestEnterpriseService_UpdateBudget_invalidEnterprise (line 275) | func TestEnterpriseService_UpdateBudget_invalidEnterprise(t *testing.T) {
  function TestEnterpriseService_DeleteBudget (line 284) | func TestEnterpriseService_DeleteBudget(t *testing.T) {
  function TestEnterpriseService_DeleteBudget_invalidEnterprise (line 325) | func TestEnterpriseService_DeleteBudget_invalidEnterprise(t *testing.T) {
  function TestEnterpriseBudget_Marshal (line 334) | func TestEnterpriseBudget_Marshal(t *testing.T) {
  function TestEnterpriseBudgetAlerting_Marshal (line 371) | func TestEnterpriseBudgetAlerting_Marshal(t *testing.T) {
  function TestEnterpriseListBudgets_Marshal (line 391) | func TestEnterpriseListBudgets_Marshal(t *testing.T) {
  function TestEnterpriseCreateOrUpdateBudgetResponse_Marshal (line 417) | func TestEnterpriseCreateOrUpdateBudgetResponse_Marshal(t *testing.T) {
  function TestEnterpriseDeleteBudgetResponse_Marshal (line 437) | func TestEnterpriseDeleteBudgetResponse_Marshal(t *testing.T) {

FILE: github/enterprise_code_security_and_analysis.go
  type EnterpriseSecurityAnalysisSettings (line 14) | type EnterpriseSecurityAnalysisSettings struct
  method GetCodeSecurityAndAnalysis (line 27) | func (s *EnterpriseService) GetCodeSecurityAndAnalysis(ctx context.Conte...
  method UpdateCodeSecurityAndAnalysis (line 49) | func (s *EnterpriseService) UpdateCodeSecurityAndAnalysis(ctx context.Co...
  method EnableDisableSecurityFeature (line 72) | func (s *EnterpriseService) EnableDisableSecurityFeature(ctx context.Con...

FILE: github/enterprise_code_security_and_analysis_test.go
  function TestEnterpriseService_GetCodeSecurityAndAnalysis (line 17) | func TestEnterpriseService_GetCodeSecurityAndAnalysis(t *testing.T) {
  function TestEnterpriseService_UpdateCodeSecurityAndAnalysis (line 68) | func TestEnterpriseService_UpdateCodeSecurityAndAnalysis(t *testing.T) {
  function TestEnterpriseService_EnableAdvancedSecurity (line 109) | func TestEnterpriseService_EnableAdvancedSecurity(t *testing.T) {

FILE: github/enterprise_codesecurity_configurations.go
  type ListEnterpriseCodeSecurityConfigurationOptions (line 22) | type ListEnterpriseCodeSecurityConfigurationOptions struct
  method ListCodeSecurityConfigurations (line 38) | func (s *EnterpriseService) ListCodeSecurityConfigurations(ctx context.C...
  method CreateCodeSecurityConfiguration (line 63) | func (s *EnterpriseService) CreateCodeSecurityConfiguration(ctx context....
  method ListDefaultCodeSecurityConfigurations (line 84) | func (s *EnterpriseService) ListDefaultCodeSecurityConfigurations(ctx co...
  method GetCodeSecurityConfiguration (line 105) | func (s *EnterpriseService) GetCodeSecurityConfiguration(ctx context.Con...
  method UpdateCodeSecurityConfiguration (line 126) | func (s *EnterpriseService) UpdateCodeSecurityConfiguration(ctx context....
  method DeleteCodeSecurityConfiguration (line 147) | func (s *EnterpriseService) DeleteCodeSecurityConfiguration(ctx context....
  method AttachCodeSecurityConfigurationToRepositories (line 168) | func (s *EnterpriseService) AttachCodeSecurityConfigurationToRepositorie...
  method SetDefaultCodeSecurityConfiguration (line 192) | func (s *EnterpriseService) SetDefaultCodeSecurityConfiguration(ctx cont...
  method ListCodeSecurityConfigurationRepositories (line 215) | func (s *EnterpriseService) ListCodeSecurityConfigurationRepositories(ct...

FILE: github/enterprise_codesecurity_configurations_test.go
  function TestEnterpriseService_ListCodeSecurityConfigurations (line 17) | func TestEnterpriseService_ListCodeSecurityConfigurations(t *testing.T) {
  function TestEnterpriseService_GetCodeSecurityConfiguration (line 67) | func TestEnterpriseService_GetCodeSecurityConfiguration(t *testing.T) {
  function TestEnterpriseService_CreateCodeSecurityConfiguration (line 107) | func TestEnterpriseService_CreateCodeSecurityConfiguration(t *testing.T) {
  function TestEnterpriseService_ListDefaultCodeSecurityConfigurations (line 159) | func TestEnterpriseService_ListDefaultCodeSecurityConfigurations(t *test...
  function TestEnterpriseService_UpdateCodeSecurityConfiguration (line 216) | func TestEnterpriseService_UpdateCodeSecurityConfiguration(t *testing.T) {
  function TestEnterpriseService_DeleteCodeSecurityConfiguration (line 268) | func TestEnterpriseService_DeleteCodeSecurityConfiguration(t *testing.T) {
  function TestEnterpriseService_AttachCodeSecurityConfigurationToRepositories (line 300) | func TestEnterpriseService_AttachCodeSecurityConfigurationToRepositories...
  function TestEnterpriseService_SetDefaultCodeSecurityConfiguration (line 340) | func TestEnterpriseService_SetDefaultCodeSecurityConfiguration(t *testin...
  function TestEnterpriseService_ListCodeSecurityConfigurationRepositories (line 392) | func TestEnterpriseService_ListCodeSecurityConfigurationRepositories(t *...

FILE: github/enterprise_licenses.go
  type EnterpriseConsumedLicenses (line 14) | type EnterpriseConsumedLicenses struct
  type EnterpriseLicensedUsers (line 21) | type EnterpriseLicensedUsers struct
  type EnterpriseLicenseSyncStatus (line 44) | type EnterpriseLicenseSyncStatus struct
  type ServerInstanceProperties (line 51) | type ServerInstanceProperties struct
  type ServerInstances (line 57) | type ServerInstances struct
  type ServiceInstanceItems (line 64) | type ServiceInstanceItems struct
  type ServerItemProperties (line 71) | type ServerItemProperties struct
  type LastLicenseSync (line 79) | type LastLicenseSync struct
  type LastLicenseSyncProperties (line 86) | type LastLicenseSyncProperties struct
  method GetConsumedLicenses (line 97) | func (s *EnterpriseService) GetConsumedLicenses(ctx context.Context, ent...
  method GetLicenseSyncStatus (line 123) | func (s *EnterpriseService) GetLicenseSyncStatus(ctx context.Context, en...

FILE: github/enterprise_licenses_test.go
  function TestEnterpriseService_GetConsumedLicenses (line 17) | func TestEnterpriseService_GetConsumedLicenses(t *testing.T) {
  function TestEnterpriseService_GetLicenseSyncStatus (line 111) | func TestEnterpriseService_GetLicenseSyncStatus(t *testing.T) {

FILE: github/enterprise_manage_ghes.go
  type NodeQueryOptions (line 14) | type NodeQueryOptions struct
  type ClusterStatus (line 23) | type ClusterStatus struct
  type ClusterStatusNode (line 29) | type ClusterStatusNode struct
  type ClusterStatusNodeServiceItem (line 36) | type ClusterStatusNodeServiceItem struct
  type SystemRequirements (line 43) | type SystemRequirements struct
  type SystemRequirementsNode (line 49) | type SystemRequirementsNode struct
  type SystemRequirementsNodeRoleStatus (line 56) | type SystemRequirementsNodeRoleStatus struct
  type NodeReleaseVersion (line 62) | type NodeReleaseVersion struct
  type ReleaseVersion (line 68) | type ReleaseVersion struct
  method CheckSystemRequirements (line 80) | func (s *EnterpriseService) CheckSystemRequirements(ctx context.Context)...
  method ClusterStatus (line 101) | func (s *EnterpriseService) ClusterStatus(ctx context.Context) (*Cluster...
  method ReplicationStatus (line 122) | func (s *EnterpriseService) ReplicationStatus(ctx context.Context, opts ...
  method GetNodeReleaseVersions (line 146) | func (s *EnterpriseService) GetNodeReleaseVersions(ctx context.Context, ...

FILE: github/enterprise_manage_ghes_config.go
  type ConfigApplyOptions (line 14) | type ConfigApplyOptions struct
  type ConfigApplyStatus (line 20) | type ConfigApplyStatus struct
  type ConfigApplyStatusNode (line 27) | type ConfigApplyStatusNode struct
  type ConfigApplyEventsOptions (line 35) | type ConfigApplyEventsOptions struct
  type ConfigApplyEvents (line 40) | type ConfigApplyEvents struct
  type ConfigApplyEventsNode (line 45) | type ConfigApplyEventsNode struct
  type ConfigApplyEventsNodeEvent (line 52) | type ConfigApplyEventsNodeEvent struct
  type InitialConfigOptions (line 67) | type InitialConfigOptions struct
  type LicenseStatus (line 73) | type LicenseStatus struct
  type UploadLicenseOptions (line 95) | type UploadLicenseOptions struct
  type LicenseCheck (line 100) | type LicenseCheck struct
  type ConfigSettings (line 106) | type ConfigSettings struct
  type ConfigSettingsAvatar (line 140) | type ConfigSettingsAvatar struct
  type ConfigSettingsCustomer (line 146) | type ConfigSettingsCustomer struct
  type ConfigSettingsLicenseSettings (line 155) | type ConfigSettingsLicenseSettings struct
  type ConfigSettingsGithubSSL (line 167) | type ConfigSettingsGithubSSL struct
  type ConfigSettingsLDAP (line 174) | type ConfigSettingsLDAP struct
  type ConfigSettingsLDAPReconciliation (line 198) | type ConfigSettingsLDAPReconciliation struct
  type ConfigSettingsLDAPProfile (line 204) | type ConfigSettingsLDAPProfile struct
  type ConfigSettingsCAS (line 212) | type ConfigSettingsCAS struct
  type ConfigSettingsSAML (line 217) | type ConfigSettingsSAML struct
  type ConfigSettingsGithubOAuth (line 227) | type ConfigSettingsGithubOAuth struct
  type ConfigSettingsSMTP (line 235) | type ConfigSettingsSMTP struct
  type ConfigSettingsNTP (line 252) | type ConfigSettingsNTP struct
  type ConfigSettingsSNMP (line 258) | type ConfigSettingsSNMP struct
  type ConfigSettingsSyslog (line 264) | type ConfigSettingsSyslog struct
  type ConfigSettingsPagesSettings (line 271) | type ConfigSettingsPagesSettings struct
  type ConfigSettingsCollectd (line 276) | type ConfigSettingsCollectd struct
  type ConfigSettingsMapping (line 286) | type ConfigSettingsMapping struct
  type NodeMetadataStatus (line 294) | type NodeMetadataStatus struct
  type NodeDetails (line 300) | type NodeDetails struct
  method ConfigApplyEvents (line 311) | func (s *EnterpriseService) ConfigApplyEvents(ctx context.Context, opts ...
  method InitialConfig (line 336) | func (s *EnterpriseService) InitialConfig(ctx context.Context, license, ...
  method License (line 357) | func (s *EnterpriseService) License(ctx context.Context) ([]*LicenseStat...
  method UploadLicense (line 378) | func (s *EnterpriseService) UploadLicense(ctx context.Context, license s...
  method LicenseStatus (line 396) | func (s *EnterpriseService) LicenseStatus(ctx context.Context) ([]*Licen...
  method NodeMetadata (line 418) | func (s *EnterpriseService) NodeMetadata(ctx context.Context, opts *Node...
  method Settings (line 442) | func (s *EnterpriseService) Settings(ctx context.Context) (*ConfigSettin...
  method UpdateSettings (line 463) | func (s *EnterpriseService) UpdateSettings(ctx context.Context, opts *Co...
  method ConfigApply (line 482) | func (s *EnterpriseService) ConfigApply(ctx context.Context, opts *Confi...
  method ConfigApplyStatus (line 503) | func (s *EnterpriseService) ConfigApplyStatus(ctx context.Context, opts ...

FILE: github/enterprise_manage_ghes_config_test.go
  function TestEnterpriseService_Settings (line 18) | func TestEnterpriseService_Settings(t *testing.T) {
  function TestEnterpriseService_NodeMetadata (line 316) | func TestEnterpriseService_NodeMetadata(t *testing.T) {
  function TestEnterpriseService_LicenseStatus (line 371) | func TestEnterpriseService_LicenseStatus(t *testing.T) {
  function TestEnterpriseService_License (line 405) | func TestEnterpriseService_License(t *testing.T) {
  function TestEnterpriseService_ConfigApplyEvents (line 472) | func TestEnterpriseService_ConfigApplyEvents(t *testing.T) {
  function TestEnterpriseService_UpdateSettings (line 545) | func TestEnterpriseService_UpdateSettings(t *testing.T) {
  function TestEnterpriseService_UploadLicense (line 575) | func TestEnterpriseService_UploadLicense(t *testing.T) {
  function TestEnterpriseService_InitialConfig (line 596) | func TestEnterpriseService_InitialConfig(t *testing.T) {
  function TestEnterpriseService_ConfigApply (line 626) | func TestEnterpriseService_ConfigApply(t *testing.T) {
  function TestEnterpriseService_ConfigApplyStatus (line 670) | func TestEnterpriseService_ConfigApplyStatus(t *testing.T) {

FILE: github/en
Condensed preview — 525 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,947K chars).
[
  {
    "path": ".codecov.yml",
    "chars": 153,
    "preview": "ignore:\n  # ignore auto-generated code\n  - \"github/github-accessors.go\"\n  # ignore experimental scrape package\n  - \"scra"
  },
  {
    "path": ".custom-gcl.yml",
    "chars": 453,
    "preview": "version: v2.10.1 # this is the version of golangci-lint\nplugins:\n  - module: \"github.com/google/go-github/v84/tools/extr"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 581,
    "preview": "version: 2\nupdates:\n- package-ecosystem: gomod\n  directory: /\n  schedule:\n    interval: weekly\n- package-ecosystem: gomo"
  },
  {
    "path": ".github/workflows/linter.yml",
    "chars": 776,
    "preview": "on: [push, pull_request]\nname: linter\n\npermissions:\n  contents: read\n\njobs:\n  lint:\n    runs-on: ubuntu-latest\n    steps"
  },
  {
    "path": ".github/workflows/tests.yml",
    "chars": 1925,
    "preview": "concurrency:\n  group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n\non:\n"
  },
  {
    "path": ".gitignore",
    "chars": 347,
    "preview": "*.sh\n!/script/*.sh\n*.test\n.*.local\ncoverage.out\n/bin\n# intellij files\n.idea/\nvendor/\n.DS_Store\n.vscode\n.claude/\n# vim te"
  },
  {
    "path": ".golangci.yml",
    "chars": 17534,
    "preview": "version: \"2\"\nrun:\n  build-tags:\n    - integration\n  allow-parallel-runners: true\nlinters:\n  default: none\n  enable:\n    "
  },
  {
    "path": "AUTHORS",
    "chars": 22155,
    "preview": "# This is the official list of go-github authors for copyright purposes.\n#\n# This does not necessarily list everyone who"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 16204,
    "preview": "# How to contribute\n\nWe'd love to accept your patches and contributions to this project.\nThere are just a few small guid"
  },
  {
    "path": "LICENSE",
    "chars": 1486,
    "preview": "Copyright (c) 2013 The go-github AUTHORS. All rights reserved.\n\nRedistribution and use in source and binary forms, with "
  },
  {
    "path": "README.md",
    "chars": 21036,
    "preview": "# go-github #\n\n[![go-github release (latest SemVer)](https://img.shields.io/github/v/release/google/go-github?sort=semve"
  },
  {
    "path": "REVIEWERS",
    "chars": 62,
    "preview": "stevehipwell\nalexandear\nzyfy29\nNot-Dhananjay-Mishra\nmunlicode\n"
  },
  {
    "path": "example/actionpermissions/main.go",
    "chars": 2383,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/appengine/app.go",
    "chars": 1059,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/appengine/app.yaml",
    "chars": 297,
    "preview": "# Copyright 2017 The go-github AUTHORS. All rights reserved.\n#\n# Use of this source code is governed by a BSD-style\n# li"
  },
  {
    "path": "example/auditlogstream/main.go",
    "chars": 5657,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/basicauth/main.go",
    "chars": 1767,
    "preview": "// Copyright 2015 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/codespaces/newreposecretwithxcrypto/main.go",
    "chars": 5633,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/codespaces/newusersecretwithxcrypto/main.go",
    "chars": 5947,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/commitpr/main.go",
    "chars": 9396,
    "preview": "// Copyright 2018 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/go.mod",
    "chars": 4559,
    "preview": "module github.com/google/go-github/v84/example\n\ngo 1.25.5\n\nrequire (\n\tgithub.com/ProtonMail/go-crypto v1.4.1\n\tgithub.com"
  },
  {
    "path": "example/go.sum",
    "chars": 41117,
    "preview": "cloud.google.com/go v0.121.6 h1:waZiuajrI28iAf40cWgycWNgaXPO06dupuS+sgibK6c=\ncloud.google.com/go v0.121.6/go.mod h1:coCh"
  },
  {
    "path": "example/listenvironments/main.go",
    "chars": 1365,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/migrations/main.go",
    "chars": 892,
    "preview": "// Copyright 2018 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/newfilewithappauth/main.go",
    "chars": 2313,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/newrepo/main.go",
    "chars": 1427,
    "preview": "// Copyright 2018 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/newreposecretwithlibsodium/go.mod",
    "chars": 330,
    "preview": "module newreposecretwithlibsodium\n\ngo 1.25.0\n\nrequire (\n\tgithub.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd73372"
  },
  {
    "path": "example/newreposecretwithlibsodium/go.sum",
    "chars": 678,
    "preview": "github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb h1:ilqSFSbR1fq6x88heeHrvAqlg+ES+tZk2ZcaCmiH1gI=\ngit"
  },
  {
    "path": "example/newreposecretwithlibsodium/main.go",
    "chars": 5466,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/newreposecretwithxcrypto/main.go",
    "chars": 5654,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/otel/main.go",
    "chars": 1612,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/ratelimit/main.go",
    "chars": 1879,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/simple/main.go",
    "chars": 1036,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/tokenauth/main.go",
    "chars": 1164,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/topics/main.go",
    "chars": 982,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/uploadreleaseassetfromrelease/main.go",
    "chars": 1342,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/verifyartifact/main.go",
    "chars": 6107,
    "preview": "// Copyright 2024 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "example/verifyartifact/trusted-root-public-good.json",
    "chars": 7014,
    "preview": "{\n  \"mediaType\": \"application/vnd.dev.sigstore.trustedroot+json;version=0.1\",\n  \"tlogs\": [\n    {\n      \"baseUrl\": \"https"
  },
  {
    "path": "github/actions.go",
    "chars": 370,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_artifacts.go",
    "chars": 7570,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_artifacts_test.go",
    "chars": 18904,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_cache.go",
    "chars": 10620,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_cache_test.go",
    "chars": 18518,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_hosted_runners.go",
    "chars": 21052,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_hosted_runners_test.go",
    "chars": 31025,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_oidc.go",
    "chars": 3573,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_oidc_test.go",
    "chars": 6497,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_permissions_enterprise.go",
    "chars": 17000,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_permissions_enterprise_test.go",
    "chars": 24292,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_permissions_orgs.go",
    "chars": 20451,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_permissions_orgs_test.go",
    "chars": 29616,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_runner_groups.go",
    "chars": 15297,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_runner_groups_test.go",
    "chars": 31304,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_runners.go",
    "chars": 13214,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_runners_test.go",
    "chars": 24524,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_secrets.go",
    "chars": 16297,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_secrets_test.go",
    "chars": 32663,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_variables.go",
    "chars": 14388,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_variables_test.go",
    "chars": 26589,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_workflow_jobs.go",
    "chars": 6802,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_workflow_jobs_test.go",
    "chars": 16819,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_workflow_runs.go",
    "chars": 22860,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_workflow_runs_test.go",
    "chars": 48606,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_workflows.go",
    "chars": 11558,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/actions_workflows_test.go",
    "chars": 21383,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity.go",
    "chars": 3005,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_events.go",
    "chars": 6671,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_events_test.go",
    "chars": 14227,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_notifications.go",
    "chars": 8312,
    "preview": "// Copyright 2014 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_notifications_test.go",
    "chars": 13091,
    "preview": "// Copyright 2014 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_star.go",
    "chars": 4664,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_star_test.go",
    "chars": 9919,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_test.go",
    "chars": 7004,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_watching.go",
    "chars": 5050,
    "preview": "// Copyright 2014 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/activity_watching_test.go",
    "chars": 7966,
    "preview": "// Copyright 2014 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin.go",
    "chars": 4342,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_orgs.go",
    "chars": 2969,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_orgs_test.go",
    "chars": 5367,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_stats.go",
    "chars": 5304,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_stats_test.go",
    "chars": 12416,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_test.go",
    "chars": 7328,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_users.go",
    "chars": 4109,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/admin_users_test.go",
    "chars": 6859,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps.go",
    "chars": 22801,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_hooks.go",
    "chars": 1465,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_hooks_deliveries.go",
    "chars": 2165,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_hooks_deliveries_test.go",
    "chars": 3257,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_hooks_test.go",
    "chars": 2573,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_installation.go",
    "chars": 3644,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_installation_test.go",
    "chars": 5182,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_manifest.go",
    "chars": 1692,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_manifest_test.go",
    "chars": 3331,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_marketplace.go",
    "chars": 8080,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_marketplace_test.go",
    "chars": 13917,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/apps_test.go",
    "chars": 43828,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/attestations.go",
    "chars": 1006,
    "preview": "// Copyright 2024 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/authorizations.go",
    "chars": 10310,
    "preview": "// Copyright 2015 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/authorizations_test.go",
    "chars": 9771,
    "preview": "// Copyright 2015 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/billing.go",
    "chars": 15691,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/billing_test.go",
    "chars": 21439,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/checks.go",
    "chars": 20438,
    "preview": "// Copyright 2018 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/checks_test.go",
    "chars": 42421,
    "preview": "// Copyright 2018 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/classroom.go",
    "chars": 9215,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/classroom_test.go",
    "chars": 29823,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/code_scanning.go",
    "chars": 26648,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/code_scanning_test.go",
    "chars": 49787,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codesofconduct.go",
    "chars": 2382,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codesofconduct_test.go",
    "chars": 2583,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces.go",
    "chars": 24092,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_machines.go",
    "chars": 2527,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_machines_test.go",
    "chars": 3983,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_orgs.go",
    "chars": 5857,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_orgs_test.go",
    "chars": 7255,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_secrets.go",
    "chars": 23476,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_secrets_test.go",
    "chars": 25244,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/codespaces_test.go",
    "chars": 23141,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/copilot.go",
    "chars": 29495,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/copilot_test.go",
    "chars": 85838,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/credentials.go",
    "chars": 1049,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/credentials_test.go",
    "chars": 1371,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependabot.go",
    "chars": 382,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependabot_alerts.go",
    "chars": 7688,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependabot_alerts_test.go",
    "chars": 11621,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependabot_secrets.go",
    "chars": 11724,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependabot_secrets_test.go",
    "chars": 19536,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependency_graph.go",
    "chars": 5186,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependency_graph_snapshots.go",
    "chars": 6400,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependency_graph_snapshots_test.go",
    "chars": 4280,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/dependency_graph_test.go",
    "chars": 1843,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/doc.go",
    "chars": 7164,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/emojis.go",
    "chars": 1044,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/emojis_test.go",
    "chars": 1021,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise.go",
    "chars": 382,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_actions_hosted_runners.go",
    "chars": 13822,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_actions_hosted_runners_test.go",
    "chars": 31442,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_actions_runner_groups.go",
    "chars": 15310,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_actions_runner_groups_test.go",
    "chars": 26583,
    "preview": "// Copyright 2023 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_actions_runners.go",
    "chars": 4871,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_actions_runners_test.go",
    "chars": 9529,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_app_installation.go",
    "chars": 6136,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_app_installation_test.go",
    "chars": 6103,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_apps.go",
    "chars": 4922,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_apps_test.go",
    "chars": 5594,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_audit_log.go",
    "chars": 1007,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_audit_log_stream.go",
    "chars": 11681,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_audit_log_stream_test.go",
    "chars": 11380,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_audit_log_test.go",
    "chars": 2773,
    "preview": "// Copyright 2021 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_billing_cost_centers.go",
    "chars": 8328,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_billing_cost_centers_test.go",
    "chars": 18020,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_budgets.go",
    "chars": 7577,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_budgets_test.go",
    "chars": 11741,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_code_security_and_analysis.go",
    "chars": 3607,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_code_security_and_analysis_test.go",
    "chars": 4434,
    "preview": "// Copyright 2022 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_codesecurity_configurations.go",
    "chars": 10059,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_codesecurity_configurations_test.go",
    "chars": 15089,
    "preview": "// Copyright 2024 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_licenses.go",
    "chars": 5840,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_licenses_test.go",
    "chars": 5765,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes.go",
    "chars": 5616,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_config.go",
    "chars": 21862,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_config_test.go",
    "chars": 20345,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_maintenance.go",
    "chars": 3580,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_maintenance_test.go",
    "chars": 3847,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_ssh.go",
    "chars": 2794,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_ssh_test.go",
    "chars": 3912,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_manage_ghes_test.go",
    "chars": 5690,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_network_configurations.go",
    "chars": 5723,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_network_configurations_test.go",
    "chars": 13677,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_organization_properties.go",
    "chars": 8002,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_organization_properties_test.go",
    "chars": 8508,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_properties.go",
    "chars": 4431,
    "preview": "// Copyright 2024 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_properties_test.go",
    "chars": 8022,
    "preview": "// Copyright 2024 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_rules.go",
    "chars": 3116,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_rules_test.go",
    "chars": 50824,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_scim.go",
    "chars": 23164,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_scim_test.go",
    "chars": 36071,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_team.go",
    "chars": 14450,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/enterprise_team_test.go",
    "chars": 20632,
    "preview": "// Copyright 2025 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/event.go",
    "chars": 1654,
    "preview": "// Copyright 2018 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/event_test.go",
    "chars": 3807,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/event_types.go",
    "chars": 94819,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/event_types_test.go",
    "chars": 514680,
    "preview": "// Copyright 2020 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/example_iterators_test.go",
    "chars": 831,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/examples_test.go",
    "chars": 5684,
    "preview": "// Copyright 2016 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/fuzz_messages_test.go",
    "chars": 3282,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gen-accessors.go",
    "chars": 16309,
    "preview": "// Copyright 2017 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gen-iterators.go",
    "chars": 20987,
    "preview": "// Copyright 2026 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gen-stringify-test.go",
    "chars": 10969,
    "preview": "// Copyright 2019 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gists.go",
    "chars": 10634,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gists_comments.go",
    "chars": 3586,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gists_comments_test.go",
    "chars": 7595,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/gists_test.go",
    "chars": 25299,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git.go",
    "chars": 359,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_blobs.go",
    "chars": 2415,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_blobs_test.go",
    "chars": 4480,
    "preview": "// Copyright 2014 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_commits.go",
    "chars": 7044,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_commits_test.go",
    "chars": 14606,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_refs.go",
    "chars": 5363,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_refs_test.go",
    "chars": 20174,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_tags.go",
    "chars": 2219,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  },
  {
    "path": "github/git_tags_test.go",
    "chars": 4039,
    "preview": "// Copyright 2013 The go-github AUTHORS. All rights reserved.\n//\n// Use of this source code is governed by a BSD-style\n/"
  }
]

// ... and 325 more files (download for full content)

About this extraction

This page contains the full source code of the google/go-github GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 525 files (8.6 MB), approximately 2.3M tokens, and a symbol index with 16722 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!