Pluggable workflow input source adapters — start with gh-issue #4525
markuswondrak
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Problem
Workflow inputs today are inline strings only (
--input key=value). #2405 proposes file references and PR #2420 implements--input key=@path+--input-file payload.json(CLI-side only). But many real specs start their life outside the repo — most commonly as GitHub Issues in this very project's workflow.Proposal
Generalize input value resolution into a small source adapter layer, and ship one built-in remote adapter: GitHub Issues.
Resolution: fetch issue title + body via the REST API, render as markdown (
# <title>\n\n<body>), feed through the existing typed input coercion (_coerce_input) unchanged.Why GitHub Issues first
_github_http.pyattachesGITHUB_TOKEN/GH_TOKENand itsGITHUB_HOSTSallowlist guarantees tokens never reach third-party hosts.gh issue view --json title,bodydoes.Infrastructure (deliberately minimal)
A registry mapping URI schemes to resolver callables, consulted at CLI parse time only:
Third-party sources (Jira, Slack, Linear…) would not go into core — they belong to extensions or custom step types, consistent with the extension system RFC ("external tools without bloating the core"). The registry merely defines the contract so community adapters can slot in later.
Security constraints (v1)
Questions for maintainers
_parse_workflow_inputs, or wait until it lands?Refs: #2405, PR #2420
AI assistance note: This proposal was drafted with AI assistance (GLM via opencode); I reviewed, edited, and approved the content before posting.
All reactions