# Customization: Automatically link changed Test Cases

The *Link on change* customization can be used to link changed Test Cases to a work item or pull request, related to the change.

{% hint style="info" %}
The *Link on change* customization described here is an [Enterprise feature](/specsync/licensing.md).
{% endhint %}

In order to enable this customization, the `customizations/linkOnChange` section of the configuration has to be enabled. The complete reference of the configuration settings can be found in the [customizations configuration reference](/specsync/reference/configuration/configuration-customizations.md#linkonchange).

The following example shows a basic configuration that links the changed Test Cases to a work item specified by the environment variable `CURRENT_STORY`.

```javascript
{
  ...
 "customizations": {
    "linkOnChange": {
      "enabled": true,
      "links": [
        {
          "targetId": "{env:CURRENT_STORY}",
        }
      ]
    }
  }
  ...
}
```

You can use environment variable references in the `targetId` setting as shown above. If the `targetId` evaluates to an empty string, no link will be added.

## Linking Pull Requests

The following example shows a basic configuration that links the changed Test Cases to the Pull Request of the current build.

```javascript
{
  ...
 "customizations": {
    "linkOnChange": {
      "enabled": true,
      "links": [
        {
          "targetId": "{env:SYSTEM_PULLREQUEST_PULLREQUESTID}",
          "relationship": "Pull Request"
        }
      ]
    }
  }
  ...
}
```

{% hint style="warning" %}
The environment variable `SYSTEM_PULLREQUEST_PULLREQUESTID` is only available in pull request verification builds. Synchronizing scenarios in such builds might be dangerous, because the Test Cases will be updated based on unaccepted changes!

In order to link the changed scenarios to the pull request that just has been merged (from the build of the main branch), you need to get the pull request ID from the commit message with a script (the commit message usually starts with *"Merged PR 12345: ..."*). The script in this case can set an environment variable with the extracted value and the customization can use this environment variable.
{% endhint %}

## Linking GitHub Pull Requests

Test Cases can also be linked to GitHub Pull Requests. For details on that please check the [*How to link GitHub pull requests* guide](/specsync/important-concepts/how-to-link-github-pull-requests.md#linking-github-pull-requests-when-the-test-case-changes).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.specsolutions.eu/specsync/features/push-features/customization-automatically-link-changed-test-cases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
