Files
lock-threads/action.yml
dessant 6548363a2d fix: update dependencies
BREAKING CHANGE: the action now requires Node.js 24
2025-12-12 17:23:39 +02:00

150 lines
6.7 KiB
YAML

name: 'Lock Threads'
description: 'Lock closed issues, pull requests and discussions after a period of inactivity'
author: 'Armin Sebastian'
inputs:
github-token:
description: 'GitHub access token'
default: '${{ github.token }}'
issue-inactive-days:
description: 'Number of days of inactivity before a closed issue is locked'
default: '365'
exclude-issue-created-before:
description: 'Do not lock issues created before a given date, value must follow ISO 8601'
default: ''
exclude-issue-created-after:
description: 'Do not lock issues created after a given date, value must follow ISO 8601'
default: ''
exclude-issue-created-between:
description: 'Do not lock issues created in a given time interval, value must follow ISO 8601'
default: ''
exclude-issue-closed-before:
description: 'Do not lock issues closed before a given date, value must follow ISO 8601'
default: ''
exclude-issue-closed-after:
description: 'Do not lock issues closed after a given date, value must follow ISO 8601'
default: ''
exclude-issue-closed-between:
description: 'Do not lock issues closed in a given time interval, value must follow ISO 8601'
default: ''
include-any-issue-labels:
description: 'Only lock issues with any of these labels, value must be a comma separated list of labels'
default: ''
include-all-issue-labels:
description: 'Only lock issues with all these labels, value must be a comma separated list of labels'
default: ''
exclude-any-issue-labels:
description: 'Do not lock issues with any of these labels, value must be a comma separated list of labels'
default: ''
add-issue-labels:
description: 'Labels to add before locking an issue, value must be a comma separated list of labels'
default: ''
remove-issue-labels:
description: 'Labels to remove before locking an issue, value must be a comma separated list of labels'
default: ''
issue-comment:
description: 'Comment to post before locking an issue'
default: ''
issue-lock-reason:
description: 'Reason for locking an issue, value must be one of `resolved`, `off-topic`, `too heated` or `spam`'
default: 'resolved'
pr-inactive-days:
description: 'Number of days of inactivity before a closed pull request is locked'
default: '365'
exclude-pr-created-before:
description: 'Do not lock pull requests created before a given date, value must follow ISO 8601'
default: ''
exclude-pr-created-after:
description: 'Do not lock pull requests created after a given date, value must follow ISO 8601'
default: ''
exclude-pr-created-between:
description: 'Do not lock pull requests created in a given time interval, value must follow ISO 8601'
default: ''
exclude-pr-closed-before:
description: 'Do not lock pull requests closed before a given date, value must follow ISO 8601'
default: ''
exclude-pr-closed-after:
description: 'Do not lock pull requests closed after a given date, value must follow ISO 8601'
default: ''
exclude-pr-closed-between:
description: 'Do not lock pull requests closed in a given time interval, value must follow ISO 8601'
default: ''
include-any-pr-labels:
description: 'Only lock pull requests with any of these labels, value must be a comma separated list of labels'
default: ''
include-all-pr-labels:
description: 'Only lock pull requests with all these labels, value must be a comma separated list of labels'
default: ''
exclude-any-pr-labels:
description: 'Do not lock pull requests with any of these labels, value must be a comma separated list of labels'
default: ''
add-pr-labels:
description: 'Labels to add before locking a pull request, value must be a comma separated list of labels'
default: ''
remove-pr-labels:
description: 'Labels to remove before locking a pull request, value must be a comma separated list of labels'
default: ''
pr-comment:
description: 'Comment to post before locking a pull request'
default: ''
pr-lock-reason:
description: 'Reason for locking a pull request, value must be one of `resolved`, `off-topic`, `too heated` or `spam`'
default: 'resolved'
discussion-inactive-days:
description: 'Number of days of inactivity before a closed discussion is locked'
default: '365'
exclude-discussion-created-before:
description: 'Do not lock discussions created before a given date, value must follow ISO 8601'
default: ''
exclude-discussion-created-after:
description: 'Do not lock discussions created after a given date, value must follow ISO 8601'
default: ''
exclude-discussion-created-between:
description: 'Do not lock discussions created in a given time interval, value must follow ISO 8601'
default: ''
exclude-discussion-closed-before:
description: 'Do not lock discussions closed before a given date, value must follow ISO 8601'
default: ''
exclude-discussion-closed-after:
description: 'Do not lock discussions closed after a given date, value must follow ISO 8601'
default: ''
exclude-discussion-closed-between:
description: 'Do not lock discussions closed in a given time interval, value must follow ISO 8601'
default: ''
include-any-discussion-labels:
description: 'Only lock issues with any of these labels, value must be a comma separated list of labels'
default: ''
include-all-discussion-labels:
description: 'Only lock discussions with all these labels, value must be a comma separated list of labels'
default: ''
exclude-any-discussion-labels:
description: 'Do not lock discussions with any of these labels, value must be a comma separated list of labels'
default: ''
add-discussion-labels:
description: 'Labels to add before locking a discussion, value must be a comma separated list of labels'
default: ''
remove-discussion-labels:
description: 'Labels to remove before locking a discussion, value must be a comma separated list of labels'
default: ''
discussion-comment:
description: 'Comment to post before locking a discussion'
default: ''
process-only:
description: 'Only lock issues, pull requests or discussions, value must be a comma separated list, list items must be one of `issues`, `prs` or `discussions`'
default: ''
log-output:
description: 'Log output parameters, value must be either `true` or `false`'
default: false
outputs:
issues:
description: 'Issues that have been locked, value is a JSON string'
prs:
description: 'Pull requests that have been locked, value is a JSON string'
discussions:
description: 'Discussions that have been locked, value is a JSON string'
runs:
using: 'node24'
main: 'dist/index.js'
branding:
icon: 'lock'
color: 'gray-dark'