Developers, DevOps and SRE Automations Platform

Jira tickets, resolved and tested — automatically.

Noviqent DevOps watches your Jira tickets for a label you choose. When one carries it, it gathers the relevant code, runbooks, and related tickets; asks Claude, GPT, Gemini, Grok, or your own private endpoint to write a real, complete fix; opens it as a draft pull request; waits for that PR's own CI to run; and comments the result back onto the ticket. Nothing merges without a human.

A real code change, tested before you review it

Sample ticket fix

CI passed

OPS-1841: High error rate on checkout-api

Root cause & fix

Database connection pool exhausted — POOL_SIZE is still 5 in app/db.py. Raised to 20.

Confidence

High

Pull request

Draft, ready

acme/api#42

✓ Draft PR opened · CI passed · commented back onto OPS-1841

Illustrative. Your dashboard shows your own ticket fixes.

Six stages, one webhook

Everything between a labelled ticket and an engineer having a tested pull request to review.

1

A ticket carries your trigger label

Jira's own webhook posts to us the moment a ticket is created or updated. We re-fetch the ticket through your own Jira credentials and check the real, current labels — the webhook payload itself is never trusted.

2

Context is gathered

The relevant source files from your GitHub or GitLab repository, runbook pages from your Confluence, and related tickets from your Jira project — everything a developer would open before starting.

3

Your AI provider writes the fix

One call to whichever provider your organisation has configured — Claude, GPT, Gemini, Grok, or a private-hosted endpoint you control — returning the complete new content of every file it touches, not a diff description. Or an honest “I can't fix this” when it can't.

4

A draft pull request opens

A real branch, a real commit, a real PR — marked draft so nothing merges it and most CI configurations still run against it. GitHub and GitLab both refuse to merge a draft.

5

Its own CI runs, and we watch it

Opening the PR already triggers your CI — we poll the branch's checks (or pipeline, on GitLab) until they finish, so you find out whether the fix actually works before you look at it.

6

The result lands back on the ticket

Root cause, the PR link, and whether CI passed — commented straight onto the Jira ticket you were already watching. A human reviews and merges; nothing here does either.

The part most tools skip

A real fix, tested before you look at it.

Most AI coding tools stop at a diff description or a proposal document. Noviqent DevOps writes the complete new content of every file it touches, opens that as a genuine draft pull request, and waits for your own CI to run against it — so by the time it reaches you, you already know whether it works.

  • The fix opens as a draft pull request — GitHub and GitLab won't merge a draft, and closing one costs a click.
  • We never run your CI ourselves — we only poll the result your own CI system already reports.
  • Every connector credential is encrypted at rest, or lives in your own Vault space; the API returns whether one is configured, never the value.
  • The webhook payload's own fields are never trusted — only the ticket key is used, to look the real ticket up through your own credentials.
  • Nothing here comments back onto a ticket, opens a PR, or touches your code unless you connected that tool yourself.

How data actually flows

Every hop, in order — including the one step that's your own configuration choice, not ours.

1

Jira's webhook reaches our platform

Posted over HTTPS to a URL scoped by an unguessable connector id — into infrastructure Noviqent operates directly, not a third-party cloud subprocessor for this part of the flow.

2

We read from your tools — the only write is the PR you asked for

Jira, GitHub, GitLab, and Confluence are read-mostly. The one write every organisation explicitly configures is the draft pull request itself, plus one comment back onto the ticket.

3

Gathered context and your source code go to your AI provider

Claude, GPT, Gemini, Grok, or your own private endpoint — your organisation's choice, using your own key. Point it at an endpoint you host yourself and no AI vendor is involved at all.

4

A pull request comes back — never a merge

The fix lands as a draft PR in your own repository for review. Nothing here has merged anything, run a deploy, or touched production.

5

CI runs on your infrastructure, not ours

We only poll the result your own CI system already reports — GitHub Checks, GitHub Commit Status, or GitLab Pipelines. No build ever executes on our platform.

6

Every credential is isolated from the code it touches

Encrypted at rest in our database, or — if you'd rather we never hold it at all — kept in your own Noviqent Vault space and resolved at the moment it's needed.

Credential storage

Every credential lives in Vault — yours, not ours.

Noviqent Vault is a credential store your organisation controls, separate from this application. Point any connector at a named secret instead of pasting a raw credential in — we resolve it at the moment it's needed and never store the value ourselves. If you'd rather we hold a credential directly, that stays available too: encrypted at rest, never returned by any API response.

Visit Vault →
  • Your own Vault space, isolated from every other organisation's — not a shared multi-tenant store.
  • A secret is referenced by name in a connector's config, never pasted in as plaintext.
  • We resolve it at the moment a connector actually needs it — nothing is cached or copied locally.
  • Lost access key? A Vault admin reissues one from Vault's own Login methods tab — we never hold it either.

Built to fit into your own compliance program

If your organisation holds SOC 2 or ISO 27001, is pursuing Cyber Essentials, or has UK GDPR obligations of its own, a vendor like Noviqent DevOps becomes part of your own audit scope — here's the control-level detail your assessment can check against.

Access control & least privilege

SOC 2 CC6 · ISO 27001 Annex A.9 · NCSC Cloud Security Principle 9

Role-based access per organisation, connector credentials scoped to exactly the read/write pattern each integration needs, and nothing shared across organisations.

Encryption in transit and at rest

SOC 2 CC6 · ISO 27001 Annex A.10 · UK GDPR Art. 32 · NCSC Cloud Security Principles 1 & 5

HTTPS everywhere, credentials encrypted at rest or held in Vault instead, and secrets never returned by any API response — only whether one is configured.

Audit logging

SOC 2 CC7 · ISO 27001 Annex A.12 · Cyber Essentials (Security Update Management)

Every credential change and every membership change is written to an append-only audit record — not a mutable column that can be edited after the fact.

Data minimisation & residency

UK GDPR Art. 5 · Art. 44

Your ticket and source-code data is processed and stored on infrastructure Noviqent operates directly. The one step that leaves that boundary — the AI reasoning call — is your own configuration choice, disclosed in full in our sub-processor register.

Basic cyber hygiene

Cyber Essentials

Boundary controls, secure configuration, patch management, and malware protection on the infrastructure this application runs on — the baseline UK government-backed scheme, not a claim of certification.

See the full compliance breakdown →

For a full data-processing breakdown see our Privacy Notice and sub-processor register, or email compliance@noviqent.co.uk for a security questionnaire or a Data Processing Agreement.

Connects to what you already run

Each connector is read-only except for the two writes every fix attempt makes: the draft pull request, and one comment back onto the ticket. They are your tools; Noviqent DevOps connects to them, it does not replace them.

Browse the docs →

Plus Claude, GPT, Gemini, Grok, or an OpenAI-compatible endpoint you host yourself for the reasoning step — bring your own key, or bring your own infrastructure.

Stop starting every ticket from zero

Connect Jira and your source control, label one ticket, and the next thing that reaches you is a tested pull request instead of a blank editor.

Get started