Expand description
A stateless onetaskgraph source over one GitHub Projects v2 project.
A project maps to the configured GitHub ProjectV2, not a repository: one Projects v2
board can contain work from several repositories and draft work from none. Project fields
read ProjectV2.id, title, shortDescription, url, createdAt, and updatedAt. Tasks
map from ProjectV2Item.content (Issue, PullRequest, or DraftIssue); labels read the
content’s labels connection and ProjectV2ItemFieldLabelValue.
Status reads the item value whose ProjectV2ItemFieldSingleSelectValue.field.name is
Status. Its option name is retained. The default maps Backlog, Todo/Open, In Progress/In
Review, Done/Closed/Merged, and Cancelled/Canceled; status_mapping overrides option names
case-insensitively, and all other user-defined names remain Unknown.
ProjectV2.items pages but has no label, status, orphan, or content-search arguments.
Project listing alone is native; the plugin ignores every unsupported query predicate so the
engine can compensate from the wider result. Dependencies traverse underlying Issue nodes.
Issue.blockedBy supplies DependsOn edges and Issue.blocking supplies DependedOnBy
edges; pull requests and draft issues have neither field and therefore return an empty edge
page. Both dependency capabilities are BothDirections; project dependency reads aggregate
the configured project’s issue edges. Projects v2 has no native project-to-project relationship,
so those aggregate edges use the related issues’ projectItems.project.id.
Live verification is non-destructive by construction: TaskSource has read operations only
and this crate sends GraphQL query operations only, with no mutation for setup or teardown.
Modules§
- graphql
- Exact GraphQL query documents issued by this plugin.
Structs§
- GitHub
Projects Config - Configuration for one GitHub Projects v2 project.
- GitHub
Projects Source - A source which reads GitHub afresh for every operation.
- Plugin
- Factory for
GitHubProjectsSource.
Constants§
- KIND
- The registry name for this plugin.
- MAX_
PAGE_ SIZE - GitHub’s maximum connection page size.