Skip to main content
GitHub issues are read through the repository connection and need nothing more. If your issues live in Linear or Jira, connect that tracker too. Its issues then appear in the Add work dialog beside the GitHub ones. A work item made from one keeps its Linear or Jira key. OuterLayer reads issues from Linear and Jira. It writes to them only when you file or edit a spec: it creates an issue, or replaces an issue’s description. The /spec skill and outerlayer spec file create issues in GitHub, Linear and Jira. For GitHub they need an admin to approve the OuterLayer App’s Issues write permission first. See Spec commands. The repository connection is still needed: pull requests, checks and policy come from GitHub whatever tracker the issue is in.

Before you start

On the factory, you need the Connect a tracker permission. The owner, admin and write roles have it. You also need these rights in the tracker:
  • Linear: you are an admin of the workspace, so you can authorize an application on it.
  • Jira: you can create credentials for a service account in Atlassian Administration, and you hold the Administer Jira permission that creating a webhook needs.
Open the factory’s Settings → Issue tracker. GitHub is listed as built in, with the repositories it reads. Linear and Jira each have a connect action.
The Issue tracker settings page listing GitHub as in use, with Connect Linear and Connect Jira buttons

Settings → Issue tracker, with GitHub built in and Linear and Jira ready to connect.

1

Authorize the workspace

Choose Connect Linear. Linear asks you to authorize OuterLayer on a workspace with write access, which includes read. Authorize a workspace that has at least one team.OuterLayer only creates issues and replaces their descriptions. It does not comment, change status, assign or close issues. People close issues themselves in Linear.
2

Pick the teams to read

Back in OuterLayer, the Teams to read dialog lists the workspace’s teams. Only issues in the teams you tick are listed. Change the set later with Change on the connection’s card.
3

Done

Linear registers its own webhook, so issue changes reach the Work page as they happen. There is nothing to paste.

What a tracker item looks like

OuterLayer reads each issue’s labels from GitHub, Linear and Jira, and keeps them current. You can filter by label on the Work page, and in the Add work dialog. It never writes labels back to the tracker. See The Work list. A work item from any tracker gets a number on the factory, and that number is what a session is launched with. See Launch a session. A build reads the issue from OuterLayer’s copy, not from Linear or Jira. The build needs no tracker credential of its own. outerlayer work status --item <number> --json shows the copy under issue: its description, URL, state and labels, and when it was last read. On a pull request in a private repository, the OuterLayer comment shows the issue’s title, its link and its “Validation required” asks. On a public repository it shows neither the title nor the text of the asks, so the contents of a private issue never become public. The asks still count toward the evaluation.

From the terminal

outerlayer work build also takes a Linear or Jira key, not only a GitHub issue number:
Pass --repo <owner/name> to say which repository the work goes into. A Linear or Jira key never takes the checkout’s remote, unlike a plain issue number. Without --repo, the item names no repository. A build still works in the factory’s connected repositories, and starts in the first one by name. A runner whose repos.include lists repositories skips such an item, because the item names none for the filter to match. outerlayer work status, work remove and work claim also take the key: outerlayer work status --issue ENG-142. Pass --tracker linear or --tracker jira when the factory has connected both trackers. A key like ENG-142 does not say which tracker it belongs to. See the CLI reference for every flag work build takes.

Disconnecting

Disconnect on a connection’s card stops every further read. Items already on the Work page stay as they are, and the Work page reports the tracker as unreadable until it is connected again. A factory holds at most one Linear and one Jira connection.