-
Notifications
You must be signed in to change notification settings - Fork 2.9k
feat(github): add support for pinning dependency dashboard issue #39634
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
base: main
Are you sure you want to change the base?
feat(github): add support for pinning dependency dashboard issue #39634
Conversation
Adds ability to pin GitHub issues via the platform API and configures the dependency dashboard to be pinned by default. This makes the dependency dashboard more visible by pinning it at the top of the repository's Issues page. Changes: - Add `isPinned` optional parameter to `EnsureIssueConfig` interface - Implement GraphQL mutations for pinning issues - Add `node_id` field to GitHub issue schema to support pinning - Update GitHub platform `ensureIssue()` to pin issues when requested - Configure dependency dashboard to set `isPinned: true` by default - Use `requestGraphql()` method for GraphQL API calls - Add explicit `TransformedIssue` type for type safety - Use nullish coalescing operator (`??`) for safer defaults The implementation uses GitHub's GraphQL API `pinIssue` mutation, which requires the issue's global node ID. Issue pinning is only performed when the `isPinned` parameter is explicitly set to true, maintaining backward compatibility with existing code. --- This PR was written primarily by Claude Code.
2ab5fd0 to
f768ded
Compare
…ance Convert TransformedIssue and CacheData from type aliases to interfaces to satisfy @typescript-eslint/consistent-type-definitions rule.
|
Thanks! Note to reviewers: will need to review with some of the considerations from #34459 |
|
Also, is it intentional commits are from @shimongewirtz but PR is from @sgewirtz1? Might be why the CLA is failing! |
hope not, I use both interchangebly |
a2b10c0 to
8e10420
Compare
Change node_id from required 'string | undefined' to optional 'string?' to maintain backward compatibility with existing tests that don't include this property.
8e10420 to
7b6ba04
Compare
Nope |
| body: platform.massageMarkdown(issueBody, config.rebaseLabel), | ||
| labels: config.dependencyDashboardLabels, | ||
| confidential: config.confidential, | ||
| isPinned: true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be configurable via a new config option, so users can decide for themselves.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, also take a look at this comment for directions about how to set value for the new config option and whether the pinning of an issue needs additional permissions or not.
Adds ability to pin GitHub issues via the platform API and configures the dependency dashboard to be pinned by default. This makes the dependency dashboard more visible by pinning it at the top of the repository's Issues page.
Changes:
isPinnedoptional parameter toEnsureIssueConfiginterfacenode_idfield to GitHub issue schema to support pinningensureIssue()to pin issues when requestedisPinned: trueby defaultThe implementation uses GitHub's GraphQL API
pinIssuemutation, which requires the issue's global node ID. Issue pinning is only performed when theisPinnedparameter is explicitly set to true, maintaining backward compatibility with existing code.This PR was written primarily by Claude Code.
Changes
Context
Please select one of the following:
AI assistance disclosure
Did you use AI tools to create any part of this pull request?
Please select one option and, if yes, briefly describe how AI was used (e.g., code, tests, docs) and which tool(s) you used.
Documentation (please check one with an [x])
How I've tested my work (please select one)
I have verified these changes via:
The public repository: