MCPcopy
hub / github.com/cli/cli / editRelease

Function editRelease

pkg/cmd/release/edit/http.go:17–51  ·  view source on GitHub ↗
(httpClient *http.Client, repo ghrepo.Interface, releaseID int64, params map[string]interface{})

Source from the content-addressed store, hash-verified

15)
16
17func editRelease(httpClient *http.Client, repo ghrepo.Interface, releaseID int64, params map[string]interface{}) (*shared.Release, error) {
18 bodyBytes, err := json.Marshal(params)
19 if err != nil {
20 return nil, err
21 }
22
23 path := fmt.Sprintf("repos/%s/%s/releases/%d", repo.RepoOwner(), repo.RepoName(), releaseID)
24 url := ghinstance.RESTPrefix(repo.RepoHost()) + path
25 req, err := http.NewRequest("PATCH", url, bytes.NewBuffer(bodyBytes))
26 if err != nil {
27 return nil, err
28 }
29
30 req.Header.Set("Content-Type", "application/json; charset=utf-8")
31
32 resp, err := httpClient.Do(req)
33 if err != nil {
34 return nil, err
35 }
36 defer resp.Body.Close()
37
38 success := resp.StatusCode >= 200 && resp.StatusCode < 300
39 if !success {
40 return nil, api.HandleHTTPError(resp)
41 }
42
43 b, err := io.ReadAll(resp.Body)
44 if err != nil {
45 return nil, err
46 }
47
48 var newRelease shared.Release
49 err = json.Unmarshal(b, &newRelease)
50 return &newRelease, err
51}
52
53func remoteTagExists(httpClient *http.Client, repo ghrepo.Interface, tagName string) (bool, error) {
54 gql := api.NewClientFromHTTP(httpClient)

Callers 1

editRunFunction · 0.85

Calls 8

RESTPrefixFunction · 0.92
HandleHTTPErrorFunction · 0.92
RepoOwnerMethod · 0.65
RepoNameMethod · 0.65
RepoHostMethod · 0.65
SetMethod · 0.65
DoMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected