@@ -74,9 +74,10 @@ export async function getIssues(
7474 const data = await githubReadJson < GitHubIssuePayload [ ] | GitHubSearchIssuesPayload > ( path ) ;
7575
7676 const items = Array . isArray ( data ) ? data : data . items ?? [ ] ;
77+ const issueItems = items . filter ( ( item ) => ! item . pull_request ) ;
7778
7879 return {
79- issues : items . map ( ( item ) => mapGitHubIssue ( item ) ) ,
80+ issues : issueItems . map ( ( item ) => mapGitHubIssue ( item ) ) ,
8081 hasMore : items . length === perPage ,
8182 } ;
8283}
@@ -113,15 +114,20 @@ export async function getLinkedPRsForIssues(
113114 }
114115
115116 interface GraphQLIssueNode {
117+ __typename : 'Issue' ;
116118 number : number ;
117119 timelineItems ?: {
118120 nodes ?: Array < GraphQLCrossReferencedNode | null > ;
119121 } ;
120122 }
121123
124+ interface GraphQLIssueLookupPullRequestNode {
125+ __typename : 'PullRequest' ;
126+ }
127+
122128 interface GraphQLLinkedPrsResponse {
123129 data ?: {
124- repository ?: Record < string , GraphQLIssueNode | null > | null ;
130+ repository ?: Record < string , GraphQLIssueNode | GraphQLIssueLookupPullRequestNode | null > | null ;
125131 } ;
126132 errors ?: Array < { message ?: string } > ;
127133 }
@@ -145,20 +151,23 @@ export async function getLinkedPRsForIssues(
145151 const aliases = uniqueIssueNumbers . map ( ( _ , index ) => `issue_${ index } ` ) ;
146152 const issueSelections = uniqueIssueNumbers
147153 . map ( ( issueNumber , index ) => `
148- ${ aliases [ index ] } : issue(number: ${ issueNumber } ) {
149- number
150- timelineItems(first: 100, itemTypes: [CROSS_REFERENCED_EVENT]) {
151- nodes {
152- ... on CrossReferencedEvent {
153- source {
154- __typename
155- ... on PullRequest {
156- id
157- number
158- title
159- url
160- state
161- mergedAt
154+ ${ aliases [ index ] } : issueOrPullRequest(number: ${ issueNumber } ) {
155+ __typename
156+ ... on Issue {
157+ number
158+ timelineItems(first: 100, itemTypes: [CROSS_REFERENCED_EVENT]) {
159+ nodes {
160+ ... on CrossReferencedEvent {
161+ source {
162+ __typename
163+ ... on PullRequest {
164+ id
165+ number
166+ title
167+ url
168+ state
169+ mergedAt
170+ }
162171 }
163172 }
164173 }
@@ -204,7 +213,7 @@ export async function getLinkedPRsForIssues(
204213 if ( ! issueNumber ) return ;
205214
206215 const issueNode = repositoryNode [ alias ] ;
207- if ( ! issueNode ) return ;
216+ if ( ! issueNode || issueNode . __typename !== 'Issue' ) return ;
208217
209218 const prs : PullRequest [ ] = [ ] ;
210219 const seen = new Set < number > ( ) ;
0 commit comments