cloudflare 的 go api 自己写个
```go
func updateHugoVersionEnv(project cloudflare.PagesProject, api *cloudflare.API) error {
release, err := GetGithubLatestRelease("gohugoio/hugo")
if err != nil {
release = "0.103.1"
}
release = release[1:]
ProductionEnv := make(map[string]cloudflare.PagesProjectDeploymentVar)
ProductionEnv["HUGO_VERSION"] = cloudflare.PagesProjectDeploymentVar{Value: release}
project.DeploymentConfigs.Production.EnvVars = ProductionEnv
api.UpdatePagesProject(context.Background(), accountId,
project.Name, project)
return err
}
func GetGithubLatestRelease(repoName string) (string, error) {
type Tag struct {
ReleaseTag string `json:"tag_name"`
}
repo := fmt.Sprintf("
https://api.github.com/repos/%s/releases/latest", repoName)
resp, err := http.Get(repo)
defer resp.Body.Close()
if err != nil {
return "", err
}
all, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
var t Tag
if err := json.Unmarshal(all, &t); err != nil {
return "", err
}
return t.ReleaseTag, nil
}
```