Connect Slack, Jira, and Linear
What the Slack, Jira, and Linear integrations do today, how to connect each one from Settings → Integrations, and which trackers are not supported.
This page lets you connect Slack, Jira, and Linear to your Spectrace workspace (organization) and tells you exactly what each connection does once it is live.
All three are connected from Settings → Integrations with an OAuth flow, and each card shows Connected with the workspace, site, or team name once done. Slack and Linear connections belong to the workspace; a Jira connection belongs to the member who authorised it, so each member who pushes to Jira connects their own Atlassian account. Jira and Linear are inbound-sync integrations: issues created or updated after you connect become requirements in Spectrace. Neither performs a one-time import of your existing backlog. For extracting requirements from documents, URLs, or text, see Importing requirements.
Prerequisites
- A Spectrace workspace you belong to. The connect buttons resolve the workspace from your session; no particular workspace role is checked when connecting or disconnecting an integration.
- Admin rights on the other side: permission to install a Slack app in your Slack workspace, to grant an Atlassian OAuth app access to your Jira site, or to authorise an application in your Linear workspace.
Slack
The Slack integration posts project notifications into channels you choose, answers /spectrace commands, and turns Slack messages and threads into requirements.
Connect Slack
- Install the app
Go to Settings → Integrations and click Connect Slack. Slack asks you to approve the Spectrace app for a workspace; approve it. You return to Spectrace with Slack workspace connected successfully! and the card shows the Slack team name.
- Link channels to projects
Open a project, then Project settings → Integrations → Slack. Pick a channel from the list to link it. Each linked channel has five notification toggles: New requirements, Workflow transitions, Test approvals (all pending test cases approved), Test generation, and PR verification.
- Link your Slack user
In Slack, run
/spectrace whoami. If Spectrace cannot match your Slack email to a workspace member, run/spectrace link-me <your Spectrace email>;/spectrace create, emoji reactions, thread comments, and the message shortcuts use this link./spectrace mymatches on your Slack profile email only.
A channel can be linked to more than one project. When it is, digest, sprint, my, and blockers need in <project-key> at the end (/spectrace blockers in ABC); Spectrace lists the keys if you leave it out. create refuses to run in a channel linked to more than one project; status, req, and tests look the reference up across the whole workspace.
What Slack does once connected
Notifications. Linked channels receive a message when a requirement is created or changes stage, when all pending test cases on it are approved, and when test cases are generated for it, subject to the channel's toggles. PR verification results post to every linked channel regardless of the PR verification toggle.
Slash commands. /spectrace help lists them:
| Command | What it does |
|---|---|
/spectrace search <query> | Keyword search across the linked project's requirements. |
/spectrace status <REF> | Workflow status of one requirement, for example abc-012. |
/spectrace req <REF> | Full requirement details. |
/spectrace tests <REF> | Test-case breakdown for a requirement. |
/spectrace ask <question> | Ask an AI question about the project's specs. |
/spectrace create <title> | Create a draft requirement. |
/spectrace my | Requirements assigned to or created by you (matched on your Slack profile email). |
/spectrace blockers | Critical and high-priority items needing attention. |
/spectrace digest | Project summary with key metrics. |
/spectrace sprint | Progress broken down by stage. |
/spectrace whoami / /spectrace link-me <email> | Show or set the link between your Slack user and your Spectrace user. |
Message shortcuts. From any message's More actions menu: Create requirement opens a modal that creates a requirement from the message; Save as Spectrace requirements starts a conversation import run and replies with a link to the import wizard where you review the extracted requirements.
Mentions and reactions. Mentioning @Spectrace in a linked channel extracts requirements from that message and replies in a thread with what was captured. On a Spectrace bot message in a known thread, reacting with ✅ or 👍 approves the requirement's pending test cases, and ❌ moves the requirement back to draft. Threaded replies under a Spectrace message are stored as comments on the requirement, and Spectrace links to requirements unfurl.
Scheduled messages. A daily digest posts at 14:00 UTC into every linked channel with status-change notifications on: blockers, items in review for more than a day, and what shipped since yesterday. Hourly, Spectrace DMs the assignee of a requirement whose PR verification scored below 60 and has not been re-verified in 24 hours, once per PR.
What done looks like
The Integrations card reads Connected to followed by your Slack team name, the project's Slack section lists at least one channel, and /spectrace help answers in that channel. If a command replies "Spectrace is not connected to this workspace", the OAuth step did not finish for this Slack workspace; if it replies that commands use the project linked to the channel, link the channel under Project settings → Integrations. A connect failure returns you to the Integrations tab with a message on the Slack card; messages about rejected app credentials or an unrecognised app mean a misconfiguration in the Spectrace deployment rather than anything on your side.
Jira
The Jira integration creates a Spectrace project per Jira project, keeps requirements in sync with issues created or updated after you connect, and lets you push requirements back to Jira as issues.
Connect Jira
- Authorise the Atlassian app
Go to Settings → Integrations and click Connect Jira. Atlassian asks which site to grant access to; grant at least one. You return with Jira account connected successfully! and the card shows the site URL.
- Let auto-setup run
On connect, Spectrace creates one project per Jira project it can see (project key = Jira key), applies a default status mapping (for example Jira To Do → a ready-for-development stage), and registers a webhook on the site for issue events. Projects that already exist for a Jira project are left alone.
- Adjust the link per project if needed
In Project settings → Integrations, a project can be linked to, or unlinked from, a Jira project. This is where you point a hand-created Spectrace project at an existing Jira project.
What Jira does once connected
- Inbound.
issue createdcreates a requirement with source typejira;issue updatedupdates it, including its stage via the status mapping;issue deletedflags the requirement's source data as deleted rather than removing it. If the requirement was pushed to Jira, ticking or unticking items in the Spectrace-generated checklist in the Jira description updates the matching criteria's completion state on the nextissue updatedevent (criteria a PR verification has already satisfied are not unticked). New requirements go through AI enrichment when the project has auto-enrich on. Issues that existed before you connected are not fetched. - Outbound. From a requirement's page or the export modal, Push to Jira creates a Jira issue (singly or in bulk) and links it. After that, every acceptance-criteria change regenerates the Jira description's checklist. Stage changes in Spectrace update the Jira status through the mapping only for requirements that arrived from Jira; a native requirement you pushed to Jira does not sync its stage. Changes that arrived from Jira are not echoed back, so the two sides do not loop.
What done looks like
The card reads Connected to followed by your Jira site, one project per Jira project appears in your project list, and creating a test issue in Jira produces a requirement within a few seconds. If nothing arrives: the webhook Spectrace registers during connect is a Jira dynamic webhook that expires after 30 days and does not appear in the site's System → WebHooks page; reconnect Jira from Settings → Integrations to re-register it. Registration is skipped when the deployment's public URL is not HTTPS. No Jira sites were shared with Spectrace on the card means you granted no site during authorisation: reconnect and select one.
Linear
The Linear integration creates a Spectrace project per Linear team and mirrors issues created or updated after you connect into it, with stage changes flowing back to Linear.
Connect Linear
- Authorise the app
Go to Settings → Integrations and click Connect Linear. Approve the Spectrace application in Linear. You return to Spectrace with the card showing your Linear workspace name.
- Let auto-setup run
On connect, Spectrace creates one project per Linear team (project key = team key), matches Linear workspace members to Spectrace users by email so assignees carry over, and registers a webhook in your Linear workspace for issue events. Existing team projects are left alone.
There is no per-project Linear mapping to edit; the team → project link is created by auto-setup.
What Linear does once connected
- Inbound. Issue
createmakes a requirement with source typelinear, mapped to the project for its team;updateupdates title, description, stage (via the state mapping), and assignee;removeflags the requirement's source data as deleted. Cancelling an issue in Linear leaves the Spectrace stage unchanged. New requirements are enriched by AI when the project has auto-enrich on. Issues that existed before you connected are not fetched. - Outbound. When a requirement that came from Linear changes stage in Spectrace, its Linear state is updated through the project's mapping. There is no button to push a native Spectrace requirement to Linear.
What done looks like
The card reads Connected to followed by your Linear workspace name, one project per Linear team appears in your project list, and creating a test issue in Linear produces a requirement in the matching project. If the webhook returns nothing, check Linear → Settings → API → Webhooks for an entry pointing at Spectrace; registration is skipped when the deployment's public URL is not HTTPS. An issue on a team without a project is acknowledged and skipped.
What is not integrated
Spectrace does not integrate with Azure DevOps, Confluence, Notion, or GitLab. The Notion card on Settings → Integrations is a disabled placeholder (Coming Soon). Azure DevOps CSV and Confluence HTML exist only as export formats on the export modal; there is no sync, import, or connection for any of the four. GitHub is covered on its own page: Install the GitHub App.