BugmoleDocs bugmole.com →

Jira, Trello and project management tools

Bugmole can keep your tests in the tracker your team already uses. With Jira Cloud connected:

  1. You add Bugmole to a Jira project.
  2. Bugmole proposes the test scope and test cases.
  3. You review and approve the test plan.
  4. Bugmole creates a Jira ticket for each approved test.
  5. After every run, Bugmole moves passed tickets to Done. Failed tickets move to Blocked, and Bugmole mentions the people on them.
  6. Your team reviews and fixes the issues.
  7. When a ticket is ready for another test, someone mentions Bugmole in a comment.
  8. Bugmole retests only that ticket's test and posts the result on the ticket.

Jira Cloud is available today. Asana, ClickUp and Monday.com aren't supported yet.

Any bug Bugmole finds, a visual bug or TestFlight feedback, can be linked to an issue in your team's tracker so that closing the issue can be checked against a fresh run:

Tracker What Bugmole links Connect it in
GitHub An existing issue, or a new one Issues → Linked → GitHub → Connect (the GitHub App)
GitLab A new issue in a connected project Settings → GitLab (GitLab)
Jira Cloud A new issue (a Bug, or a Task where the project has no Bug type) Settings → Jira (below)
Trello A new card at the top of the board's chosen list Settings → Trello (below)

On a bug, choose Link issue (or Link elsewhere once it's linked) and pick a connected tracker; trackers that aren't connected yet say where to connect them. A bug can be linked once per tracker.

Issues → Linked lists every linked bug on one board, each card with its tracker's logo, in Open, Closed and Unknown columns. GitHub tells Bugmole when an issue changes; Jira, GitLab and Trello are asked each time someone opens the page. An issue is Closed when Jira puts it in a Done status, GitLab closes it, or a Trello card is archived or marked complete.

Set up Trello

  1. Signed in to Trello, open Trello's Power-Up admin, create a Power-Up for your workspace and generate its API key.
  2. In the dashboard, open Settings → Trello, paste the key, then open Get a token while signed in as the Trello account Bugmole should create cards as, and allow it. Paste the token.
  3. Paste the board's link (https://trello.com/b/…) and choose Connect Trello. New cards go to the board's first open list; pick another list there any time.

Bugmole checks the key, token and board before it saves anything. The key and token are encrypted, write-only (nobody can read them back, not even through the API), and used only by Bugmole to create and read cards. Only an owner or admin connects or disconnects Trello; anyone who can edit the project can link a bug to it.

Set up Jira

Before you start

1. Create an API token

Signed in as the Bugmole account, open id.atlassian.com → Security → API tokens and create a token. Copy it; Atlassian shows it only once.

2. Connect the project in Bugmole

In the dashboard, open Settings → Jira and enter:

Field What to enter
Jira site your-team.atlassian.net
Project key The key of the Jira project, like QA
Account email The Bugmole account's email
API token The token from step 1
Retest keyword Text in a comment that asks for a retest. The default is @Bugmole. An @mention of the Bugmole account always works too.
Where retests run Bugmole Cloud (projects on Bugmole storage) or My workers
Environment for retests Optional: the environment retests run against

Bugmole checks the token and the project before it saves anything. The token is encrypted, write-only (nobody can read it back, not even through the API), and used only by Bugmole to call Jira.

3. Add the webhook in Jira

After you connect, Bugmole shows a webhook URL and a secret. The secret is shown once; Rotate webhook secret makes a new one.

In Jira, a Jira admin opens Settings → System → WebHooks and creates a webhook:

If you can't use Jira's system webhooks, a Jira Automation rule works too. Trigger it on Comment added with a Send web request action that POSTs to the webhook URL with the header X-Bugmole-Webhook-Secret: <secret> and this body:

{"webhookEvent":"comment_created","issue":{"key":"{{issue.key}}"},"comment":{"id":"{{comment.id}}","body":"{{comment.body.jsonEncode}}","author":{"accountId":"{{comment.author.accountId}}"}}}

Bugmole records every retest a ticket asks for in the workspace audit log, and rejected deliveries at most once a minute per connection. Deliveries it accepts but has nothing to do with (a comment without the keyword, say) aren't recorded.

How the workflow runs

Propose the plan (steps 2–3)

Bugmole writes test cases as proposals: an agent proposes them while exploring, or a person proposes them on the Tests page. On the Tests page, Propose test plan to Jira creates one Jira task labelled bugmole-plan. It lists every waiting proposal with its steps and expected results, and links back to Bugmole. Choosing it again with the same proposals won't create a second task.

You approve the plan in Bugmole under Proposed changes, following the project's approval mode. Once every proposal on the plan task is decided, Bugmole comments with how many were accepted and moves the task to Done.

Tickets for approved tests (step 4)

When a proposal is accepted, Bugmole creates a Jira task for that test case. Each ticket is labelled bugmole-test, holds the test's steps and expected results, and links to the Tests page. Each test case gets exactly one ticket. When an accepted change makes a new revision of a test case, Bugmole updates that test's existing ticket. When a test case is retired, its ticket gets the bugmole-retired label and a comment, and Bugmole stops posting results to it.

Create tickets for approved tests on the Tests page does the same on demand. Also ticket existing tests also creates tickets for test cases that were already in the project before Jira was connected (for projects on Bugmole storage).

Ticket creation is idempotent. Each ticket also carries a label unique to its test case (bugmole-case-…), so if Bugmole loses track of a ticket, it finds the same one again instead of creating a duplicate.

Results on tickets (step 5)

After every run, Bugmole reads each test case's result and updates its ticket:

Each run is reported once, however often Jira or Bugmole retries.

Retest one ticket (steps 7–8)

When a comment on a bugmole-test ticket contains the retest keyword, or @mentions the Bugmole account, Bugmole queues a run of that test's plan scoped to that one test case. It comments that the retest is queued. When the run finishes, only that ticket is updated. Other tickets keep their state, and other test cases keep their latest results.

Bugmole ignores its own comments, comments without the keyword, and tickets it didn't create. A retest needs a published plan for the test's journey; without one, Bugmole says so on the ticket. Delivering the same comment twice doesn't start a second run.

Security

Limitations