@@ -25,7 +25,6 @@ import { Logger } from '../../../../system/logger';
25
25
import type { LogScope } from '../../../../system/logger.scope' ;
26
26
import { getLogScope } from '../../../../system/logger.scope' ;
27
27
import { maybeStopWatch } from '../../../../system/stopwatch' ;
28
- import type { Integration } from '../../integration' ;
29
28
import type { BitbucketServerPullRequest } from '../bitbucket-server/models' ;
30
29
import { normalizeBitbucketServerPullRequest } from '../bitbucket-server/models' ;
31
30
import { fromProviderPullRequest } from '../models' ;
@@ -105,7 +104,6 @@ export class BitbucketApi implements Disposable {
105
104
repo : string ,
106
105
branch : string ,
107
106
baseUrl : string ,
108
- integration : Integration ,
109
107
) : Promise < PullRequest | undefined > {
110
108
const scope = getLogScope ( ) ;
111
109
@@ -130,7 +128,7 @@ export class BitbucketApi implements Disposable {
130
128
}
131
129
132
130
const providersPr = normalizeBitbucketServerPullRequest ( response . values [ 0 ] ) ;
133
- const gitlensPr = fromProviderPullRequest ( providersPr , integration ) ;
131
+ const gitlensPr = fromProviderPullRequest ( providersPr , provider ) ;
134
132
return gitlensPr ;
135
133
}
136
134
@@ -283,7 +281,6 @@ export class BitbucketApi implements Disposable {
283
281
repo : string ,
284
282
id : string ,
285
283
baseUrl : string ,
286
- integration : Integration ,
287
284
) : Promise < IssueOrPullRequest | undefined > {
288
285
const scope = getLogScope ( ) ;
289
286
@@ -301,7 +298,7 @@ export class BitbucketApi implements Disposable {
301
298
302
299
if ( prResponse ) {
303
300
const providersPr = normalizeBitbucketServerPullRequest ( prResponse ) ;
304
- const gitlensPr = fromProviderPullRequest ( providersPr , integration ) ;
301
+ const gitlensPr = fromProviderPullRequest ( providersPr , provider ) ;
305
302
return gitlensPr ;
306
303
}
307
304
} catch ( ex ) {
@@ -369,6 +366,47 @@ export class BitbucketApi implements Disposable {
369
366
}
370
367
}
371
368
369
+ @debug < BitbucketApi [ 'getServerPullRequestForCommit' ] > ( { args : { 0 : p => p . name , 1 : '<token>' } } )
370
+ async getServerPullRequestForCommit (
371
+ provider : Provider ,
372
+ token : string ,
373
+ owner : string ,
374
+ repo : string ,
375
+ rev : string ,
376
+ baseUrl : string ,
377
+ _options ?: {
378
+ avatarSize ?: number ;
379
+ } ,
380
+ cancellation ?: CancellationToken ,
381
+ ) : Promise < PullRequest | undefined > {
382
+ const scope = getLogScope ( ) ;
383
+
384
+ try {
385
+ const response = await this . request < { values : BitbucketServerPullRequest [ ] } > (
386
+ provider ,
387
+ token ,
388
+ baseUrl ,
389
+ `projects/${ owner } /repos/${ repo } /commits/${ rev } /pull-requests` , //?fields=${fieldsParam}`,
390
+ {
391
+ method : 'GET' ,
392
+ } ,
393
+ scope ,
394
+ cancellation ,
395
+ ) ;
396
+ const prResponse = response ?. values ?. reduce < BitbucketServerPullRequest | undefined > (
397
+ ( acc , pr ) => ( ! acc || pr . updatedDate > acc . updatedDate ? pr : acc ) ,
398
+ undefined ,
399
+ ) ;
400
+ if ( ! prResponse ) return undefined ;
401
+ const providersPr = normalizeBitbucketServerPullRequest ( prResponse ) ;
402
+ const gitlensPr = fromProviderPullRequest ( providersPr , provider ) ;
403
+ return gitlensPr ;
404
+ } catch ( ex ) {
405
+ Logger . error ( ex , scope ) ;
406
+ return undefined ;
407
+ }
408
+ }
409
+
372
410
@debug < BitbucketApi [ 'getPullRequestForCommit' ] > ( { args : { 0 : p => p . name , 1 : '<token>' } } )
373
411
async getPullRequestForCommit (
374
412
provider : Provider ,
0 commit comments