gulersevil/action-gh-model-prompt
Render a prompt file, call GitHub Models, and return JSON outputs.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
Inputs
| name | description | required | default |
|---|---|---|---|
| model | Model id (e.g., openai/gpt-4o-mini) | no | openai/gpt-4o-mini |
| prompt_path | Path to the prompt file | yes | — |
| placeholders_json | JSON object whose keys map to {{KEY}} in the prompt | yes | {} |
| system | System message; default enforces strict JSON | no | Output STRICT JSON only. |
| response_format | json_object | text | no | json_object |
| api_url | Override inference endpoint | no | https://models.github.ai/inference/chat/completions |
| timeout_ms | HTTP timeout in ms | no | 120000 |
| strip_hash_comments | Remove lines starting with '# ' before sending | no | true |
| request_debug | Echo rendered prompt/payload to logs (careful in public repos) | no | false |
| fail_on_invalid_json | Fail if response isn't valid JSON (when response_format=json_object) | no | true |
| jq_pick | Optional JSONPath-like (jq) selector, e.g. .verdict.release_risk | no | "" |
| pick_aggregation | How to aggregate picked values across batches: none | first | join | worst_severity | no | none |
| token | GitHub token; defaults to env.GITHUB_TOKEN | no | — |
| batch_size | If >0, split FILE_LIST into batches and call model per batch | no | 0 |
Outputs
| name | description |
|---|---|
| raw_response | Raw HTTP response from the models API |
| message_content | choices[0].message.content |
| text | Plain text content (single) or joined text (batched) |
| json | Parsed JSON (pretty-printed) when available |
| picked | Value of jq_pick if provided |
| picked_markdown | Markdown list/sections derived from picked value(s) |
| report | Markdown report derived from JSON content |