()
| 18 | ) |
| 19 | |
| 20 | func main() { |
| 21 | token := os.Getenv("GITHUB_AUTH_TOKEN") |
| 22 | if token == "" { |
| 23 | log.Fatal("GITHUB_AUTH_TOKEN not set") |
| 24 | } |
| 25 | |
| 26 | ctx := context.Background() |
| 27 | client, err := github.NewClient(github.WithAuthToken(token)) |
| 28 | if err != nil { |
| 29 | log.Fatalf("Error creating GitHub client: %v", err) |
| 30 | } |
| 31 | |
| 32 | owner := "OWNER" |
| 33 | repo := "REPO" |
| 34 | releaseID := int64(1) |
| 35 | |
| 36 | // Fetch the release (UploadURL is populated by the API) |
| 37 | release, _, err := client.Repositories.GetRelease(ctx, owner, repo, releaseID) |
| 38 | if err != nil { |
| 39 | log.Fatalf("GetRelease failed: %v", err) |
| 40 | } |
| 41 | |
| 42 | // Asset content |
| 43 | data := []byte("Hello from go-github!\n") |
| 44 | reader := bytes.NewReader(data) |
| 45 | size := int64(len(data)) |
| 46 | |
| 47 | opts := &github.UploadOptions{ |
| 48 | Name: "example.txt", |
| 49 | Label: "Example asset", |
| 50 | } |
| 51 | |
| 52 | asset, _, err := client.Repositories.UploadReleaseAssetFromRelease( |
| 53 | ctx, |
| 54 | release, |
| 55 | opts, |
| 56 | reader, |
| 57 | size, |
| 58 | ) |
| 59 | if err != nil { |
| 60 | log.Fatalf("UploadReleaseAssetFromRelease failed: %v", err) |
| 61 | } |
| 62 | |
| 63 | fmt.Printf("Uploaded asset ID: %v\n", asset.GetID()) |
| 64 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…