Disambiguate bulk-license failures and harden Graph batch error parsing for case-colliding keys#29
Closed
Disambiguate bulk-license failures and harden Graph batch error parsing for case-colliding keys#29
Conversation
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix bulk license operation error for child clauses
Chunk bulk license user lookups to stay under Graph OData OR-clause limits
Feb 24, 2026
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot
AI
changed the title
Chunk bulk license user lookups to stay under Graph OData OR-clause limits
Batch bulk user license lookups in groups of 15 to satisfy Graph filter clause limits
Feb 24, 2026
Owner
|
@copilot can we go even faster by building a bulk request object like what we do for assigning the licence, so it's only 1 api request that we make with multiple 15 long requests |
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Author
Implemented in |
Copilot
AI
changed the title
Batch bulk user license lookups in groups of 15 to satisfy Graph filter clause limits
Batch bulk user license lookups in groups of 15 via a single Graph bulk request
Feb 24, 2026
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot
AI
changed the title
Batch bulk user license lookups in groups of 15 via a single Graph bulk request
Handle case-colliding request JSON keys in HTTP trigger deserialization
Feb 25, 2026
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot
AI
changed the title
Handle case-colliding request JSON keys in HTTP trigger deserialization
Fix bulk license error normalization for mixed-case JSON keys in Graph batch failures
Feb 25, 2026
Copilot
AI
changed the title
Fix bulk license error normalization for mixed-case JSON keys in Graph batch failures
Handle mixed-case JSON keys in Graph bulk error parsing for bulk license failures
Feb 25, 2026
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot
AI
changed the title
Handle mixed-case JSON keys in Graph bulk error parsing for bulk license failures
Revert incorrect entrypoint fallback and harden Graph bulk error JSON parsing for mixed-case keys
Feb 25, 2026
Copilot
AI
changed the title
Revert incorrect entrypoint fallback and harden Graph bulk error JSON parsing for mixed-case keys
Fix bulk license failure by hardening Graph batch error JSON parsing for case-colliding keys
Feb 25, 2026
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Copilot
AI
changed the title
Fix bulk license failure by hardening Graph batch error JSON parsing for case-colliding keys
Disambiguate bulk license failures by separating user-lookup and assign-license error paths
Feb 25, 2026
Copilot
AI
changed the title
Disambiguate bulk license failures by separating user-lookup and assign-license error paths
Disambiguate bulk-license failures and harden Graph batch error parsing for case-colliding keys
Feb 25, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Bulk license failures were surfacing ambiguous error text and, in some cases, a JSON parse exception (
keepCopy/KeepCopy) that obscured the actual upstream Graph failure. The issue came from shared Graph batch error normalization and from indistinguishable error-stage messaging in the bulk license flow.Error-source disambiguation in bulk license flow
Invoke-ExecBulkLicensenow wraps the user lookup batch (New-GraphBulkRequest) in a dedicatedtry/catch.before license assignment) so they are not conflated withSet-CIPPUserLicensefailures.Case-safe Graph error payload parsing
New-GraphBulkRequest, error JSON parsing now usesConvertFrom-Json -AsHashtableforErrorDetails.Message.error.messageanderror.Messageto tolerate payloads with inconsistent casing.Scope correction
CippEntrypoints.psm1; fix remains scoped to the actual failing paths.Original prompt
🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.