Update Issue

github.update_issue
ActionBusiness appsconnection required

Calls the GitHub API PATCH /repos/{owner}/{repo}/issues/{issue_number}.

Change an issue's title, body, state, labels, assignees or milestone.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
GitHub
Secret shape
the GitHub personal access token
Resolved by
config.connection_id, else node.connection_id, else the tenant's sole GitHub connection

Configuration

11 fields, 3 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
owner
Repository owner — the user or organisation login. Supports {{ }}.
stringYes——octocat
repo
Repository name, without the owner prefix. Supports {{ }}.
stringYes——hello-world
issue_number
Issue number as shown in the UI (not the internal id).
stringYes——1
title
New issue title.
stringNo———
body
New issue body (Markdown).
stringNo———
state
Replaces the stored state; blank leaves it as it is.
stringNo—one of "open", "closed"—
state_reason
Why the state changed. Only meaningful alongside state.
stringConditional—one of "completed", "not_planned", "duplicate", "reopened"; only with state—
duplicate_issue_id
Internal id of the issue this one duplicates. GitHub requires it when state_reason is duplicate, and ignores it otherwise.
stringConditional—only with state_reason—
labels
Replace the issue's labels with these names.
arrayNo—array of string—
assignees
Replace the issue's assignees with these usernames.
arrayNo—array of string—
milestone
Milestone number to attach, or null to clear it.
numberNo—≥ 1—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "issue_number": "1",
  "owner": "octocat",
  "repo": "hello-world"
}

Output

One shape.

result

The declared fields, plus the rest of the resource as GitHub returned it.

Extra keys beyond the ones listed can appear.

FieldTypeExample
ok
True when GitHub accepted the call.
booleantrue
number
Issue number as shown in the UI.
number—
title
Issue title.
string—
state
open or closed.
string—
state_reason
Why it is in that state, when GitHub recorded one.
string—
body
Issue body (Markdown).
string—
html_url
Link to the issue.
string—
comments
How many comments it has.
number—
{
  "body": "",
  "comments": 0,
  "html_url": "",
  "number": 0,
  "ok": true,
  "state": "",
  "state_reason": "",
  "title": ""
}

Notes

  • labels and assignees replace the whole set; use add_issue_labels or add_issue_assignees to add without clearing.
  • At least one changeable field must be set, or the step fails before it calls.
  • state_reason is ignored unless state changes with it.

See Update Issue run in a workflow.

In a technical demo we add the GitHub connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.