Skip to main content

Module github

Module github 

Source
Expand description

GitHub, for those who work there; off unless asked in the task settings (docs/github.md). Issues and pull requests that are yours (assigned to you, your review asked; what you opened or where you are mentioned when you ask for it) become tasks in a local list, “GitHub”, never sent anywhere. GitHub’s notification mail is tied to its task.

What GitHub says is written into a task when GitHub changes it: its title, its link, and whether it is open (kept as X-SIOUL-GITHUB, so a task you marked done or dropped here stays so until GitHub’s state changes). What you add here (a date, a length, steps, a project) stays.

Structs§

Issue
An issue or a pull request, as GitHub lists it.

Constants§

LIST_ID
LIST_NAME
The list GitHub’s tasks go to: kept on this computer only.
REASON 🔒
STATE 🔒

Functions§

as_card
A mail-like card for an issue, for your projects’ routes: from notifications@github.com, its subject as GitHub’s mail writes it.
file_name
The task’s file: “github-owner-repo-12.ics”.
gone
GitHub no longer lists it as yours (unassigned, or closed before Sioul saw it): dropped here, unless already done or dropped. None when nothing changes.
link 🔒
new_task
A new task for an issue, in project when one of your projects takes it.
parse_uid
“github:owner/repo#12” → (“owner/repo”, 12).
rank
How strongly an issue is yours: an assignment first, a mention last.
reason_of
Why a task’s issue was yours, as last written.
state_of
What GitHub last said of a task: “open”, “completed”…, “gone”; None for a task not from GitHub.
status_lines 🔒
The lines GitHub owns in a task, as it says them now.
thread_of
The issue or pull request a GitHub notification mail is about, from its thread’s root (In-Reply-To, else Message-ID): <owner/repo/issues/12@github.com>, <owner/repo/pull/12/c345@github.com>, <owner/repo/issue/12/issue_event/6@github.com>.
uid
The task’s UID: “github:owner/repo#12”.
updated
A task’s text with what GitHub changed written in; None when nothing changed. Its open or closed state only when GitHub’s changed since it was last written: done or dropped here stays so.