Fix milestone search queries to support fine-grained GitHub tokens #663
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes AINFRA-1359
What does it do?
Fixes GitHub API search queries to support fine-grained tokens in addition to classic tokens.
GitHub's fine-grained tokens enforce stricter search query requirements than classic tokens. This seems to be a bug in the API as it worked fine without parameters with classic tokens, but when searching for issues and PRs in a milestone, fine-grained tokens require explicit
is:issue
oris:pull-request
qualifiers -- it seems you cannot search for both simultaneously in a single query.This change should maintain backward compatibility with classic tokens while adding support for fine-grained tokens. The public API remains unchanged.
Testing
I've created a simple test lane locally on WooAndroid to test the updated action:
See test lane ⬇️
I created the test milestones
0.1
and0.2
, assigned0.1
to this issue and this PR and ran the lane twice: first with the fine-grained token, moving issues from0.1
to0.2
and then with a classic token performing the same operation again.PR activity ⬇️
Checklist before requesting a review
bundle exec rubocop
to test for code style violations and recommendations.specs/*_spec.rb
) if applicable.bundle exec rspec
to run the whole test suite and ensure all your tests pass.CHANGELOG.md
file to describe your changes under the appropriate existing###
subsection of the existing## Trunk
section.MIGRATION.md
file to describe how the changes will affect the migration from the previous major version and what the clients will need to change and consider.