---
title: Assign
description: Assign a pull request to a user.
---

The `assign` action allows you to assign one or more users to a pull request
when the conditions you specify are met. This can help automate the process of
designating the right people to handle specific pull requests, based on your
conditions.

## Parameters

| Key name | Value type | Description |
| --- | --- | --- |
| `add_users` | list of simple-template |  |
| `remove_users` | list of simple-template |  |
| `users` | list of simple-template |  |

Each entry in `users`, `add_users` or `remove_users` is a
[`User`](/configuration/data-types#user): a GitHub login, or the `{{ author }}`
variable to assign the pull request to its author. `users` is the older form of
`add_users` and behaves the same way; prefer `add_users` in new rules.

:::caution
  A login that GitHub refuses as an assignee, such as a user who is not a
  collaborator on the repository, is dropped without an error. The action still
  reports success and the pull request ends up without that assignee, so check
  that the logins you list have access to the repository.
:::

Mergify skips any login ending in `[bot]` when adding assignees, so a rule that
assigns `{{ author }}` does nothing on a pull request opened by a bot.

## Examples

### Assign Defined User

Below is an example of how to use the `assign` action:

```yaml
pull_request_rules:
  - name: assign PR to a user
    conditions:
      - "#files = 1"
    actions:
      assign:
        add_users:
          - "username1"
          - "username2"
```

### Assign Pull Request Author User

Below is an example of how to use the `assign` action to assign a pull request
to its author:

```yaml
pull_request_rules:
  - name: assign PR to its author
    conditions:
      - "#files = 1"
    actions:
      assign:
        add_users:
          - "{{ author }}"
```
