@@ -29,7 +29,9 @@ module.exports = (app) => {
2929 } ) ;
3030 let pr_number = context . payload . pull_request . number ;
3131 let pr_body = context . payload . pull_request . body ;
32- let result = [ { primaryLanguage : { iso6391Name : "en" } } ] ;
32+ let detectedLanguage = "en" ;
33+ let pr_author = context . payload . pull_request . user . login ;
34+ let organization_name = context . payload . repository . owner . login
3335
3436 // check language for pr_body
3537 if ( LANGUAGE_API_ENDPOINT && LANGUAGE_API_KEY ) {
@@ -40,7 +42,7 @@ module.exports = (app) => {
4042 if ( pr_body ) {
4143 try {
4244 let startTime = Date . now ( ) ;
43- result = await TAclient . analyze ( "LanguageDetection" , [ pr_body ] ) ;
45+ let result = await TAclient . analyze ( "LanguageDetection" , [ pr_body ] ) ;
4446 let duration = Date . now ( ) - startTime ;
4547 appInsights . trackDependency ( {
4648 target : "API:Language Detection" ,
@@ -50,12 +52,10 @@ module.exports = (app) => {
5052 success : true ,
5153 dependencyTypeName : "HTTP" ,
5254 } ) ;
53- if (
54- ! [ "en" , "es" , "pt" , "fr" ] . includes (
55- result [ 0 ] . primaryLanguage . iso6391Name
56- )
57- ) {
58- result [ 0 ] . primaryLanguage . iso6391Name = "en" ;
55+ if ( result . length > 0 && ! result [ 0 ] . error && [ "en" , "es" , "pt" , "fr" ] . includes ( result [ 0 ] . primaryLanguage . iso6391Name ) ) {
56+ detectedLanguage = result [ 0 ] . primaryLanguage . iso6391Name ;
57+ } else {
58+ detectedLanguage = "en" ;
5959 }
6060 } catch ( err ) {
6161 app . log . error ( err ) ;
@@ -67,7 +67,7 @@ module.exports = (app) => {
6767 // read file that aligns with detected language
6868 const issue_body = fs . readFileSync (
6969 "./issue_template/copilot-usage-" +
70- result [ 0 ] . primaryLanguage . iso6391Name +
70+ detectedLanguage +
7171 ".md" ,
7272 "utf-8"
7373 ) ;
@@ -79,11 +79,11 @@ module.exports = (app) => {
7979
8080 // display the body for the issue
8181 app . log . info ( fileContent ) ;
82-
83- // create an issue using fileContent as body
82+
83+ // create an issue using fileContent as body if pr_author is included in copilotSeats
8484 try {
8585 await context . octokit . issues . create ( {
86- owner : context . payload . repository . owner . login ,
86+ owner : organization_name ,
8787 repo : context . payload . repository . name ,
8888 title : "Copilot Usage - PR#" + pr_number . toString ( ) ,
8989 body : fileContent ,
@@ -402,19 +402,19 @@ module.exports = (app) => {
402402 completed_at
403403 )
404404 VALUES (
405- ${ enterprise_name } ,
406- ${ organization_name } ,
407- ${ context . payload . repository . name } ,
408- ${ issue_id } ,
409- ${ context . payload . issue . number } ,
410- ${ pr_number } ,
411- ${ assignee_name } ,
412- ${ isCopilotUsed } ,
413- ${ pctValue } ,
414- ${ freqValue } ,
415- ${ comment } ,
416- ${ context . payload . issue . created_at } ,
417- ${ context . payload . issue . updated_at }
405+ ' ${ enterprise_name } ' ,
406+ ' ${ organization_name } ' ,
407+ ' ${ context . payload . repository . name } ' ,
408+ ${ issue_id } ,
409+ ${ context . payload . issue . number } ,
410+ ${ pr_number } ,
411+ ' ${ assignee_name } ' ,
412+ ' ${ isCopilotUsed } ' ,
413+ ' ${ pctValue } ' ,
414+ ' ${ freqValue } ' ,
415+ ' ${ comment } ' ,
416+ ' ${ context . payload . issue . created_at } ' ,
417+ ' ${ context . payload . issue . updated_at } '
418418 )` ;
419419 let insert_result = await sql . query ( insert_query ) ;
420420 app . log . info ( insert_result ) ;
0 commit comments