Problem
The upload-asset safe output pushes image files to an orphan branch (e.g., assets/Weekly-Team-Report) and returns github.com/ghraw URLs. These URLs return 404 for private repositories because github.com/ghraw requires authentication for private repo content.
When these URLs are embedded in GitHub Discussions (or Issues), GitHub's markdown renderer does not proxy them — the images appear broken.
Current Behavior
- Agent generates chart images and calls
upload_asset tool
- Safe output handler pushes PNGs to orphan branch
assets/<workflow-name>
- Returns URL:
https://github.com/ghraw/<owner>/<repo>/assets/<workflow-name>/<hash>.png
- URL works for public repos ✅
- URL returns 404 for private repos ❌
- Images embedded in Discussions/Issues show as broken ❌
Expected Behavior
upload-asset should return URLs that work for authenticated GitHub users viewing Discussions/Issues in private repos.
Reproduction
- Create a workflow with
upload-asset safe output in a private repo
- Generate and upload an image
- Embed the returned URL in a
create-discussion safe output
- View the discussion — images are broken (404)
Suggested Fix
Use GitHub's image upload/attachment service (the same one used by drag-and-drop image uploads in Issues/Discussions) instead of pushing to an orphan branch. This produces user-attachments URLs that work for any authenticated user with repo access, regardless of repo visibility.
Alternatively, use the GitHub API to create blob URLs (/repos/{owner}/{repo}/git/blobs) which can be accessed by authenticated users.
Workaround
For now, skip upload_asset and save charts as workflow artifacts (data-charts artifact) that users can download from the Actions tab.
Problem
The
upload-assetsafe output pushes image files to an orphan branch (e.g.,assets/Weekly-Team-Report) and returnsgithub.laiyagushi.com/ghrawURLs. These URLs return 404 for private repositories becausegithub.laiyagushi.com/ghrawrequires authentication for private repo content.When these URLs are embedded in GitHub Discussions (or Issues), GitHub's markdown renderer does not proxy them — the images appear broken.
Current Behavior
upload_assettoolassets/<workflow-name>https://github.com/ghraw/<owner>/<repo>/assets/<workflow-name>/<hash>.pngExpected Behavior
upload-assetshould return URLs that work for authenticated GitHub users viewing Discussions/Issues in private repos.Reproduction
upload-assetsafe output in a private repocreate-discussionsafe outputSuggested Fix
Use GitHub's image upload/attachment service (the same one used by drag-and-drop image uploads in Issues/Discussions) instead of pushing to an orphan branch. This produces
user-attachmentsURLs that work for any authenticated user with repo access, regardless of repo visibility.Alternatively, use the GitHub API to create blob URLs (
/repos/{owner}/{repo}/git/blobs) which can be accessed by authenticated users.Workaround
For now, skip
upload_assetand save charts as workflow artifacts (data-chartsartifact) that users can download from the Actions tab.