@yuki-no/plugin-batch-pr
v1.0.19
Published
Batch PR plugin for yuki-no - Collects opened Yuki-no translation issues and creates a single pull request
Downloads
798
Maintainers
Readme
@yuki-no/plugin-batch-pr
Collects opened Yuki-no translation issues and creates a single pull request to consolidate changes.
Usage
- uses: Gumball12/yuki-no@v1
env:
# [optional]
# Specifies the root directory path in the `head-repo`
# that should be stripped when applying changes to `upstream-repo`
YUKI_NO_BATCH_PR_ROOT_DIR: head-repo-dirname
# [optional]
# file patterns that should be excluded from batch PR
YUKI_NO_BATCH_PR_EXCLUDE: |
head-repo-patterns
with:
plugins: |
@yuki-no/plugin-batch-pr@latestConfiguration
This plugin reads configuration from environment variables:
YUKI_NO_BATCH_PR_ROOT_DIR(optional): Specifies the root directory path in thehead-repothat should be stripped from file paths when applying changes to theupstream-repo. When set, this prefix will be removed from head-repo file paths before applying changes. If not specified, files will be applied with their original paths.YUKI_NO_BATCH_PR_EXCLUDE(optional): Specifies file patterns to exclude from batch PR processing. Supports glob patterns and multiple patterns separated by newlines.
YUKI_NO_BATCH_PR_ROOT_DIR
The YUKI_NO_BATCH_PR_ROOT_DIR option allows you to specify a root directory path in the head repository that should be stripped when applying changes to the upstream repository. This is particularly useful when your head repository has a different directory structure than your upstream repository.
For example, if your head repository has documentation in a docs/ folder, but your upstream repository expects the files at the root level, you can configure:
env:
YUKI_NO_BATCH_PR_ROOT_DIR: docsThis will ensure that when applying changes from docs/README.md in your head repository, they will be applied to README.md in the upstream repository (the docs/ prefix is stripped).
YUKI_NO_BATCH_PR_EXCLUDE
The YUKI_NO_BATCH_PR_EXCLUDE option allows you to specify head-repo file patterns that should be excluded from batch PR processing. This is useful when you want to exclude certain files like build artifacts, temporary files, or sensitive files from being included in the batch PR.
The option supports glob patterns and can accept multiple patterns, each on a separate line:
env:
# Specify `head-repo` file patterns
YUKI_NO_BATCH_PR_EXCLUDE: |
*.log
temp/**
build/*
.env*
**/*.tmpFiles matched by YUKI_NO_BATCH_PR_EXCLUDE are intentionally NOT applied by the plugin. They will be listed in the batch PR body under "Excluded Files (manual changes required)", so you can quickly see what to update manually.
Note that this behaves slightly differently from Yuki-no's exclude option. The exclude option is used when creating issues from head-repo changes. For more details, please refer to the Yuki-no Configuration section.
Permissions
This plugin requires additional permissions beyond the default yuki-no setup:
permissions:
# Default yuki-no permissions
issues: write
actions: read
# Required for branch creation and push operations
contents: write
# Required for batch PR creation
pull-requests: writeAdditionally, you need to enable "Allow GitHub Actions to create and approve pull requests" in your repository settings:

- Go to Settings → Actions → General
- Under Workflow permissions, check "Allow GitHub Actions to create and approve pull requests"
- Click "Save"
These permissions are required because the plugin needs to create pull requests.
Configuration
This plugin uses yuki-no's built-in include and exclude options to determine which files to track.
How It Works
- Collects all opened yuki-no translation issues
- Extracts file changes from each issue's commits
- Applies changes to a unified branch
- Creates or updates a single pull request with all changes
- Links all related issues in the PR description
Important Notes
Closed Issue Handling
When an issue tracked in a batch PR is closed, the plugin does not automatically revert its changes from the batch PR. This behavior is intentional for the following reasons:
- Preserves manual edits: Prevents accidental removal of changes you may have made directly in the batch PR
- Avoids complex conflicts: Reduces the risk of merge conflicts with other tracked issues
- Maintains stability: Ensures predictable behavior and file states
If you need to remove changes from closed issues, close the current batch PR and re-run the yuki-no action to create a fresh batch PR with only the currently open issues.
Release Tracking Integration
When using @yuki-no/plugin-release-tracking, not released issues are automatically excluded from batch PR collection. If release tracking is not installed, all opened translation issues will be included in the batch as normal.
