n8n PR 创建
- 作者仓库星标 190,957
- 作者仓库 n8n
Create Pull Request
Creates GitHub PRs with titles that pass n8n's check-pr-title CI validation.
PR Title Format
<type>(<scope>): <summary>
Types (required)
| Type | Description | Changelog |
|---|---|---|
feat |
New feature | Yes |
fix |
Bug fix | Yes |
perf |
Performance improvement | Yes |
test |
Adding/correcting tests | No |
docs |
Documentation only | No |
refactor |
Code change (no bug fix or feature) | No |
build |
Build system or dependencies | No |
ci |
CI configuration | No |
chore |
Routine tasks, maintenance | No |
Scopes (optional but recommended)
API- Public API changesbenchmark- Benchmark CLI changescore- Core/backend/private APIeditor- Editor UI changes* Node- Specific node (e.g.,Slack Node,GitHub Node)
Summary Rules
- Use imperative present tense: "Add" not "Added"
- Capitalize first letter
- No period at the end
- No ticket IDs (e.g., N8N-1234)
- Add
(no-changelog)suffix to exclude from changelog
Steps
Check current state:
git status git diff --stat git log origin/master..HEAD --onelineCheck for implementation plan: Look for a plan file in
.claude/plans/that matches the current branch's ticket ID (e.g. if branch isscdekov/PAY-1234-some-feature, check for.claude/plans/PAY-1234.md). If a plan file exists, ask the user whether they want to include it in the PR description as a collapsible<details>section (see Plan Section below). Only include the plan if the user explicitly approves.If this is a security fix, audit every public-facing artifact before proceeding (see Security Fixes below).
Analyze changes to determine:
- Type: What kind of change is this?
- Scope: Which package/area is affected?
- Summary: What does the change do?
Push branch if needed:
git push -u origin HEADCreate PR using gh CLI. Read
.github/pull_request_template.mdas the body structure, then populate each section with actual content before creating the PR:- Summary: describe what the PR does
- How to test: describe how to test the changes. Include an example workflow if appropriate
- Related tickets: add the Linear ticket URL (
https://linear.app/n8n/issue/[TICKET-ID]) and any GitHub issue links - Checklist: keep as-is from the template
- Add a "🤖 PR Summary generated by AI" at the end of the body
gh pr create --draft --title "<type>(<scope>): <summary>" --body "$(cat <<'EOF' <populated body based on pull_request_template.md> EOF )"
PR Body Guidelines
Based on .github/pull_request_template.md:
Summary Section
- Describe what the PR does
- Include screenshots/videos for UI changes
How to test Section
- Explain how to test the changes
- Include an example workflow if appropriate
Related Links Section
- Link to Linear ticket:
https://linear.app/n8n/issue/[TICKET-ID] - Link to GitHub issues using keywords to auto-close:
closes #123/fixes #123/resolves #123
- Link to Community forum posts if applicable
Checklist
All items should be addressed before merging:
- The human author of the PR has checked the "I have seen this code, I have run this code, and I take responsibility for this code." checkbox
- PR title follows conventions
- Docs updated or follow-up ticket created
- Tests included (bugs need regression tests, features need coverage)
release/backportlabel added if urgent fix needs backporting
Examples
Feature in editor
feat(editor): Add workflow performance metrics display
Bug fix in core
fix(core): Resolve memory leak in execution engine
Node-specific change
fix(Slack Node): Handle rate limiting in message send
Breaking change (add exclamation mark before colon)
feat(API)!: Remove deprecated v1 endpoints
No changelog entry
refactor(core): Simplify error handling (no-changelog)
No scope (affects multiple areas)
chore: Update dependencies to latest versions
Validation
The PR title must match this pattern:
^(feat|fix|perf|test|docs|refactor|build|ci|chore|revert)(\([a-zA-Z0-9 ]+( Node)?\))?!?: [A-Z].+[^.]$
Key validation rules:
- Type must be one of the allowed types
- Scope is optional but must be in parentheses if present
- Exclamation mark for breaking changes goes before the colon
- Summary must start with capital letter
- Summary must not end with a period
Plan Section
If a matching plan file was found in .claude/plans/ and the user has approved
including it, add a collapsible section at the end of the PR body (after the
checklist, before EOF):
<details>
<summary>Implementation plan</summary>
<!-- paste plan file contents here -->
</details>
Security Fixes
This repo is public. Never expose the attack vector in any public artifact. Describe what the code does, not what threat it prevents.
| Artifact | BAD | GOOD |
|---|---|---|
| Branch | fix-sql-injection-in-webhook |
fix-webhook-input-validation |
| PR title | fix(core): Prevent SSRF |
fix(core): Validate outgoing URLs |
| Commit msg | fix: prevent denial of service |
fix: add payload size validation |
| PR body | "attacker could trigger SSRF…" | "validates URL protocol and host" |
| Linear ref | URL with slug (leaks title) | URL without slug or ticket ID only |
| Test name | 'should prevent SQL injection' |
'should sanitize query parameters' |
Before pushing a security fix, verify: no branch name, commit, PR title, PR body, Linear URL, test name, or code comment hints at the vulnerability.
When in doubt, check the Linear issue for possible extra precautions
- 流狐分类
- 工程开发
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @n8n-io · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- macOS · Linux · Windows
- 底层运行要求
- Node.js
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- Shell 执行
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 PR Title Format
Type · Description · Changelog feat · New feature · Yes fix · Bug fix · Yes
API - Public API changes benchmark - Benchmark CLI changes core - Core/backend/private API
Use imperative present tense: "Add" not "Added" Capitalize first letter No period at the end
Check current state: Check for implementation plan: Look for a plan file in .claude/plans/ that matches the current branch's ticket ID (e.g. if branch is
Based on .github/pullrequesttemplate.md:
# Create Pull Request
Creates GitHub PRs with titles that pass n8n's `check-pr-title` CI validation.
## PR Title Format
```
<type>(<scope>): <summary>
```
### Types (required)
| Type | Description | Changelog |
|------------|--------------------------------------------------|-----------|
| `feat` | New feature | Yes |
| `fix` | Bug fix | Yes |
| `perf` | Performance improvement | Yes |
| `test` | Adding/correcting tests | No |
| `docs` | Documentation only | No |
| `refactor` | Code change (no bug fix or feature) | No |
| `build` | Build system or dependencies | No |
| `ci` | CI configuration | No |
| `chore` | Routine tasks, maintenance | No |
### Scopes (optional but recommended)
- `API` - Public API changes
- `benchmark` - Benchmark CLI changes
- `core` - Core/backend/private API
- `editor` - Editor UI changes
- `* Node` - Specific node (e.g., `Slack Node`, `GitHub Node`)
### Summary Rules
- Use imperative present tense: "Add" not "Added"
- Capitalize first letter
- No period at the end
- No ticket IDs (e.g., N8N-1234)
- Add `(no-changelog)` suffix to exclude from changelog
## Steps
1. **Check current state**:
```bash
git status
git diff --stat
git log origin/master..HEAD --oneline
```
2. **Check for implementation plan**: Look for a plan file in `.claude/plans/`
that matches the current branch's ticket ID (e.g. if branch is
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> PR Title Format → Types (required) → Scopes (optional but recommended) → Summary Rules → Steps → PR Body Guidelines
要点 -> Check current state · Check for implementation plan · If this is a security fix · Analyze changes · Push branch if needed · Create PR · Summary · How to test
文件/命令 -> check-pr-title · feat · fix · perf · test · docs · refactor · build
内容 SHA-256 -> 85640b888ec0
方法与流程
适用与边界
原文中的明确线索
check-pr-title、feat、fix、perf、test、docs、refactor、build