---
title: Update a GitHub issue
source: https://docs.newrelic.com/docs/workflow-automation/setup-and-configure/actions-catalog/github/github-issue-update
---

Updates an existing issue in a GitHub repository (title, body, state, assignees, labels, and milestone).

For authentication setup, see [GitHub issue actions](https://docs.newrelic.com/docs/workflow-automation/setup-and-configure/actions-catalog/github/github-issue).

## Inputs

The following inputs are available for this action.

| Input Field            | Optionality | Type   | Description                                                                                                                                                                                                                                                              | Example                                            |
| ---------------------- | ----------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- |
| **token**              | Required    | String | GitHub Personal Access Token (fine-grained or classic) stored as a secret. Fine-grained PATs require Issues: Read and write permission. Classic PATs require repo scope.                                                                                                 | `"${{ :secrets:github-PAT-token }}"`               |
| **owner**              | Required    | String | The account owner of the repository (user or organization login). Case-insensitive.                                                                                                                                                                                      | `"octocat"`                                        |
| **repo**               | Required    | String | Repository name without the .git suffix. Case-insensitive.                                                                                                                                                                                                               | `"Hello-World"`                                    |
| **issueNumber**        | Required    | Int    | The number that identifies the issue.                                                                                                                                                                                                                                    | `1347`                                             |
| **title**              | Optional    | String | The title of the issue.                                                                                                                                                                                                                                                  | `"Updated issue title"`                            |
| **body**               | Optional    | String | Issue body in GitHub-flavored Markdown. Omitted from the request if empty.                                                                                                                                                                                               | `"Updated description."`                           |
| **state**              | Optional    | String | Issue state. Use to close or reopen an issue. Allowed values: `open`, `closed`.                                                                                                                                                                                          | `"closed"`                                         |
| **state_reason**       | Optional    | String | The reason for the state change. The API ignores this field unless you change `state`. Allowed values: `completed`, `not_planned`, `duplicate`, `reopened`, `null`.                                                                                                      | `"completed"`                                      |
| **duplicate_issue_id** | Optional    | Int    | The ID of the issue to mark as the canonical duplicate. Only used when `state_reason` is `duplicate`. The issue must exist and be accessible to the authenticated user.                                                                                                  | `1200`                                             |
| **assignees**          | Optional    | List   | GitHub usernames to assign. Requires push access on the token. The GitHub API silently drops users without push access.                                                                                                                                                  | `["octocat"]`                                      |
| **labels**             | Optional    | List   | Labels to attach. Requires push access on the token. The API auto-creates unknown labels if you have permission. Otherwise, the API rejects them.                                                                                                                        | `["resolved", "p1"]`                               |
| **milestone**          | Optional    | Int    | The milestone number (integer ID, not the title). Requires push access on the token. The milestone must already exist in the repository.                                                                                                                                 | `3`                                                |
| **type**               | Optional    | String | The name of the issue type to associate with this issue (for example, Bug, Task, Feature). Requires push access. Issue types must be configured at the repository or organization level before use.                                                                      | `"Bug"`                                            |
| **issueFieldValues**   | Optional    | List   | Issue field values for GitHub Projects v2 custom fields. Each object must include `field_id` (integer) and `value` (string, number, or array for multi-select fields). Only available for organization-owned repositories with GitHub Projects v2 custom fields enabled. | `[{"field_id": 1, "value": "high"}]`               |
| **selectors**          | Optional    | List   | JQ selectors to extract values from the response.                                                                                                                                                                                                                        | `[{"name": "issueState", "expression": ".state"}]` |

## Outputs

This action returns the following outputs.

| Output Field     | Type    | Example                                                                                                                                                                                                                                                                                                                    |
| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **response**     | Object  | ```yaml {   "id": 1,   "number": 1347,   "state": "closed",   "state_reason": "completed",   "title": "Found a bug",   "html_url": "https://github.com/octocat/Hello-World/issues/1347",   "body": "I'm having a problem with this.",   "created_at": "2011-04-22T13:33:48Z",   "updated_at": "2011-04-22T13:33:48Z" } ``` |
| **success**      | Boolean | `success: true | false`                                                                                                                                                                                                                                                                                                    |
| **errorMessage** | String  | Contains the GitHub API error response body.                                                                                                                                                                                                                                                                               |

## Example

| Workflow example                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ```yaml name: github_update_issue_workflow description: Update a GitHub issue steps:   - name: update_issue     type: action     action: gitHub.issue.update     version: 1     inputs:       token: ${{ :secrets:github-PAT-token }}       owner: your_user_name       repo: test-workflow       issueNumber: 7       title: Issue has been resolved       body: Investigation complete. Closing this issue.       state: closed       state_reason: completed       labels:         - resolved     next: end ``` |
