7272 }
7373 }
7474 content {
75+ __typename
7576 ... on Issue {
7677 number
7778 title
@@ -124,6 +125,8 @@ jobs:
124125
125126 const items = result.organization.projectV2.items.nodes;
126127
128+ console.log(`Statuses in this page: ${items.map(item => item.fieldValueByName?.name).join(', ')}`);
129+
127130 // Filter items by status immediately
128131 const filteredBatch = items.filter(item => {
129132 return item.fieldValueByName?.name === statusFilter && item.content;
@@ -135,6 +138,37 @@ jobs:
135138 cursor = result.organization.projectV2.items.pageInfo.endCursor;
136139 }
137140
141+ // Fetch TVA team members and filter out their PRs
142+ const tvaTeamQuery = `
143+ query($org: String!) {
144+ organization(login: $org) {
145+ team(slug: "tva") {
146+ members(first: 100) {
147+ nodes {
148+ login
149+ }
150+ }
151+ }
152+ }
153+ }
154+ `;
155+
156+ const tvaTeamResult = await github.graphql(tvaTeamQuery, { org: org });
157+ const tvaMembers = new Set(
158+ tvaTeamResult.organization.team.members.nodes.map(m => m.login)
159+ );
160+ tvaMembers.add("podaac-cicd");
161+
162+ console.log(`TVA team members (${tvaMembers.size}): ${[...tvaMembers].join(', ')}`);
163+
164+ triageItems = triageItems.filter(item => {
165+ const isPR = item.content.__typename === 'PullRequest';
166+ const author = item.content.author?.login;
167+ const filtered = isPR && tvaMembers.has(author);
168+ if (isPR) console.log(`PR author: ${author} — filtered out: ${filtered}`);
169+ return !filtered;
170+ });
171+
138172 // Format items for Slack
139173 const formattedItems = triageItems.map(item => {
140174 const content = item.content;
0 commit comments