DocumentationWorkflowsApps and services
GitHub Pull Requests node
Pull requests in a repository: search, view, create, review or merge, e.g. automatically open a cleanup pull request from a workflow and only merge it once the checks are green. Learn how to configure it, map inputs and outputs, run a test and resolve common errors.
12 min readUpdated
What this node does
Pull requests in a repository: search, view, create, review or merge, e.g. automatically open a cleanup pull request from a workflow and only merge it once the checks are green.
Use GitHub Pull Requests as a clearly defined step in an anymize workflow.
- Processes one input.
- Provides one output for following steps.
- Runs as a regular step in the flow.
Set up the node
- 01Open a workflow and add GitHub Pull Requests from the node catalog.
- 02If your GitHub account is not connected yet, connect it right in the node panel or under Connectors.
- 03Complete the required fields and map values from previous steps.
- 04Run the node with a small test record and inspect its output.
- 05Connect the successful output and activate the workflow after an end-to-end test.
Operations and modes
Choose the required function in Action. The panel then shows the relevant settings.
- List PRs
- Read PR
- Create PR
- Merge PR
- Changed files
- PR commits
- Update PR
- Update branch
- Is it merged?
- Request review
- Withdraw review request
- List reviews
- Submit review
- Line comments
- Comment on line
- Read check status
Settings
| Field | Meaning | Area |
|---|---|---|
| Action | Choices: List PRs, Read PR, Create PR, Merge PR, Changed files, PR commits, Update PR, Update branch, Is it merged?, Request review, Withdraw review request, List reviews, Submit review, Line comments, Comment on line, Read check status | Standard |
| Owner (user or org) | The GitHub name the repo belongs to, e.g. anymize. | Standard |
| Repository | Name of the repository, e.g. hello-world. | Standard |
| Status | Choices: Open, Closed, All | Standard |
| Target branch only | Only pull requests that go into this branch, e.g. main. | Standard |
| Source branch only | In the format owner:branch, e.g. anymize:feature/foo. | Standard |
| Sort by | Choices: Recently created, Recently updated, Most comments, Open the longest | Standard |
| Count (max. 100) | How many entries to load per request. No effect with "Load all pages", which always loads 100 per page. | Standard |
| Load all pages | Keeps loading pages until everything is there, up to 1000 entries. | Standard |
| Page | Which page to start from, e.g. the next page from the previous request. Empty: the first one. No effect with "Load all pages". | Standard |
| PR no. | Configure this value in the node panel. | Standard |
| Title | Configure this value in the node panel. | Standard |
| Source branch (from) | The branch with your changes, e.g. feature/foo. | Standard |
| Target branch (into) | The branch it gets merged into, usually main. | Standard |
| Text | Description, review or comment. Markdown is supported. | Standard |
| As draft | Configure this value in the node panel. | Standard |
| Allow edits by maintainers | Configure this value in the node panel. | Standard |
| Reviewed version (commit) | The commit that was reviewed. If the pull request changed since then, nothing happens. Empty: the current version. | Standard |
| Merge method | How the PR is merged. When in doubt, pick „Merge commit“. | Standard |
| Merge commit title | Configure this value in the node panel. | Standard |
| Merge commit message | Configure this value in the node panel. | Standard |
| Only with green checks | Off: merges even if checks are missing or failing. | Standard |
| New status | Choices: Don't change, Open, Closed | Standard |
| New target branch | Configure this value in the node panel. | Standard |
| Reviewers | GitHub names, separated by commas. | Standard |
| Reviewing teams | Team slugs, separated by commas. | Standard |
| Outcome | "Request changes" and "Comment" need a text. | Standard |
| File | Path of the file in the repository, e.g. src/index.ts. | Standard |
| Line | Configure this value in the node panel. | Standard |
| Side | New version (right) or old version (left). | Standard |
| Commit | Empty: the pull request's current version. | Standard |
| Branch or commit | Configure this value in the node panel. | Standard |
| GitHub account | Leave empty and the step uses your connected GitHub account. | Standard |
| Run once per item | Off (default): the node runs once for the whole input. On: if it receives several items (e.g. from Split Out), it runs once PER item, and {{ $json }} is that one item each time. This is how you work through a file list entry by entry. | Standard |
| If one item fails | "Skip" writes an `error` field for the failed item and keeps processing the rest, instead of losing the whole run to a single unreadable file. | Standard |
| Pause between items (milliseconds) | Wait before every run except the first. 1000 = 1 second per item. Useful when the other side would otherwise throttle you. Maximum 300000 (5 minutes). | Standard |
Inputs and outputs
| Input | Meaning | Type |
|---|---|---|
| Standard | Receives the complete result from the previous step. | JSON |
| Output | Meaning | Type |
|---|---|---|
| Standard | Makes the result available to the next step as JSON. | JSON |
This node can process lists item by item. Error handling and the delay between items are available in advanced settings.
Example and test run
Create an open PR from a workflow: begin with a small, recognizable record. Inspect the output and only map fields that are present there.
Test-run example
{
"owner": "octocat",
"repo": "hello-world",
"head": "feat/copilot-tools",
"base": "main",
"title": "Add Copilot Tools"
}Access and security
The node works with your own connected GitHub account. It only sees and changes what this account is allowed to. Check the permissions shown when you connect. The matching area (Issues, Pull Requests, Repos) must also be switched on in the settings of your GitHub connection under Connectors. All areas are on by default.
"Allowed actions" in the settings of your GitHub connection under Connectors also applies to this node and is checked on every run. With "Read only" or "Read and draft", only the read actions run: List PRs, Read PR, Changed files, PR commits, Is it merged?, List reviews, Line comments, Read check status. These actions need "Allow changes": Create PR, Merge PR, Update PR, Update branch, Request review, Withdraw review request, Submit review, Comment on line.
Keys and credentials belong in Workflow Secrets or your connected accounts. Never paste them as plain text into workflow fields, test data or descriptions.
Troubleshooting
- No output: inspect the latest run and confirm that the previous node returned the expected fields.
- Empty variable: open the previous step output and use a field name from the real test data.
- Connection rejected: reconnect the service and grant the permissions required by this step.
- Action blocked: set "Allowed actions" of the connection under Connectors to "Allow changes", or pick a read action.
- List processed once: enable per-item execution in advanced settings.