Add `merged_at` to merge request webhook payload
The merge request webhook payload does not include `merged_at` in `object_attributes`. The field exists on the `MergeRequest` model and is available via the REST API, but webhook consumers have no way to know when an MR was merged without making a separate API call.
## Problem
When a merge request is merged, the webhook fires with `action: "merge"` and `state: "merged"`, but `merged_at` is absent from the payload. Any subsequent event (label change, reviewer update) also fires a webhook with `state: "merged"` but still no `merged_at`.
This forces webhook consumers to either:
- Make a follow-up API call to `GET /projects/:id/merge_requests/:iid` to retrieve `merged_at`
- Use `updated_at` from the `merge` action as a proxy (inaccurate — `updated_at` can differ from the actual merge timestamp)
## Proposal
Include `merged_at` in `object_attributes` for all merge request webhook events. The value should come from the `MergeRequest#metrics` association (`MergeRequestMetrics#merged_at`), which is the canonical source for the merge timestamp.
For non-merged MRs, the field should be `null`.
## Use case
[Observer](https://gitlab.com/gitlab-org/quality/observer) processes MR webhooks to compute Defect Escape Rate (DER) metrics in ClickHouse. Without `merged_at` in the payload, the dimension table loses the merge timestamp whenever a post-merge event arrives — because `ReplacingMergeTree` keeps only the latest row, and the latest row has no `merged_at`. See the [data gap analysis](https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/624) for details.
## Implementation notes
The change should be similar to [!227441](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/227441) which added `diff_stats` to the same payload. The MR webhook serializer needs to include `merged_at` from the merge request's metrics record. No feature flag should be needed since this is exposing an existing field, not adding new functionality.
## Related
- Relates to https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/624
- Similar pattern: !227441 (added `diff_stats` to MR webhook payload)
issue