# Notify Reporter to Approve Fix

> **Note: Availability**
> This workflow uses functionality that is only available using the JavaScript Editor. This means that it is unavailable for editing in the Workflow Constructor.
>
>
>
> To learn more about this workflow, refer to the corresponding page in our [Developer Portal](https://www.jetbrains.com.cn/en-us/help/youtrack/devportal/Workflow-Notify-Reporter-to-Approve-Fix.html).

This workflow sends notification to the user who reported an issue when the issue is resolved.

| Name | @jetbrains/youtrack-workflow-notify-reporter-to-approve-fix |
| Auto-attached | no |
| Rules |      * Notify reporter to approve fix (on-change)    * Define transitions for "State" field for fixes that are approved by reporters (state-machine)    |

## Use Case

This workflow was originally taken from a feature request ([JT-7821](https://youtrack.jetbrains.com/issue/JT-7821)).

The user who submitted this issue wanted to make sure that the resolution of an issue could be approved by the user who reported the issue.

Here's how it works:

1. The reporter creates an issue.

2. The issue is fixed, and status is set to Fixed (and is built and deployed by TeamCity).

3. When the ticket is deployed (in a test/stage or production environment) the status is set to Pending verification in Test/production (either manually by the developer or automatically based on some status information from TeamCity).

4. Notification is sent to the reporter.

5.

The reporter tests the issue in the suitable environment and determines that

* it is fixed and approves the issue and it is closed (or has a state of approved or something like it)

* it is still not working, and is returned to the developer as "not approved" (or project lead or something).

## Rules

This workflow includes two rules. The first rule sends notifications and the second contains a state-machine rule that manages the lifecycle of an issue.

| Title | Description |
| --- | --- |
| Notify reporter to approve fix | This rule notifies the user who reported the issue and sets the reporter as the assignee.     When an issue is updated, this rule checks whether the state was changed to Pending verification. If true, then:        * The reporter is notified.    * The reporter is set as the Assignee of the issue.    |
| Define transitions for "State" field for fixes that are approved by reporters | This rule defines the lifecycle for issues to support this use case.     This rule defines the following transitions for issue states:       1. An issue starts with the state Submitted.     2.    From the initial state, an issue can only transition to the following state:       * On event (action) Open, the state is set to Open.       3.    From the Open state, an issue can only transition to the following state:        * On event (action) Fix, the state is set to Fixed.       4. When the state is set to Fixed, the user is forced to set the Fixed in build  field.     5.    From the Fixed state, an issue can only transition to the following state:        * On event (action) Send for verification, the state is set to Pending for verification.       6. When the state is set to Pending for Verification, the reporter is set as the Assignee. The reporter is notified and asked to approve the fix.     7.    From the Pending for Verification state, an issue can only transition to the following states:        * On event (action) Approve, the state is set to Verified.    * On event (action) Re-open, the state is set to Open.       8. From the Open state, the issue can only transition to Fixed.     9. From the Verified state, no further state transitions are allowed.    |

