Guest User

Untitled

a guest
Jun 8th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. const Promise = require('bluebird')
  2. const fs = require('fs')
  3. const octokit = require('@octokit/rest')()
  4.  
  5. octokit.authenticate({
  6. type: 'basic',
  7. username: 'USER',
  8. password: 'PASS',
  9. })
  10.  
  11. function handleGithubResponse(response, filename) {
  12. const data = response.data
  13. data.filter(
  14. issue => !issue.pull_request
  15. ).forEach(
  16. issue => fs.appendFileSync(`${filename}`, `${issue.title}\n`)
  17. )
  18. }
  19.  
  20. async function getIssueTitles({owner, repo, filename}) {
  21. let response = await octokit.issues.getForRepo({
  22. owner, repo, per_page: 100, state: 'all'
  23. })
  24. handleGithubResponse(response, filename)
  25. while (octokit.hasNextPage(response)) {
  26. response = await octokit.getNextPage(response)
  27. handleGithubResponse(response, filename)
  28. }
  29. }
  30.  
  31. const repos = [
  32. {
  33. owner: 'facebook',
  34. repo: 'react',
  35. filename: 'react-issues.txt',
  36. }, {
  37. owner: 'vuejs',
  38. repo: 'vue',
  39. filename: 'vue-issues.txt',
  40. }, {
  41. owner: 'angular',
  42. repo: 'angular',
  43. filename: 'angular-issues.txt',
  44. },
  45. ]
  46.  
  47. Promise.mapSeries(repos, getIssueTitles)
Add Comment
Please, Sign In to add comment