Repository: google/go-github
Pull request #3164 (2024-05-09 02:31:08)

feat: Add missing values_editable_by field for organization custom properties
Adds missing field `values_editable_by` for custom properties, as well as mirrors the field documentation directly from the API documentation for the other fields of custom properties.

Ref: https://docs.github.com/en/rest/orgs/custom-properties?apiVersion=2022-11-28#create-or-update-custom-properties-for-an-organization

codecov[bot]: ## [Codecov](https://app.codecov.io/gh/google/go-github/pull/3164?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google) Report
All modified and coverable lines are covered by tests :white_check_mark:
> Project coverage is 92.91%. Comparing base [(`2b8c7fa`)](https://app.codecov.io/gh/google/go-github/commit/2b8c7fa86fcd1cb4a89a44c8e7b5a49fe4be8a45?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google) to head [(`3bd6666`)](https://app.codecov.io/gh/google/go-github/pull/3164?dropdown=coverage&src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google).
> Report is 57 commits behind head on master.


<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##           master    #3164      +/-   ##
==========================================
- Coverage   97.72%   92.91%   -4.81%     
==========================================
  Files         153      171      +18     
  Lines       13390    11502    -1888     
==========================================
- Hits        13085    10687    -2398     
- Misses        215      724     +509     
- Partials       90       91       +1     
```



</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/google/go-github/pull/3164?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google).   
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=google).


Patch:
diff --git a/README.md b/README.md
index d1cd2df1..42e1681e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 # 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)
-[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.com/google/go-github/v61/github)
+[![GoDoc](https://img.shields.io/static/v1?label=godoc&message=reference&color=blue)](https://pkg.go.dev/github.com/google/go-github/v62/github)
 [![Test Status](https://github.com/google/go-github/workflows/tests/badge.svg)](https://github.com/google/go-github/actions?query=workflow%3Atests)
 [![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)
@@ -24,7 +24,7 @@ If you're interested in using the [GraphQL API v4][], the recommended library is
 go-github is compatible with modern Go releases in module mode, with Go installed:
 
 ```bash
-go get github.com/google/go-github/v61
+go get github.com/google/go-github/v62
 ```
 
 will resolve and add the package to the current development module, along with its dependencies.
@@ -32,7 +32,7 @@ will resolve and add the package to the current development module, along with i
 Alternatively the same can be achieved if you use import in a package:
 
 ```go
-import "github.com/google/go-github/v61/github"
+import "github.com/google/go-github/v62/github"
 ```
 
 and run `go get` without parameters.
@@ -40,13 +40,13 @@ 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/v61@master
+go get github.com/google/go-github/v62@master
 ```
 
 ## Usage ##
 
 ```go
-import "github.com/google/go-github/v61/github"	// with go modules enabled (GO111MODULE=on or outside GOPATH)
+import "github.com/google/go-github/v62/github"	// with go modules enabled (GO111MODULE=on or outside GOPATH)
 import "github.com/google/go-github/github" // with go modules disabled
 ```
 
@@ -117,7 +117,7 @@ import (
 	"net/http"
 
 	"github.com/bradleyfalzon/ghinstallation/v2"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func main() {
@@ -302,7 +302,7 @@ 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/v61/github
+[package docs]: https://pkg.go.dev/github.com/google/go-github/v62/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
@@ -375,6 +375,7 @@ Versions prior to 48.2.0 are not listed.
 
 | go-github Version | GitHub v3 API Version |
 | ----------------- | --------------------- |
+| 62.0.0            | 2022-11-28            |
 | 61.0.0            | 2022-11-28            |
 | 60.0.0            | 2022-11-28            |
 | 59.0.0            | 2022-11-28            |
diff --git a/example/actionpermissions/main.go b/example/actionpermissions/main.go
index 8453cf14..c8b42e8f 100644
--- a/example/actionpermissions/main.go
+++ b/example/actionpermissions/main.go
@@ -14,7 +14,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var (
diff --git a/example/appengine/app.go b/example/appengine/app.go
index 1aa425d0..ff400268 100644
--- a/example/appengine/app.go
+++ b/example/appengine/app.go
@@ -12,7 +12,7 @@ import (
 	"net/http"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"google.golang.org/appengine"
 	"google.golang.org/appengine/log"
 )
diff --git a/example/basicauth/main.go b/example/basicauth/main.go
index d7a74701..597b5b7e 100644
--- a/example/basicauth/main.go
+++ b/example/basicauth/main.go
@@ -21,7 +21,7 @@ import (
 	"os"
 	"strings"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/term"
 )
 
diff --git a/example/codespaces/newreposecretwithxcrypto/main.go b/example/codespaces/newreposecretwithxcrypto/main.go
index a2ac7e45..aaada76a 100644
--- a/example/codespaces/newreposecretwithxcrypto/main.go
+++ b/example/codespaces/newreposecretwithxcrypto/main.go
@@ -36,7 +36,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/crypto/nacl/box"
 )
 
diff --git a/example/codespaces/newusersecretwithxcrypto/main.go b/example/codespaces/newusersecretwithxcrypto/main.go
index ca6ac396..dbbca4b3 100644
--- a/example/codespaces/newusersecretwithxcrypto/main.go
+++ b/example/codespaces/newusersecretwithxcrypto/main.go
@@ -37,7 +37,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/crypto/nacl/box"
 )
 
diff --git a/example/commitpr/main.go b/example/commitpr/main.go
index 021024b1..36d71c49 100644
--- a/example/commitpr/main.go
+++ b/example/commitpr/main.go
@@ -33,7 +33,7 @@ import (
 	"time"
 
 	"github.com/ProtonMail/go-crypto/openpgp"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var (
diff --git a/example/go.mod b/example/go.mod
index 0213a527..4b6cdb2a 100644
--- a/example/go.mod
+++ b/example/go.mod
@@ -1,4 +1,4 @@
-module github.com/google/go-github/v61/example
+module github.com/google/go-github/v62/example
 
 go 1.21
 
@@ -6,7 +6,7 @@ require (
 	github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371
 	github.com/bradleyfalzon/ghinstallation/v2 v2.0.4
 	github.com/gofri/go-github-ratelimit v1.0.3
-	github.com/google/go-github/v61 v61.0.0
+	github.com/google/go-github/v62 v62.0.0
 	golang.org/x/crypto v0.21.0
 	golang.org/x/term v0.18.0
 	google.golang.org/appengine v1.6.7
@@ -24,4 +24,4 @@ require (
 )
 
 // Use version at HEAD, not the latest published.
-replace github.com/google/go-github/v61 => ../
+replace github.com/google/go-github/v62 => ../
diff --git a/example/listenvironments/main.go b/example/listenvironments/main.go
index 14d10949..e640dec3 100644
--- a/example/listenvironments/main.go
+++ b/example/listenvironments/main.go
@@ -18,7 +18,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func main() {
diff --git a/example/migrations/main.go b/example/migrations/main.go
index 7771cbe9..7537e77a 100644
--- a/example/migrations/main.go
+++ b/example/migrations/main.go
@@ -12,7 +12,7 @@ import (
 	"context"
 	"fmt"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func fetchAllUserMigrations() ([]*github.UserMigration, error) {
diff --git a/example/newfilewithappauth/main.go b/example/newfilewithappauth/main.go
index 18ecd7eb..d4a7bc2d 100644
--- a/example/newfilewithappauth/main.go
+++ b/example/newfilewithappauth/main.go
@@ -16,7 +16,7 @@ import (
 	"time"
 
 	"github.com/bradleyfalzon/ghinstallation/v2"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func main() {
diff --git a/example/newrepo/main.go b/example/newrepo/main.go
index 1326a2d9..bbcfddb5 100644
--- a/example/newrepo/main.go
+++ b/example/newrepo/main.go
@@ -16,7 +16,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var (
diff --git a/example/newreposecretwithlibsodium/go.mod b/example/newreposecretwithlibsodium/go.mod
index 84930ca7..d5eea34c 100644
--- a/example/newreposecretwithlibsodium/go.mod
+++ b/example/newreposecretwithlibsodium/go.mod
@@ -6,10 +6,10 @@ toolchain go1.22.0
 
 require (
 	github.com/GoKillers/libsodium-go v0.0.0-20171022220152-dd733721c3cb
-	github.com/google/go-github/v61 v61.0.0
+	github.com/google/go-github/v62 v62.0.0
 )
 
 require github.com/google/go-querystring v1.1.0 // indirect
 
 // Use version at HEAD, not the latest published.
-replace github.com/google/go-github/v61 => ../..
+replace github.com/google/go-github/v62 => ../..
diff --git a/example/newreposecretwithlibsodium/main.go b/example/newreposecretwithlibsodium/main.go
index a61ff06e..1508d675 100644
--- a/example/newreposecretwithlibsodium/main.go
+++ b/example/newreposecretwithlibsodium/main.go
@@ -36,7 +36,7 @@ import (
 	"os"
 
 	sodium "github.com/GoKillers/libsodium-go/cryptobox"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var (
diff --git a/example/newreposecretwithxcrypto/main.go b/example/newreposecretwithxcrypto/main.go
index 9bf8845e..8cdffa2b 100644
--- a/example/newreposecretwithxcrypto/main.go
+++ b/example/newreposecretwithxcrypto/main.go
@@ -36,7 +36,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/crypto/nacl/box"
 )
 
diff --git a/example/ratelimit/main.go b/example/ratelimit/main.go
index 276301c1..7bf7c714 100644
--- a/example/ratelimit/main.go
+++ b/example/ratelimit/main.go
@@ -13,7 +13,7 @@ import (
 	"fmt"
 
 	"github.com/gofri/go-github-ratelimit/github_ratelimit"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func main() {
diff --git a/example/simple/main.go b/example/simple/main.go
index 5512c6cb..8390377d 100644
--- a/example/simple/main.go
+++ b/example/simple/main.go
@@ -12,7 +12,7 @@ import (
 	"context"
 	"fmt"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 // Fetch all the public organizations' membership of a user.
diff --git a/example/tagprotection/main.go b/example/tagprotection/main.go
index f9bedf1f..994d53d0 100644
--- a/example/tagprotection/main.go
+++ b/example/tagprotection/main.go
@@ -18,7 +18,7 @@ import (
 	"os"
 	"strings"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/term"
 )
 
diff --git a/example/tokenauth/main.go b/example/tokenauth/main.go
index 0cf12a8b..557eb0fa 100644
--- a/example/tokenauth/main.go
+++ b/example/tokenauth/main.go
@@ -15,7 +15,7 @@ import (
 	"log"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/term"
 )
 
diff --git a/example/topics/main.go b/example/topics/main.go
index b6e76bfd..6312588b 100644
--- a/example/topics/main.go
+++ b/example/topics/main.go
@@ -12,7 +12,7 @@ import (
 	"context"
 	"fmt"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 // Fetch and lists all the public topics associated with the specified GitHub topic
diff --git a/github/doc.go b/github/doc.go
index 6c4b3a81..e0c81087 100644
--- a/github/doc.go
+++ b/github/doc.go
@@ -8,7 +8,7 @@ Package github provides a client for using the GitHub API.
 
 Usage:
 
-	import "github.com/google/go-github/v61/github"	// with go modules enabled (GO111MODULE=on or outside GOPATH)
+	import "github.com/google/go-github/v62/github"	// with go modules enabled (GO111MODULE=on or outside GOPATH)
 	import "github.com/google/go-github/github"     // with go modules disabled
 
 Construct a new GitHub client, then use the various services on the client to
diff --git a/github/github-accessors.go b/github/github-accessors.go
index fd2fe225..1580ab4b 100644
--- a/github/github-accessors.go
+++ b/github/github-accessors.go
@@ -4718,6 +4718,14 @@ func (c *CustomProperty) GetRequired() bool {
 	return *c.Required
 }
 
+// GetValuesEditableBy returns the ValuesEditableBy field if it's non-nil, zero value otherwise.
+func (c *CustomProperty) GetValuesEditableBy() string {
+	if c == nil || c.ValuesEditableBy == nil {
+		return ""
+	}
+	return *c.ValuesEditableBy
+}
+
 // GetValue returns the Value field if it's non-nil, zero value otherwise.
 func (c *CustomPropertyValue) GetValue() string {
 	if c == nil || c.Value == nil {
diff --git a/github/github.go b/github/github.go
index ad426959..28a3c10b 100644
--- a/github/github.go
+++ b/github/github.go
@@ -28,7 +28,7 @@ import (
 )
 
 const (
-	Version = "v61.0.0"
+	Version = "v62.0.0"
 
 	defaultAPIVersion = "2022-11-28"
 	defaultBaseURL    = "https://api.github.com/"
diff --git a/github/orgs_properties.go b/github/orgs_properties.go
index 2e88b7f4..124b89cb 100644
--- a/github/orgs_properties.go
+++ b/github/orgs_properties.go
@@ -15,12 +15,19 @@ type CustomProperty struct {
 	// PropertyName is required for most endpoints except when calling CreateOrUpdateCustomProperty;
 	// where this is sent in the path and thus can be omitted.
 	PropertyName *string `json:"property_name,omitempty"`
-	// Possible values for ValueType are: string, single_select
-	ValueType     string   `json:"value_type"`
-	Required      *bool    `json:"required,omitempty"`
-	DefaultValue  *string  `json:"default_value,omitempty"`
-	Description   *string  `json:"description,omitempty"`
+	// The type of the value for the property. Can be one of: string, single_select.
+	ValueType string `json:"value_type"`
+	// Whether the property is required.
+	Required *bool `json:"required,omitempty"`
+	// Default value of the property.
+	DefaultValue *string `json:"default_value,omitempty"`
+	// Short description of the property.
+	Description *string `json:"description,omitempty"`
+	// An ordered list of the allowed values of the property. The property can have up to 200
+	// allowed values.
 	AllowedValues []string `json:"allowed_values,omitempty"`
+	// Who can edit the values of the property. Can be one of: org_actors, org_and_repo_actors, nil (null).
+	ValuesEditableBy *string `json:"values_editable_by,omitempty"`
 }
 
 // RepoCustomPropertyValue represents a repository custom property value.
diff --git a/go.mod b/go.mod
index a2a7aeed..8218224b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/google/go-github/v61
+module github.com/google/go-github/v62
 
 require (
 	github.com/google/go-cmp v0.6.0
diff --git a/tools/go.mod b/tools/go.mod
index 07515cb5..26e9fe45 100644
--- a/tools/go.mod
+++ b/tools/go.mod
@@ -8,7 +8,7 @@ require (
 	github.com/alecthomas/kong v0.9.0
 	github.com/getkin/kin-openapi v0.124.0
 	github.com/google/go-cmp v0.6.0
-	github.com/google/go-github/v61 v61.0.0
+	github.com/google/go-github/v62 v62.0.0
 	golang.org/x/sync v0.7.0
 	gopkg.in/yaml.v3 v3.0.1
 )
@@ -25,4 +25,4 @@ require (
 )
 
 // Use version at HEAD, not the latest published.
-replace github.com/google/go-github/v61 => ../
+replace github.com/google/go-github/v62 => ../
diff --git a/tools/metadata/main.go b/tools/metadata/main.go
index f846d1ca..153e5b76 100644
--- a/tools/metadata/main.go
+++ b/tools/metadata/main.go
@@ -15,7 +15,7 @@ import (
 	"path/filepath"
 
 	"github.com/alecthomas/kong"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var helpVars = kong.Vars{
diff --git a/tools/metadata/metadata.go b/tools/metadata/metadata.go
index 2becaaab..b37784da 100644
--- a/tools/metadata/metadata.go
+++ b/tools/metadata/metadata.go
@@ -24,7 +24,7 @@ import (
 	"strings"
 	"sync"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"gopkg.in/yaml.v3"
 )
 
diff --git a/tools/metadata/openapi.go b/tools/metadata/openapi.go
index 07ac9fd0..d3cdbf05 100644
--- a/tools/metadata/openapi.go
+++ b/tools/metadata/openapi.go
@@ -14,7 +14,7 @@ import (
 	"strconv"
 
 	"github.com/getkin/kin-openapi/openapi3"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 	"golang.org/x/sync/errgroup"
 )
 


Test patch:
diff --git a/github/examples_test.go b/github/examples_test.go
index 4dbd17e1..4abc2893 100644
--- a/github/examples_test.go
+++ b/github/examples_test.go
@@ -12,7 +12,7 @@ import (
 	"fmt"
 	"log"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func ExampleMarkdownService_Render() {
diff --git a/github/github-accessors_test.go b/github/github-accessors_test.go
index 294822bf..08f0e825 100644
--- a/github/github-accessors_test.go
+++ b/github/github-accessors_test.go
@@ -5553,6 +5553,16 @@ func TestCustomProperty_GetRequired(tt *testing.T) {
 	c.GetRequired()
 }
 
+func TestCustomProperty_GetValuesEditableBy(tt *testing.T) {
+	var zeroValue string
+	c := &CustomProperty{ValuesEditableBy: &zeroValue}
+	c.GetValuesEditableBy()
+	c = &CustomProperty{}
+	c.GetValuesEditableBy()
+	c = nil
+	c.GetValuesEditableBy()
+}
+
 func TestCustomPropertyValue_GetValue(tt *testing.T) {
 	var zeroValue string
 	c := &CustomPropertyValue{Value: &zeroValue}
diff --git a/github/orgs_properties_test.go b/github/orgs_properties_test.go
index 86daedb3..59866fd9 100644
--- a/github/orgs_properties_test.go
+++ b/github/orgs_properties_test.go
@@ -30,7 +30,8 @@ func TestOrganizationsService_GetAllCustomProperties(t *testing.T) {
           "allowed_values":[
             "production",
             "development"
-          ]
+          ],
+          "values_editable_by": "org_actors"
         },
         {
           "property_name": "service",
@@ -52,12 +53,13 @@ func TestOrganizationsService_GetAllCustomProperties(t *testing.T) {
 
 	want := []*CustomProperty{
 		{
-			PropertyName:  String("name"),
-			ValueType:     "single_select",
-			Required:      Bool(true),
-			DefaultValue:  String("production"),
-			Description:   String("Prod or dev environment"),
-			AllowedValues: []string{"production", "development"},
+			PropertyName:     String("name"),
+			ValueType:        "single_select",
+			Required:         Bool(true),
+			DefaultValue:     String("production"),
+			Description:      String("Prod or dev environment"),
+			AllowedValues:    []string{"production", "development"},
+			ValuesEditableBy: String("org_actors"),
 		},
 		{
 			PropertyName: String("service"),
@@ -162,7 +164,8 @@ func TestOrganizationsService_GetCustomProperty(t *testing.T) {
 		"allowed_values":[
 		  "production",
 		  "development"
-		]
+		],
+		"values_editable_by": "org_actors"
 	  }`)
 	})
 
@@ -173,12 +176,13 @@ func TestOrganizationsService_GetCustomProperty(t *testing.T) {
 	}
 
 	want := &CustomProperty{
-		PropertyName:  String("name"),
-		ValueType:     "single_select",
-		Required:      Bool(true),
-		DefaultValue:  String("production"),
-		Description:   String("Prod or dev environment"),
-		AllowedValues: []string{"production", "development"},
+		PropertyName:     String("name"),
+		ValueType:        "single_select",
+		Required:         Bool(true),
+		DefaultValue:     String("production"),
+		Description:      String("Prod or dev environment"),
+		AllowedValues:    []string{"production", "development"},
+		ValuesEditableBy: String("org_actors"),
 	}
 	if !cmp.Equal(property, want) {
 		t.Errorf("Organizations.GetCustomProperty returned %+v, want %+v", property, want)
@@ -210,29 +214,32 @@ func TestOrganizationsService_CreateOrUpdateCustomProperty(t *testing.T) {
 		"allowed_values":[
 		  "production",
 		  "development"
-		]
+		],
+		"values_editable_by": "org_actors"
 	  }`)
 	})
 
 	ctx := context.Background()
 	property, _, err := client.Organizations.CreateOrUpdateCustomProperty(ctx, "o", "name", &CustomProperty{
-		ValueType:     "single_select",
-		Required:      Bool(true),
-		DefaultValue:  String("production"),
-		Description:   String("Prod or dev environment"),
-		AllowedValues: []string{"production", "development"},
+		ValueType:        "single_select",
+		Required:         Bool(true),
+		DefaultValue:     String("production"),
+		Description:      String("Prod or dev environment"),
+		AllowedValues:    []string{"production", "development"},
+		ValuesEditableBy: String("org_actors"),
 	})
 	if err != nil {
 		t.Errorf("Organizations.CreateOrUpdateCustomProperty returned error: %v", err)
 	}
 
 	want := &CustomProperty{
-		PropertyName:  String("name"),
-		ValueType:     "single_select",
-		Required:      Bool(true),
-		DefaultValue:  String("production"),
-		Description:   String("Prod or dev environment"),
-		AllowedValues: []string{"production", "development"},
+		PropertyName:     String("name"),
+		ValueType:        "single_select",
+		Required:         Bool(true),
+		DefaultValue:     String("production"),
+		Description:      String("Prod or dev environment"),
+		AllowedValues:    []string{"production", "development"},
+		ValuesEditableBy: String("org_actors"),
 	}
 	if !cmp.Equal(property, want) {
 		t.Errorf("Organizations.CreateOrUpdateCustomProperty returned %+v, want %+v", property, want)
@@ -280,7 +287,7 @@ func TestOrganizationsService_ListCustomPropertyValues(t *testing.T) {
 		fmt.Fprint(w, `[{
 		"repository_id": 1296269,
 		"repository_name": "Hello-World",
-		"repository_full_name": "octocat/Hello-World",	
+		"repository_full_name": "octocat/Hello-World",
 		"properties": [
 		{
           "property_name": "environment",
diff --git a/test/fields/fields.go b/test/fields/fields.go
index 0629dd33..9cdfd8d1 100644
--- a/test/fields/fields.go
+++ b/test/fields/fields.go
@@ -25,7 +25,7 @@ import (
 	"reflect"
 	"strings"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var (
diff --git a/test/integration/activity_test.go b/test/integration/activity_test.go
index 6a70c42b..2b9cc9e6 100644
--- a/test/integration/activity_test.go
+++ b/test/integration/activity_test.go
@@ -12,7 +12,7 @@ import (
 	"context"
 	"testing"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 const (
diff --git a/test/integration/authorizations_test.go b/test/integration/authorizations_test.go
index d5cfb6f5..2ea5a6ed 100644
--- a/test/integration/authorizations_test.go
+++ b/test/integration/authorizations_test.go
@@ -15,7 +15,7 @@ import (
 	"testing"
 	"time"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 const msgEnvMissing = "Skipping test because the required environment variable (%v) is not present."
diff --git a/test/integration/github_test.go b/test/integration/github_test.go
index fb581679..228d3c7b 100644
--- a/test/integration/github_test.go
+++ b/test/integration/github_test.go
@@ -15,7 +15,7 @@ import (
 	"net/http"
 	"os"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 var (
diff --git a/test/integration/repos_test.go b/test/integration/repos_test.go
index 5737950c..f4837877 100644
--- a/test/integration/repos_test.go
+++ b/test/integration/repos_test.go
@@ -15,7 +15,7 @@ import (
 	"testing"
 
 	"github.com/google/go-cmp/cmp"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func TestRepositories_CRUD(t *testing.T) {
diff --git a/test/integration/users_test.go b/test/integration/users_test.go
index 5f40622b..6264ca99 100644
--- a/test/integration/users_test.go
+++ b/test/integration/users_test.go
@@ -14,7 +14,7 @@ import (
 	"math/rand"
 	"testing"
 
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func TestUsers_Get(t *testing.T) {
diff --git a/tools/metadata/main_test.go b/tools/metadata/main_test.go
index 059c2b72..6d1013ae 100644
--- a/tools/metadata/main_test.go
+++ b/tools/metadata/main_test.go
@@ -23,7 +23,7 @@ import (
 	"github.com/alecthomas/kong"
 	"github.com/getkin/kin-openapi/openapi3"
 	"github.com/google/go-cmp/cmp"
-	"github.com/google/go-github/v61/github"
+	"github.com/google/go-github/v62/github"
 )
 
 func TestUpdateGo(t *testing.T) {