10000 Introducing sort-issues-by option by suyashgaonkar · Pull Request #1254 · actions/stale · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Introducing sort-issues-by option #1254

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

suyashgaonkar
Copy link
Contributor

Description:
Introducing a new option sort-issues-by to sort the issues by the specified field. It accepts 'created', 'updated', 'comments' as values and default value is set to 'created', defines the sorting order of the issues in a repository.

Related issue:
Related to #1231

Check list:

  • [✓ ] Mark if documentation changes are required.

@Copilot Copilot AI review requested due to automatic review settings May 19, 2025 12:25
@suyashgaonkar suyashgaonkar requested a review from a team as a code owner May 19, 2025 12:25
Copy link
@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds a new sort-issues-by option so users can control how issues are ordered (by creation date, last update, or comment count).

  • Parses sort-issues-by input and wires it through the options interface.
  • Registers the option in the enum and action metadata.
  • Implements sort logic in the GitHub API call and provides defaults in tests.

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/main.ts Parse sort-issues-by from action inputs
src/interfaces/issues-processor-options.ts Add sortIssuesBy property to options interface
src/enums/option.ts Add SortIssuesBy enum entry
src/classes/issues-processor.ts Use sortIssuesBy to set the API sort parameter
src/classes/issue.spec.ts Initialize default sortIssuesBy in tests
action.yml Declare the new sort-issues-by input
tests/constants/default-processor-options.ts Include default sortIssuesBy in defaults
Comments suppressed due to low confidence (1)

src/classes/issues-processor.ts:574

  • There are no tests verifying how different sortIssuesBy values (updated, comments) affect the API request. Add unit tests to ensure each option sends the correct sort parameter.
sort:

Comment on lines +574 to +579
sort:
this.options.sortIssuesBy === 'updated'
? 'updated'
: this.options.sortIssuesBy === 'comments'
? 'comments'
: 'created',
Copy link
Preview
Copilot AI May 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The nested ternary for selecting the sort field is hard to read. Consider extracting this into a helper function or a lookup map (e.g., a record mapping the allowed values to API parameters) to improve clarity and make it easier to extend in the future.

Suggested change
sort:
this.options.sortIssuesBy === 'updated'
? 'updated'
: this.options.sortIssuesBy === 'comments'
? 'comments'
: 'created',
sort: this._getSortField(this.options.sortIssuesBy),

Copilot uses AI. Check for mistakes.

@@ -30,6 +30,7 @@ export interface IIssuesProcessorOptions {
removePrStaleWhenUpdated: boolean | undefined;
debugOnly: boolean;
ascending: boolean;
sortIssuesBy: string;
Copy link
Preview
Copilot AI May 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sortIssuesBy property is typed as a generic string. For stronger type safety, narrow this to a union of allowed values ('created' | 'updated' | 'comments').

Suggested change
sortIssuesBy: string;
sortIssuesBy: 'created' | 'updated' | 'comments';

Copilot uses AI. Check for mistakes.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
0