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'