MCPcopy Create free account
hub / github.com/cli/cli / editRelease

Function editRelease

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

Source from the content-addressed store, hash-verified

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

Callers 1

editRunFunction · 0.85

Calls 10

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

Tested by

no test coverage detected