slash-commands: gate project status update on a required PR label

Add project-gate-label input. When set, the project status update on
/lgtm accept only runs if the PR carries that label — lets callers
restrict project-board tracking to a subset of PRs (e.g. only SEPs go
to the SEP Review Pipeline, not every accepted PR).

onAccept now takes the full PR object instead of (number, nodeId) so it
can inspect labels without a second fetch.

Label removal via remove-labels-on-accept is unchanged — it runs on
every accept regardless of the gate.

🏠 Remote-Dev: homespace
This commit is contained in:
Den Delimarsky 2026-03-28 01:46:32 +00:00
commit 225d66d1f2
No known key found for this signature in database

View file

@ -87,6 +87,12 @@ inputs:
description: Name of the option to set in the status field on accept
required: false
default: Accepted
project-gate-label:
description: >-
If set, only update the project status when the PR has this label.
Leave empty to update the project for every accepted PR.
required: false
default: ''
stageblog-workflow:
description: >-
Workflow file name (e.g. stage-blog.yml) to dispatch when /stageblog is
@ -133,6 +139,7 @@ runs:
PROJECT_NUMBER: ${{ inputs.project-number }}
PROJECT_STATUS_FIELD: ${{ inputs.project-status-field }}
PROJECT_ACCEPTED_OPTION: ${{ inputs.project-accepted-option }}
PROJECT_GATE_LABEL: ${{ inputs.project-gate-label }}
STAGEBLOG_WORKFLOW: ${{ inputs.stageblog-workflow }}
STAGEBLOG_PATHS: ${{ inputs.stageblog-paths }}
with: