How it works

Set up in four steps, then leave it alone

Two of the four take about five minutes. The other two wait for credentials from a manufacturer, and the app is designed to be useful in the meantime.

Install, and open the settings page

Jira → Apps → WarrantySync settings. Only Jira administrators can change anything, and the app checks that with Jira on every write rather than once when the page loads.

A minute

Tell it where your devices live

Assets, or a Jira project and issue type. Press Discover fields, press Use suggestions, check the mappings it proposes for serial number, manufacturer, model and warranty end, and save. Then Re-run pre-scan on the dashboard counts your estate with no credentials at all.

Five minutes

Connect a manufacturer

Paste the credentials you were issued, press Test connection, and watch the card change state. Dell is self-service; Lenovo and HP are not, so their cards carry a request email you can send to your account manager.

When your credentials arrive

Choose what happens at expiry

The project and issue type for expiry issues, the warning window, and the style. Then, when you are ready and not before, turn on ongoing issue creation from the dashboard.

When you are ready

What day one looks like

Until the field mapping is done and a manufacturer is connected, the dashboard says what is missing and what to do about it. It does not show an empty table and let you conclude the app is broken.

Once a source is mapped, press Re-run pre-scan: it runs without a single credential and reports what it found on the Buckets tab. That is the moment you learn whether a Lenovo credential is worth chasing, and how many devices have no serial number and so can never be looked up.

Illustration of the WarrantySync dashboard before setup. Two banners read Field mapping incomplete and Expiry issues are not configured, each saying what to set on the settings page. A Finish setting up checklist shows Devices come from Jira issues marked Done, and three To do items: serial number and warranty end date are mapped, at least one manufacturer is connected, and expiry issues have a project and issue type, which is marked optional. A Manufacturers section shows Dell, Lenovo and HP all as Not configured, each with a line saying how to request access. A third banner, Syncing is unavailable, says to finish the field mapping first, and all four buttons are disabled.
Illustration of setup pending. Every banner names the missing thing and where to fix it, and every step says what it is for — including the one marked optional.

One heartbeat an hour, one real run a day

Forge scheduled triggers can run every five minutes, hourly, daily or weekly, and there is no API to move one at runtime. So the app declares a single hourly trigger and does its own gating. That is more useful than a daily trigger, not less.

The hour you chose

On that hour, and only if today’s run has not already happened, it claims a lease and starts a real sync. Two runs cannot overlap.

The other twenty-three

It clears the lease of a run that died, and re-pushes a chain that has gone quiet. A failed overnight run is recovered within the hour instead of waiting a day.

Only what needs it

A device whose record is fresher than your re-check age is skipped. A manufacturer with no credential is never contacted. A run costs the lookups it needs and no more.

Polite to your Jira site

Work moves through a queue an event at a time, in batches of 25, inside a per-minute request budget you set. It does not open your estate all at once.

The daily sweep is why a warning does not wait for a manufacturer. It re-derives every status from the stored end date, so a device crosses into the warning window on exactly the right day whether or not any manufacturer answered. The same sweep tidies up: a record whose device has been deleted is checked against your site, confirmed gone, and only then removed.

Everything you can change, and where it starts

The defaults are chosen so that an app installed and left alone behaves conservatively. The one that matters most — ongoing expiry issues — starts off.

WarrantySync settings, their defaults and their ranges
SettingDefaultRange
Device sourceJira work itemsAssets or Jira work items; you choose
Warning window60 days1 to 365
Re-check a record older than30 days1 to 365
Requests per minute6010 to 120; one budget shared by Jira and the manufacturers
Devices per batch25Not on the settings page; each manufacturer then re-chunks to its own API ceiling
Hour of the daily run (UTC)02:00Any hour
Expiry issue styleOne per deviceOr one digest per run, listing up to 200
Expiry issues per run251 to 100
Ongoing expiry issuesOffOn, once an administrator turns it on
Write warranty dates back to devicesOnOff

Every value is bounded, and the message names the field

A warning window of nine hundred days is refused, and refused by name. So is a blank credential. Nothing in the app answers a bad value with “something went wrong”, because that phrase belongs to failures the next scheduled run will retry — not to a box somebody has to fill in.

Illustration of the Warranty rules tab of the settings page at its defaults. Warn this many days before expiry, 60, between 1 and 365. Re-check a device after this many days, 30, between 1 and 365. Daily sync hour, 2, the hour in UTC at which the daily sync starts. Maximum requests per minute, 60, between 10 and 120, shared by Jira and the manufacturers. Below them, the switch to write warranty end dates back onto devices, turned on, and a Save warranty rules button.
Illustration of the Warranty rules tab at its defaults. Each field carries its own bounds.

Three things are written, and this is all of them

The warranty end date

Onto devices it successfully looks up, only into the field you mapped, and only while write-back is switched on. Turn it off and the app still tracks everything internally.

Expiry issues

In the project you chose, on the issue type you chose, with the machine key and the per-device labels that stop a duplicate being raised. A digest issue carries one such label for every device it lists.

Nothing else

No fields, no schemas, no object types, no properties on other people’s entities, no comments, no attachments.

Adding a manufacturer later

Save the credential, and that manufacturer’s devices are picked up by the next run: a device with no warranty data is re-checked every run rather than parked until its record goes stale. Force full re-check exists for the case where you want the whole estate looked at again — it ignores freshness for every device againstevery connected manufacturer, and spends the API budget to match, so it is not the tool for adding one vendor.

Uninstalling, and coming back

Uninstalling clears the app’s storage — settings, credentials, device records and counters. We have verified that; the deletion itself is Atlassian’s platform behaviour rather than something we can promise on their behalf, and the DPA puts it that way for the same reason. What stays is what was already yours: the dates written onto your devices and the issues already raised.

Reinstall, and per-device de-duplication still works, because its key lives in Jira. What does not survive is the app’s memory of the first run, so expect one repeat summary issue and one catch-up digest. That is the price of storing nothing outside Atlassian.

Find out what is out of warranty before somebody else does

It installs with no credentials and counts your estate on the first run, so you know the size of the problem before anybody has to request API access. It is free, and there is no licence check to fail.