Files
stale/src/interfaces/issues-processor-options.ts
suyashgaonkar 128b2c81d0 Introducing sort-by option (#1254)
* sort-issues-by introduced

* action.yml updated

* pushing the build code

* Update action.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update README.md for the new parameter (sort-issues-by)

* minor text format changes in README.md

* final draft of sort-issues-by

* Update src/interfaces/issues-processor-options.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/classes/issues-processor.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactored the code

* test

* test

* final changes

* update in README.md

* Documentation update

* updated sort-issues-by to sort-by

* minor changes

* dist fixes

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-10 22:30:19 -05:00

59 lines
1.9 KiB
TypeScript

import {IsoOrRfcDateString} from '../types/iso-or-rfc-date-string';
export interface IIssuesProcessorOptions {
repoToken: string;
staleIssueMessage: string;
stalePrMessage: string;
closeIssueMessage: string;
closePrMessage: string;
daysBeforeStale: number;
daysBeforeIssueStale: number; // Could be NaN
daysBeforePrStale: number; // Could be NaN
daysBeforeClose: number;
daysBeforeIssueClose: number; // Could be NaN
daysBeforePrClose: number; // Could be NaN
staleIssueLabel: string;
closeIssueLabel: string;
exemptIssueLabels: string;
stalePrLabel: string;
closePrLabel: string;
exemptPrLabels: string;
onlyLabels: string;
onlyIssueLabels: string;
onlyPrLabels: string;
anyOfLabels: string;
anyOfIssueLabels: string;
anyOfPrLabels: string;
operationsPerRun: number;
removeStaleWhenUpdated: boolean;
removeIssueStaleWhenUpdated: boolean | undefined;
removePrStaleWhenUpdated: boolean | undefined;
debugOnly: boolean;
ascending: boolean;
sortBy: 'created' | 'updated' | 'comments';
deleteBranch: boolean;
startDate: IsoOrRfcDateString | undefined; // Should be ISO 8601 or RFC 2822
exemptMilestones: string;
exemptIssueMilestones: string;
exemptPrMilestones: string;
exemptAllMilestones: boolean;
exemptAllIssueMilestones: boolean | undefined;
exemptAllPrMilestones: boolean | undefined;
exemptAssignees: string;
exemptIssueAssignees: string;
exemptPrAssignees: string;
exemptAllAssignees: boolean;
exemptAllIssueAssignees: boolean | undefined;
exemptAllPrAssignees: boolean | undefined;
enableStatistics: boolean;
labelsToRemoveWhenStale: string;
labelsToRemoveWhenUnstale: string;
labelsToAddWhenUnstale: string;
ignoreUpdates: boolean;
ignoreIssueUpdates: boolean | undefined;
ignorePrUpdates: boolean | undefined;
exemptDraftPr: boolean;
closeIssueReason: string;
includeOnlyAssigned: boolean;
}