manual-approval/action.yaml
jaime merino 9e098fbb6e - Fixed Approver Expansion: Repaired the broken expandGroupFromUser function in approvers.go. It now correctly utilizes the Forgejo SDK to search for teams within an organization and expand them into individual users, while respecting the option to exclude the workflow initiator.
- Removed GitHub Dependencies: Excised the unused newGithubClient and its associated dependencies (google/go-github and oauth2) from main.go and go.mod.

   - Project Infrastructure Updates:
       - Updated Dockerfile to use golang:1.25 for consistency with go.mod.
       - Modified action.yaml to run from the local Dockerfile, ensuring that the Forgejo-specific logic is utilized.
   - Validation: Verified all changes through a successful build and by running the full test suite, all of which passed.
2026-04-22 15:28:23 +02:00

62 lines
No EOL
1.9 KiB
YAML

name: Manual Workflow Approval
description: Pause a workflow and get user approval to continue
branding:
icon: pause
color: yellow
inputs:
approvers:
description: Required approvers
required: true
secret:
description: Secret
required: true
minimum-approvals:
description: Minimum number of approvals to progress workflow
required: false
issue-title:
description: The custom subtitle for the issue
required: false
issue-body:
description: The custom body for the issue
required: false
issue-body-file-path:
description: The file path to a custom body for the issue
required: false
exclude-workflow-initiator-as-approver:
description: Whether or not to filter out the user who initiated the workflow as
an approver if they are in the approvers list
required: false
default: "false"
additional-approved-words:
description: Comma separated list of words that can be used to approve beyond
the defaults.
required: false
default: ""
additional-denied-words:
description: Comma separated list of words that can be used to deny beyond the defaults.
required: false
default: ""
target-repository-owner:
description: Owner of the repository in which the issue will be created.
default: ""
target-repository:
description: Name of the repository in which the issue will be created.
default: ""
fail-on-denial:
description: Whether or not to fail the workflow if the approval is denied
required: false
default: "true"
polling-interval-seconds:
description: Number of seconds to wait between polling GitHub API for approval status
required: false
default: "10"
outputs:
issue-number:
description: The number of the issue created
issue-url:
description: The URL of the issue created
approval-status:
description: The status of the approval ("approved" or "denied")
runs:
using: docker
image: Dockerfile