# Source test case changed

URL: https://docs.ones.cn/developer/abilities/events/test-management/execution-case/execution-case-source-changed

This event is emitted for each eligible execution case when a new source test case version contains a relevant content change, even if the execution case's source change status remains unchanged.

`sourceChangeStatus` describes the classification of this source version. For example, a priority change emits a `weak` event while an existing stored `strong` status remains unchanged. Existing `weak` and `strong` statuses do not suppress later version events.

Versions that only add or remove execution records do not trigger this event. Already acknowledged versions, execution cases added in the same version, and plans outside the to-do or in-progress categories remain excluded. Delivery may be retried; subscribers can deduplicate a source change using `executionCaseID + sourceVersionID` .

## Event Body

### Execution Case Event Schema

Execution case lifecycle event structure

#### Properties

eventID * string
Unique identifier for the event

eventType * string
Type of the execution case event
**Enum values:** `"ones:test:execution_case:created"`
`"ones:test:execution_case:updated"`
`"ones:test:execution_case:removed"`
`"ones:test:execution_case:source_changed"`
`"ones:test:execution_case:source_change_resolved"`

timestamp * number
Timestamp when the event occurred

subscriberID * string
ID of the subscriber

eventData * object
organizationID * string
Organization that triggered the event.

teamID * string
Team that triggered the event.

triggerUserID string
User that triggered the event. May be omitted for a system-triggered event.

executionCaseID * string
ID of the execution case.
Min length:1

planIssueID * string
ID of the test plan issue containing the execution case.
Min length:1

sourceCaseIssueID * string
ID of the source test case issue for the execution case.
Min length:1

sourceVersionID string
ID of the relevant source test case version.

sourceChangeStatus string
For source_changed, the classification of this source version, which may differ from the execution case status retained from earlier changes. For a resolved event, this is the status before resolution.
**Enum values:** `"weak"`
`"strong"`

action string
Action used to resolve the source change.
**Enum values:** `"confirm_unaffected"`
`"sync_source"`

changes array
Actual field and step changes captured in the write transaction.
Min items:1
Array items:
item object
fieldID * string
Min length:1

fieldType string

valueType string

oldValue * any
Raw previous value; null for an empty single-value field, [] for an empty multi-reference field.

newValue * any
Raw updated value; null for a cleared single-value field, [] for a cleared multi-reference field.

stepID string
Min length:1

stepPosition integer

changeType string
**Enum values:** `"step_actual_result"`
`"step_execution_result"`

#### All of:

##### Option 1

**if :** any
eventType any
**const:** `"ones:test:execution_case:updated"`

**then :** any
eventData any
**required:** `changes`

##### Option 2

**if :** any
eventType any
**const:** `"ones:test:execution_case:source_changed"`

**then :** any
eventData any
**required:** `sourceVersionID, sourceChangeStatus`

##### Option 3

**if :** any
eventType any
**const:** `"ones:test:execution_case:source_change_resolved"`

**then :** any
eventData any
**required:** `sourceVersionID, sourceChangeStatus, action`

[Common structure](https://docs.ones.cn/developer/abilities/events/#http-body)

**eventData**

| Field | Type | Description |
| --- | --- | --- |
| `organizationID` | string | Organization that triggered the event. |
| `teamID` | string | Team that triggered the event. |
| `triggerUserID` | string | User that changed the source test case. May be omitted for a system-triggered change. |
| `executionCaseID` | string | ID of the execution case. |
| `planIssueID` | string | ID of the test plan issue containing the execution case. |
| `sourceCaseIssueID` | string | ID of the changed source test case issue. |
| `sourceVersionID` | string | ID of the source test case version that triggered the source change. |
| `sourceChangeStatus` | string | Classification of this source version: `weak` or `strong` , rather than the execution case's accumulated status. |

## Example

```json
{
  "eventID": "Re6FSci9-1786000000000000004",
  "eventType": "ones:test:execution_case:source_changed",
  "timestamp": 1786000003000,
  "subscriberID": "Re6FSci9",
  "eventData": {
    "organizationID": "mkobhu1u",
    "teamID": "7A6aGmBc",
    "triggerUserID": "U1esfPni",
    "executionCaseID": "EC9HnuB1",
    "planIssueID": "PLAN9Hnu",
    "sourceCaseIssueID": "CASE9Hnu",
    "sourceVersionID": "VER9HnuC",
    "sourceChangeStatus": "strong"
  }
}
```
