• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

medplum / medplum / 30408376667
92%

Build:
DEFAULT BRANCH: main
Ran 28 Jul 2026 11:39PM UTC
Jobs 1
Files 848
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Jul 2026 11:14PM UTC coverage: 91.98%. Remained the same
30408376667

push

github

web-flow
feat: log AuditEvents for Bot channel subscriptions (#9386)

* feat(server): always emit bot execution AuditEvent to logs

Bot execution AuditEvents (type 'execute') are now always emitted to the server logs
regardless of the bot's auditEventDestination setting. Writing to the database remains
optional and continues to be controlled by auditEventDestination (defaulting to resource
when unset).

This removes the separate subscription delivery (type 'transmit') AuditEvent that was
being created for bot-channel subscriptions. The existing bot execution AuditEvent
already captures the subscription as an entity, so a second event would duplicate
storage. The audit trail is preserved via log emission, which cannot be disabled.

Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

* docs: clarify bot vs rest-hook AuditEvent destination behavior

- subscription-extensions.md: add info callout that subscription-audit-event-destination
  applies to rest-hook subscriptions only, with a link to the bot docs for bot-channel
  subscriptions
- bots-in-production.md: update Logging Destination section to reflect that bot execution
  AuditEvents are always emitted to logs; auditEventDestination now controls only whether
  the event is also written to the database

Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

* fix(test): remove any type annotation in bot AuditEvent log assertion

Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

* fix(server): remove destinationOverride param from createSubscriptionAuditEvent

Reduces parameter count from 8 to 7 and cognitive complexity below the allowed
threshold by flattening the override branch that is no longer used.

Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>

* Cleanup

Signed-off-by: Matt Willer <matt@medplum.com>

---------

Signed-off-by: Ian Plunkett <1857868+ianplunkett@users.noreply.github.com>
Signed-off-by: Mat... (continued)

22656 of 25739 branches covered (88.02%)

Branch coverage included in aggregate %.

4 of 4 new or added lines in 1 file covered. (100.0%)

40204 of 42602 relevant lines covered (94.37%)

12285.53 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30408376667.1 28 Jul 2026 11:39PM UTC 848
91.98
GitHub Action Run
Source Files on build 30408376667
  • Tree
  • List 848
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30408376667
  • 82ec27be on github
  • Prev Build on gh-readonly-queue/main/pr-10002-e3a84f9be11f264a171f63bbecbcab15b4cd9e03 (#30405249618)
  • Next Build on main (#30408761729)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc