X Tutup
Skip to content

Commit 5984cf2

Browse files
authored
Merge pull request cli#3832 from cli/env-set-fix
Fix setting environment secrets
2 parents f7a7864 + 3a7ce3a commit 5984cf2

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

pkg/cmd/secret/set/http.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,11 @@ func getRepoPubKey(client *api.Client, repo ghrepo.Interface) (*PubKey, error) {
5555
ghrepo.FullName(repo)))
5656
}
5757

58+
func getEnvPubKey(client *api.Client, repo ghrepo.Interface, envName string) (*PubKey, error) {
59+
return getPubKey(client, repo.RepoHost(), fmt.Sprintf("repos/%s/environments/%s/secrets/public-key",
60+
ghrepo.FullName(repo), envName))
61+
}
62+
5863
func putSecret(client *api.Client, host, path string, payload SecretPayload) error {
5964
payloadBytes, err := json.Marshal(payload)
6065
if err != nil {

pkg/cmd/secret/set/set.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ func setRun(opts *SetOptions) error {
168168
var pk *PubKey
169169
if orgName != "" {
170170
pk, err = getOrgPublicKey(client, host, orgName)
171+
} else if envName != "" {
172+
pk, err = getEnvPubKey(client, baseRepo, envName)
171173
} else {
172174
pk, err = getRepoPubKey(client, baseRepo)
173175
}

pkg/cmd/secret/set/set_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ func Test_setRun_repo(t *testing.T) {
219219
func Test_setRun_env(t *testing.T) {
220220
reg := &httpmock.Registry{}
221221

222-
reg.Register(httpmock.REST("GET", "repos/owner/repo/actions/secrets/public-key"),
222+
reg.Register(httpmock.REST("GET", "repos/owner/repo/environments/development/secrets/public-key"),
223223
httpmock.JSONResponse(PubKey{ID: "123", Key: "CDjXqf7AJBXWhMczcy+Fs7JlACEptgceysutztHaFQI="}))
224224

225225
reg.Register(httpmock.REST("PUT", "repos/owner/repo/environments/development/secrets/cool_secret"), httpmock.StatusStringResponse(201, `{}`))

0 commit comments

Comments
 (0)
X Tutup