Repository navigation
Combine area and assigned work in named project views - #1581
Closed
Branden Bonaby (bbonaby) wants to merge 2 commits into
Closed
Branden Bonaby (bbonaby) wants to merge 2 commits into
Branden Bonaby (bbonaby) wants to merge 2 commits into
Conversation
Maintain derived view labels with deterministic issue-event and hourly reconciliation. Preserve area rules and assignments, include cross-area assigned work, and document the gated project-filter rollout. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3e7c7c53-21df-41fa-9268-93af2b6824b3
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
Reconcile all open issues for every queued trigger so coalesced events are retained and scheduled scans cannot race issue-event updates. Keep pull-request test runs separate and read-only. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 3e7c7c53-21df-41fa-9268-93af2b6824b3
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Overlapping reconciliation and issue-event runs can delete required membership labels and temporarily hide assigned work.
1 open issue
What changed in this PR
Adds repository automation to combine area responsibility and assignments in existing named project views using derived View-<login> labels. Project-filter activation remains a separate deployment step; no SDK or backend behavior changes.
Changes:
- Centralizes ownership rules and adds label synchronization with read-only previews.
- Adds issue-event and hourly reconciliation, with read-only tests on pull requests.
- Documents activation and rollback while preserving existing view layout and ordering.
| File | Description |
|---|---|
scripts/tests/project-view-membership.test.cjs |
Tests membership rules, label updates, and failure handling. |
scripts/sync-project-view-membership.cjs |
Calculates membership and synchronizes derived labels. |
scripts/project-view-owners.json |
Defines area ownership and subarea exclusions. |
docs/development/guides/project-view-membership.md |
Explains ownership rules, activation, rollback, and local checks. |
.github/workflows/Project.View.Membership.yml |
Runs validation and event-driven or scheduled synchronization. |
Review effort: Balanced
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.

📖 Description
Support one named project view containing all of a person's area work plus
anything assigned to them, including assignments outside their areas.
Area work remains visible when somebody else is assigned.
GitHub Projects cannot express this cross-field OR directly. Add a
deterministic synchronizer that maintains derived
View-<login>issue labelsfrom area rules and assignments, with issue-event updates and hourly
reconciliation. It uses the repository token and needs no organization-project
secret. Pull request runs only execute read-only tests.
Keep the existing Type column and manual ordering, with Labels hidden.
The synchronizer does not change assignments, milestones, issue bodies, or
comments. Existing area/subarea rules are preserved in one configuration.
Include a deployment and rollback guide.
Activation is intentionally separate: merge the reviewed workflow, run a
successful full reconciliation, then switch the existing named view filters
to
label:View-LOGIN. The live project filters have not been switched yet.No new tabs are needed.
🔗 References
both networking work and assigned to him. This PR does not fix or close its
underlying networking bug.
docs/development/guides/project-view-membership.md🔍 Validation
node --test scripts\tests\project-view-membership.test.cjs— passed, 9 tests.node --check scripts\sync-project-view-membership.cjs— passed.node scripts\sync-project-view-membership.cjs --repo microsoft/mxc— passed,read-only preview of all 67 open issues; processcontainer: intra-container loopback communication is blocked by default #1261 includes
View-bbonaby.git diff --cached --check— passed.the reviewed workflow to be deployed first.
✅ Checklist
Cargo.lock, thedependency-feed-checkcheck passes (see pull request builds)📋 Issue Type
GitHub Actions runs the PR validation build automatically. The ADO pipeline
(
MXC-PR-Build) is the Azure version of the PR pipeline, kept in parity with the GitHubActions build; it runs on merge to
main, and Microsoft reviewers with write access can trigger iton a PR with
/azp run. See pull request builds.If the
dependency-feed-checkcheck fails on a new dependency, the crate must be added tothe feed before the PR can pass. See pull request builds
for the steps.
Microsoft Reviewers: Open in CodeFlow