You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tested this manually on a local jenkins instance. I couldn't make github return a response with missing mergeable flag but I made sure that my change doesn't break the normal workflow when the flag is present with a value of true or false.
I also added an integration test that runs automatically.
Submitter checklist
Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
Ensure that the pull request title represents the desired changelog entry
Please describe what you did
Link to relevant issues in GitHub or Jira
Link to relevant pull requests, esp. upstream and downstream changes
Ensure you have provided tests - that demonstrates feature works or fixes the issue
So the mergeable flag turns into null several seconds before the PR is merged by the pipeline.
With that, I think that simply reflecting this fact by changing boolean to Boolean (and so, allowing nulls) may be not the best course of action.
Most of the code written till this stage is either
if (pullRequest.mergeable) { /* merge it */ }
or
if (!pullRequest.mergeable) { /* throw the towel with error */ }
One can easily see that adding a possibility of null will, for all intents and purposes, be treated by the existing code as if it was false.
I would suggest, in case the mergeable state turns into null, instead sleeping for a second or two and retrying, once or twice. In case it insists on staying null, return that.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
The mergeable flag can be
nullwhile github hasn't yet decided if the PR is mergeable or not.See https://github.com/eclipse-egit/egit-github/blob/a30aa361f65d5ccbaca1aedd12651ff2636a3ed9/org.eclipse.egit.github.core/src/org/eclipse/egit/github/core/PullRequest.java#L98-L99
See https://docs.github.com/en/rest/pulls/pulls?apiVersion=2022-11-28#get-a-pull-request
Testing done
I tested this manually on a local jenkins instance. I couldn't make github return a response with missing
mergeableflag but I made sure that my change doesn't break the normal workflow when the flag is present with a value of true or false.I also added an integration test that runs automatically.
Submitter checklist