Skip to content

feat: Add NetworkConfigurationID and HostedRunnersURL to enterprise runner group types#4099

Open
austenstone wants to merge 1 commit intogoogle:masterfrom
austenstone:enterprise-runner-group-network-config
Open

feat: Add NetworkConfigurationID and HostedRunnersURL to enterprise runner group types#4099
austenstone wants to merge 1 commit intogoogle:masterfrom
austenstone:enterprise-runner-group-network-config

Conversation

@austenstone
Copy link
Contributor

Summary

Add NetworkConfigurationID and HostedRunnersURL fields to enterprise runner group types to match the GitHub API response schema.

Changes

  • EnterpriseRunnerGroup — added HostedRunnersURL and NetworkConfigurationID fields
  • CreateEnterpriseRunnerGroupRequest — added NetworkConfigurationID field
  • UpdateEnterpriseRunnerGroupRequest — added NetworkConfigurationID field
  • Generated accessors via go generate
  • Updated marshal tests to cover the new fields

Context

These fields already exist on the organization-scoped RunnerGroup type (actions_runner_groups.go) but were missing from the enterprise equivalents.

The GitHub API returns both fields on all enterprise runner group endpoints:

  • GET /enterprises/{enterprise}/actions/runner-groups
  • POST /enterprises/{enterprise}/actions/runner-groups
  • GET /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
  • PATCH /enterprises/{enterprise}/actions/runner-groups/{runner_group_id}

API docs: https://docs.github.com/en/enterprise-cloud@latest/rest/actions/self-hosted-runner-groups?apiVersion=2026-03-10

The network_configuration_id field is used for associating hosted compute network configurations (GitHub-hosted private networking / VNET injection) with enterprise runner groups. The hosted_runners_url field provides the URL for listing GitHub-hosted runners in a group.

Motivation

This is needed by the Terraform provider for GitHub (PR #3274) which currently has to make raw HTTP calls to work around the missing fields.

Testing

  • All existing enterprise runner group tests pass
  • Marshal tests updated for EnterpriseRunnerGroup, EnterpriseRunnerGroups, CreateEnterpriseRunnerGroupRequest, and UpdateEnterpriseRunnerGroupRequest
  • Generated accessor tests pass
  • Verified against live API (octodemo enterprise) — both fields deserialize correctly

…unner group types

Add NetworkConfigurationID and HostedRunnersURL fields to EnterpriseRunnerGroup,
and NetworkConfigurationID to CreateEnterpriseRunnerGroupRequest and
UpdateEnterpriseRunnerGroupRequest to match the GitHub API response schema.

These fields already exist on the organization-scoped RunnerGroup type but were
missing from the enterprise equivalents. The GitHub API returns both fields on
enterprise runner group endpoints (List, Get, Create, Update).

Fixes: integrations/terraform-provider-github#3274
@gmlewis gmlewis changed the title Add NetworkConfigurationID and HostedRunnersURL to enterprise runner group types feat: Add NetworkConfigurationID and HostedRunnersURL to enterprise runner group types Mar 16, 2026
@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.67%. Comparing base (657976b) to head (1867106).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4099   +/-   ##
=======================================
  Coverage   93.67%   93.67%           
=======================================
  Files         211      211           
  Lines       19478    19478           
=======================================
  Hits        18246    18246           
  Misses       1034     1034           
  Partials      198      198           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@gmlewis gmlewis added the NeedsReview PR is awaiting a review before merging. label Mar 17, 2026
Copy link
Collaborator

@gmlewis gmlewis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, @austenstone!
LGTM.
Awaiting second LGTM+Approval from any other contributor to this repo before merging.

cc: @stevehipwell - @alexandear - @zyfy29 - @Not-Dhananjay-Mishra - @munlicode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NeedsReview PR is awaiting a review before merging.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants