Threadline documentation

How to set up and use Threadline for Jira, which sends filtered, threaded Jira and Jira Service Management notifications to Google Chat spaces. Threadline is built by Pledona, an independent Atlassian Marketplace Partner, and runs entirely on Atlassian Forge.

On this page: Requirements · Install · Create a Google Chat webhook · Add a route · Projects and events · Filters · Threads, batching, digests and quiet hours · What a message shows · Test messages · Delivery log and retries · Managing routes · Who can manage it · Limits · Data and privacy · Help

Requirements

Install

Threadline is coming soon to the Atlassian Marketplace and is pending approval.

A Jira admin installs it from the Atlassian Marketplace. It is free for up to 10 users, then $0.80 per user per month, billed through Atlassian. After install, the app's admin page is at Jira Settings ▸ Apps ▸ Google Chat notifications. It has three tabs: Routes, Delivery log and Help.

Create a Google Chat webhook

  1. Open Google Chat on the web and go to the space that should receive Jira updates.
  2. Click the space name, then choose Apps & integrations ▸ Webhooks ▸ Add webhook. Name it, for example “Jira”.
  3. Copy the webhook URL. It looks like https://chat.googleapis.com/v1/spaces/…/messages?key=…&token=….

Treat the webhook URL like a password: anyone who has it can post to the space. Never send it to us.

Add a route

A route sends matching Jira events to one Google Chat space. Each route has its own projects, events, filters and schedule, so each team can get only what matters to it in its own space.

  1. In Jira Settings ▸ Apps ▸ Google Chat notifications, open the Routes tab and click Add route.
  2. Under 1. Destination, enter a Route name (for example “Support escalations”) and paste the Google Chat webhook URL.
  3. Click Send test message to check the space receives it. This works before you save.
  4. Choose projects and events under 2. What to send, add any 3. Filters, and set 4. Noise control. Each is explained below.
  5. Click Save route.

The URL must be an https address on chat.googleapis.com with its key and token parameters. If it isn't, the editor tells you what is wrong. After saving, the full URL is never shown again: the route only shows the space ID and the last four characters of the token. When you edit a route, leave the webhook field blank to keep the saved URL, or paste a new one to replace it.

Editing a route: destination, events, filters and noise control
Editing a route: destination, events, filters and noise control

Projects and events

Every route is checked on its own, so one Jira change can go to several spaces when several routes match it.

Filters

All filters you set must match for a notification to be sent. Empty filters are ignored.

FilterWhat it does
Issue typesOnly issues of these types, for example Bug or Incident.
PrioritiesOnly issues with these priorities.
Status categoryOnly issues whose current status is in To Do, In Progress or Done.
Labels (comma-separated)Only issues that have any of these labels.
Exclude labelsNever notify for issues with any of these labels, for example no-chat.
AssigneesOnly issues assigned to these people.
Advanced: JQLOptional JQL, checked against each issue with Jira's JQL engine, for example component = Billing AND "Customer Tier" = Gold. Leave out ORDER BY; the JQL is only used to match issues. Up to 1000 characters.
Skip internal (agent-only) JSM commentsOn by default. Internal Jira Service Management comments are not posted to Google Chat.

Comments restricted to a group or project role are not posted. Filters are checked against fresh issue data from Jira when the message is about to be sent. If the JQL is invalid, the delivery log shows the JQL error.

Threads, batching, digests and quiet hours

Delivery mode

Thread by issue

On by default. Every update about an issue is posted as a reply in that issue's own Chat thread, so a busy space stays readable. The thread is tied to the issue itself, so it stays the same even if the issue moves to another project and gets a new key. Turn it off to post each update as a new message. Digests and test messages are always posted as new messages.

Batching window

Rapid edits to one issue within the Batching window (seconds) become a single message. The default is 20 seconds, the range is 0 to 300, and 0 sends immediately. Within a batch, A to B to C becomes A to C, and a change that is undone (A to B and back to A) is not sent at all. If Jira delivers the same change twice within 10 minutes, it is posted once.

Daily digest

A test message and a daily digest in Google Chat
A test message and a daily digest in Google Chat

Quiet hours and break-through priorities

What a message shows

Each notification is a Google Chat card with:

Issue updates threaded in Google Chat
Issue updates threaded in Google Chat

Test messages

Use Send test message in the route editor (it works before you save) or Test next to a saved route. The test card says “Jira is connected to this space” and lists the route's projects, event types and filters, and your Jira site. If it fails, the editor shows why, for example that the webhook was removed or your Workspace admin does not allow incoming webhooks. Test messages also appear in the delivery log.

Delivery log and retries

The Delivery log tab lists the last 14 days of deliveries, retries, failures and filter decisions, newest first, so you never have to wonder why something was or wasn't sent. Columns: Time, Result, Route, Issue, Event and Details.

ResultMeaning
sentPosted to Google Chat. Details show the HTTP status and, for batches, how many changes were combined.
retryingGoogle Chat was rate limiting, temporarily unavailable or unreachable. The app will try again.
failedNot delivered. Details say why in plain language, for example that the webhook or space was not found.
filteredA filter didn't match. Details name it, for example the label or priority that was filtered out.
deferredHeld for the daily digest or for the end of quiet hours.

The tab shows the newest 100 entries. Use Refresh to reload and Clear log to delete it.

Retries: when Google Chat rate limits a message or is temporarily unavailable, or the network fails, the app retries up to 6 times with growing delays (up to 15 minutes), and follows Google's own retry delay when it gives one. Messages to the same space are sent one at a time to stay within Google Chat's limit of about one message per second per space. A rejected webhook, a deleted space or a message format error is not retried; the log explains what to fix.

Delivery log
Delivery log

Managing routes

The Routes tab lists every route with a short summary (projects, number of event types and filters, delivery mode, quiet hours) and the masked Google Chat space. For each route you can:

If a webhook URL leaks or you rotate it, delete the webhook in Google Chat, create a new one and paste it into the route.

Routes list with toggles, test and digest buttons
Routes list with toggles, test and digest buttons

Who can manage it

Only Jira administrators can open the admin page and view or change routes and the delivery log. The app also checks this on the server for every action. Other users never see the configuration; they only see the messages in their Google Chat spaces.

If the site has no active subscription, notifications and digests pause and the admin page shows Subscription needed. Saving, testing, turning routes on or off and Send digest now are paused too. A Jira admin can start a free trial or subscribe in Jira Settings ▸ Apps ▸ Manage apps. Routes are kept.

Limits

Data and privacy

See the Privacy Policy and Security page for details.

Help

See Support for the quick setup and troubleshooting, or the Jira to Google Chat guide. Questions? Contact us; please include your Jira site URL and never send webhook URLs. We reply within one business day (Pacific Time). Google Chat is a trademark of Google LLC.