bgrainger / leeroy-pull-request-builder

Builds pull requests for Leeroy-based builds.
MIT License
1 stars 3 forks source link

Get PR information if unknown #8

Open bgrainger opened 9 years ago

bgrainger commented 9 years ago

If a webhook is missing on a repo when a PR is opened, there's no way to get that information to LPRB. Writing "rebuild this" or closing and reopening the PR will give the following error:

INFO: LPRB/91456 on host: Received build request for User/Repo/3.
INFO: LPRB/91456 on host: User/Repo/3 has includingPrs:
ERROR: LPRB/91456 on host: Cannot read property 'base' of undefined
    TypeError: Cannot read property 'base' of undefined
        at Object.getPrBuilds (/usr/local/src/leeroy-pull-request-builder/dist/state.js:75:27)
        at /usr/local/src/leeroy-pull-request-builder/dist/server.js:338:16
        at tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)
        at InnerObserver.tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)
        at AnonymousObserver._onCompleted (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.aggregates.js:816:13)
    From previous event:
        at buildPullRequest (/usr/local/src/leeroy-pull-request-builder/dist/server.js:332:35)
        at AnonymousObserver._onNext (/usr/local/src/leeroy-pull-request-builder/dist/server.js:476:2)
        at AnonymousObserver.tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)
    From previous event:
        at buildPullRequest (/usr/local/src/leeroy-pull-request-builder/dist/server.js:332:69)
        at AnonymousObserver._onNext (/usr/local/src/leeroy-pull-request-builder/dist/server.js:476:2)
        at AnonymousObserver.tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)
    From previous event:
        at buildPullRequest (/usr/local/src/leeroy-pull-request-builder/dist/server.js:332:69)
        at AnonymousObserver._onNext (/usr/local/src/leeroy-pull-request-builder/dist/server.js:476:2)
        at AnonymousObserver.tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)
    From previous event:
        at MergeAllObservable.observableProto.toSet (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.aggregates.js:810:12)
        at buildPullRequest (/usr/local/src/leeroy-pull-request-builder/dist/server.js:334:5)
        at AnonymousObserver._onNext (/usr/local/src/leeroy-pull-request-builder/dist/server.js:476:2)
        at AnonymousObserver.tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)
    From previous event:
        at buildPullRequest (/usr/local/src/leeroy-pull-request-builder/dist/server.js:337:36)
        at AnonymousObserver._onNext (/usr/local/src/leeroy-pull-request-builder/dist/server.js:476:2)
        at AnonymousObserver.tryCatcher (/usr/local/src/leeroy-pull-request-builder/node_modules/rx/dist/rx.js:59:31)

We need to check for "unknown" PRs and fetch them via the GitHub API before integrating them. This would allow someone to add the webhook and simply enter "rebuild this" in a PR comment.