A tag is a free-text label — smoke, regression, flaky, payments — that you attach to a test case, a defect, or a test run to group work that no folder or suite groups for you. The vocabulary is organization-wide: there is one catalog per organization, and all three entity types draw from it. A tag created while filing a defect is the same tag a test case can carry the next day.
Tags in the Workspace side rail, under Configuration and directly after Custom fields, opens /workspace/tags. Every role can open it; the register hides the controls a reader cannot use.
The register
The table lists every tag in the organization, ordered alphabetically by name. The order is fixed — there are no sort controls, because a vocabulary is read alphabetically.
| Column | Meaning |
|---|---|
| TITLE | The tag name, exactly as it is attached to entities |
| AUTHOR | Who created the tag (avatar and display name), or No author |
| CASES | How many test cases carry the tag |
| RUNS | How many test runs carry the tag |
| DEFECTS | How many defects carry the tag |
| ACTIONS | Rename (write permission) and delete (delete permission); hidden when you hold neither |
At phone width the table becomes a card list, with the same name, author, three counts, and row actions on each card.
Search and the author filter
Above the table, Search tags… filters rows by name — a case-insensitive substring match, evaluated server-side. Next to it, the Author filter narrows the list to tags created by the members you pick. A count reads how many tags match the active query out of the total, for example 3 of 41 tags.
When nothing matches, the empty state offers Clear filters, which removes the search text and the author selection together.
What the counts mean
Two things about the three count columns are worth knowing, because both can surprise you.
- They cover only the projects you can access. A tag attached to a case in a project you were never granted access to is not counted for you. Two people can therefore look at the same tag and legitimately read different numbers — neither is wrong, and neither number is the organization-wide total.
- They include archived (trashed) test cases. This is deliberate. If the only case carrying a tag has been archived and the count read
0, the tag would look unused and invite a delete — and that delete would strip the tag from the case the moment someone restored it. Counting archived cases keeps that decision honest.
A count of 0 therefore means “nothing you can see carries this tag”, not “nothing carries this tag”.
The “No author” row
The Author column shows No author when the tag has no creator on record. That is not an error and not missing data: a tag created by an API token or by an MCP agent has no human author by design, and so does a tag whose author’s account was later erased. A tag created by a teammate who simply left the organization still shows their name.
Create a tag
Create tag opens a dialog with a single Name field, carrying the note “Tags are shared across the whole organization.”
- A name is trimmed and must be between 1 and 80 characters.
- Names are unique per organization, and uniqueness is case-sensitive:
Smokeandsmokeare two different tags, and both can exist at once. If you want one vocabulary rather than two, agree on a casing convention. - Saving a name that already exists is refused with “A tag with this name already exists.”
Rename a tag
Rename on a row opens the same single-field dialog, with the note “Renaming a tag changes it everywhere it is attached.” The rename reaches every test case, defect, and test run carrying the tag; nothing detaches and no item is otherwise modified. The same 80-character bound and the same uniqueness rule apply, so you cannot rename a tag onto a name another tag already holds.
Delete tags
Delete on a row asks for confirmation and states plainly what it does: it removes the tag from every test case, defect, and test run it is attached to. Those items are not deleted — only the tag and its attachments go. The action cannot be undone.
To remove several at once, tick the checkboxes in the first column and use Delete selected (n). The bulk dialog carries the same warning, and a batch takes up to 100 tags at a time. When the register reports fewer deletions than you selected, the difference is tags that no longer existed — a teammate deleted one while your page was open, for example.
Who can do what
The register is gated by two permissions rather than by roles directly:
| Action | Permission | Held today by |
|---|---|---|
| Read the register, search, filter | none | every member of the organization |
| Create a tag, rename a tag | tags.write | owner, admin, member |
| Delete a tag, delete several tags | tags.manage | owner, admin |
The split exists because deleting a tag detaches it from every item that carries it, and that consequence reaches further than growing the vocabulary does. A viewer holds neither permission: the register opens, and the create button, the row actions, and the selection checkboxes are simply not there.
Tagging without opening the register
You do not have to create a tag here first. Type a brand-new name into the tag field on a test case, a defect, or a test run, and the server creates the catalog entry for you and attaches it in the same save — so it appears in this register straight away, with its author set to whoever typed it.
The same fields also suggest from the catalog as you type, which is the practical defence against a vocabulary that grows three spellings of the same idea. Two details follow from tags being attached by name:
- Clearing every tag from an item and saving leaves it with no tags at all, rather than an empty list.
- The tags come back alphabetically, never in the order you typed them.
Deleting a tag from this register is the only way to retire it from the vocabulary; removing it from the last item that carried it leaves the catalog entry in place, now reading 0.