diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6f69666 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,35 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is loosely based on [Keep a Changelog] +and this project adheres to [Semantic Versioning]. + +[Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ +[Semantic Versioning]: http://semver.org/spec/v2.0.0.html + +## [Unreleased] +### Changed +- Update README.md to describe v0.2.0 architecture + +## [0.2.0] - 2017-09-12 +### Added +- #7: Supports arbitrary keywords for ignoring builds +### Changed +- #9: Use CloudWatch Events instead of Step Functions + +## [0.1.1] - 2017-08-28 +### Added +- Add Changelog (This file) +### Changed +- Makefile: Update help texts +- README: Add missing installation steps +- README: Add architecture-overview and screenshot images + +## 0.1.0 - 2017-08-24 +- Initial release + +[Unreleased]: https://github.com/toricls/github-codebuild-integration/compare/0.2.0...HEAD +[0.2.0]: +https://github.com/toricls/github-codebuild-integration/compare/0.1.1...0.2.0 +[0.1.1]: +https://github.com/toricls/github-codebuild-integration/compare/0.1.0...0.1.1 diff --git a/Makefile b/Makefile index b9631f3..0cb191c 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ export $$(shell sed 's/=.*//' $(ENV_FILE_PATH)) build: dependency-dev ## Install all dependencies including development packages -test: validate-envvars validate dependency-dev lint-code unit-test ## Validating and linting CloudFormation templates and Lambda functions +test: validate-envvars validate dependency-dev lint-code unit-test ## Validating and linting CloudFormation templates and Lambda functions (requires: ENV_FILE_PATH) validate-envvars: # Test if required environment variables exist ifeq ($(GITHUB_REPOSITORY_URL),) @@ -57,7 +57,7 @@ lint-code: unit-test: @./scripts/test -package: validate-envvars validate clean dependency package-sam ## Install all dependencies and package stuffs +package: validate-envvars validate clean dependency package-sam ## Install all dependencies and package stuffs (requires: ENV_FILE_PATH) package-sam: ifeq ($(S3_SAM_ARTIFACTS_BUCKET_NAME),) @@ -65,7 +65,7 @@ ifeq ($(S3_SAM_ARTIFACTS_BUCKET_NAME),) endif @./scripts/package $(S3_SAM_ARTIFACTS_BUCKET_NAME) $(CODEBUILD_PROJECT_NAME) -deploy: package deploy-sam ## Deploy all CloudFormation templates and Lambda functions +deploy: package deploy-sam ## Deploy github-codebuild-integration into your AWS account (requires: ENV_FILE_PATH) deploy-sam: ifeq ($(S3_SAM_ARTIFACTS_BUCKET_NAME),) @@ -73,11 +73,11 @@ ifeq ($(S3_SAM_ARTIFACTS_BUCKET_NAME),) endif @./scripts/deploy $(ENV_FILE_PATH) -clean: ## Remove local generated files and dependencies - @./scripts/clean - -destroy: ## Remove provisioned resources on AWS +destroy: ## Remove provisioned resources from your AWS account (requires: ENV_FILE_PATH) @./scripts/destroy $(ENV_FILE_PATH) -help: +clean: ## Remove local generated files and installed dependencies + @./scripts/clean + +help: ## Show this @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-10s\033[0m %s\n", $$1, $$2}' \ No newline at end of file diff --git a/README.md b/README.md index 0638e47..f793c1d 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,43 @@ -# github-codebuild-integration +# github-codebuild-integration (gci) -[![GitHub release](http://img.shields.io/github/release/toricls/github-codebuild-integration.svg?style=flat-square)][release] -[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license] +[![GitHub release](https://img.shields.io/github/release/toricls/github-codebuild-integration.svg?style=flat-square)][release] +[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)][license] [release]: https://github.com/toricls/github-codebuild-integration/releases [license]: https://github.com/toricls/github-codebuild-integration/blob/master/LICENSE -github-codebuild-integration is a CI dispatching/status handling tool to integrate AWS CodeBuild with GitHub Push/Pull-Request events, created with love of Serverless Architecture. +`gci` is a CI dispatching/status handling tool to integrate AWS CodeBuild with GitHub Push/Pull-Request webhook events, created with love of Serverless Architecture. ## Overview Yay, Serverless! -TODO: Put a diagram or something here. +[![Overview](https://github.com/toricls/github-codebuild-integration/wiki/res/overview-800x463.png)](https://github.com/toricls/github-codebuild-integration/wiki/res/overview.png) + +**Commits:** + +[![Commits](https://github.com/toricls/github-codebuild-integration/wiki/res/commits-300x234.png)](https://github.com/toricls/github-codebuild-integration/wiki/res/commits.png) + +**Pull Request:** + +[![Pull Request](https://github.com/toricls/github-codebuild-integration/wiki/res/pr-600x394.png)](https://github.com/toricls/github-codebuild-integration/wiki/res/pr.png) ## Features -- Invoking a pre-configured AWS CodeBuild project by hooking Push or Pull Reqeust events. +- Invoking a pre-configured AWS CodeBuild project by hooking Push or Pull Reqeust webhook events. - Setting GitHub's CI status based on status/result of builds on AWS CodeBuild. -### AWS account / github-codebuild-integration / GitHub repository +### AWS account / gci / GitHub repository -github-codebuild-integration allows you to provision multiple installations in one AWS account as follows: +gci allows you to provision multiple installations in one AWS account as follows: Resources | Relation ---------- | ---------- -AWS account : github-codebuild-integration installations | 1 : n -github-codebuild-integration installation : GitHub repository | 1 : 1 +AWS account : gci installations | 1 : n +gci installation : GitHub repository | 1 : 1 GitHub repository : AWS CodeBuild project | 1 : 1 (will be extended to 1 : n in the future) -As mentioned above, github-codebuild-integration can be installed as many as you want to integrate with your GitHub repositories. If you want to build 3 repositories, you may provision 3 of github-codebuild-integration installation for instance. +As mentioned above, gci can be installed as many as you want to integrate with your GitHub repositories. If you want to build 3 repositories, you may provision 3 of gci installation for instance. ## Background @@ -37,24 +45,24 @@ GitHub has a feature to show each commit's status like 'success', 'failure', 'pe GitHub accepts status creation via their APIs and many third-party CI services implement functionalities to integrate with that APIs to show their job status on GitHub. -On the other hand, AWS CodeBuild doesn't have such a feature to save its build project status to GitHub for now. github-codebuild-integration is a missing piece of AWS CodeBuild to make things better. +~~On the other hand, AWS CodeBuild doesn't have such a feature to save its build project status to GitHub for now. gci is a missing piece of AWS CodeBuild to make things better.~~ I heard that AWS CodeBuild now supports for building by GitHub push/PR and for updating GitHub status natively. We'll find another motivation to keep developing gci :stuck_out_tongue: -## Requirements & Installation +## Requirements ### Prerequisites -github-codebuild-integration requires the following to be installed on your AWS account. +gci requires the following to be installed on your AWS account. ### Required Tools -We provide Makefile to you to manage github-codebuild-integration's lifecycle. +We use a Makefile to manage gci's lifecycle. - GNU Make (if you are using macOS, `brew install make` is handy) -Provided commands use the following tools: +The Makefile depends on the following tools: -- Node.js v6.10 or later -- Yarn v0.27.5 or later +- Node.js v14.1.0 or later +- Yarn 1.22.0 or later - AWS-CLI 1.11.132 or later - curl @@ -64,23 +72,25 @@ Provided commands use the following tools: - `AdministratorAccess` to your AWS Account (to use AWS CloudFormation in the installation command) - GitHub Account -And the listed resources below are created in the process of installation, which means they are required as available AWS services in a region where you want to run github-codebuild-integration. +And the listed resources below are created in the process of installation, which means they are required as available AWS services in a region where you want to run gci. - Amazon S3 - Amazon SNS +- Amazon CloudWatch Events - AWS Lambda -- AWS Step Functions - AWS CodeBuild -- AWS IAM +- AWS IAMv - AWS CloudFormation -### Installation +## Installation -_**NOTE: Make sure your [AWS credentials have been loaded](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) before proceeding the following steps.**_ +_**NOTE: Make sure you already have:**_ +_**- [AWS credentials](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) for AWS CLI access.**_ +_**- at least one AWS CodeBuild project created.**_ ### AWS Account-wide Resource -We have to create an S3 Bucket to store github-codebuild-integration's artifacts to provision it. +Create an S3 Bucket to store gci's artifacts to proceed. ``` $ aws s3api create-bucket \ @@ -88,11 +98,26 @@ $ aws s3api create-bucket \ --create-bucket-configuration LocationConstraint=$AWS_DEFAULT_REGION ``` -_**NOTE: If you plan installing github-codebuild-integration into multiple AWS regions, you may create an S3 bucket for each AWS region.**_ +_**NOTE: Create an S3 bucket for each AWS region if you use gci in multiple AWS regions.**_ ### Per-Project Resources -#### Configure for your GitHub repository +#### Clone this repository + +``` +$ git clone https://github.com/toricls/github-codebuild-integration.git +$ cd $(pwd)/github-codebuild-integration +``` + +#### Create GitHub Personal Access Token + +Open [New personal access token](https://github.com/settings/tokens/new) page and create one for a gci's installation. + +Input token description like `codebuild-YOUR_REPO_NAME` and enable `admin:repo_hook` and `repo:status` as scopes, then click the `Generate token` button. + +Copy the personal access token value and proceed to the next section, "Configure parameters". + +#### Configure parameters Copy example configuration file and edit it to configure paramters for your GitHub repository. @@ -102,7 +127,7 @@ $ cp env/example.env env/$YOUR_PROJECT_NAME.env $ editor env/$YOUR_PROJECT_NAME.env ``` -Next table describes about all available parameters of github-codebuild-integration. +Next table describes about all available parameters of gci. Required | Parameter Name | What is this | Example ------------ | ------------ | ------------- | ------------- @@ -110,17 +135,18 @@ yes | S3_SAM_ARTIFACTS_BUCKET_NAME | An S3 bucket to store AWS SAM's artifacts. yes | GITHUB_REPOSITORY_URL | A repository URL you wanted build. Use https style path and make sure trailing '.git' is removed. | https://github.com/your-org/your-repo yes | GITHUB_PERSONAL_ACCESS_TOKEN | Used for updating GitHub PR's status and Webhook configuration. Minimum scope are `admin:repo_hook` and `repo:status`. You can create and obtain a new token via [settings page](https://github.com/settings/tokens/new). | your-github-personal-access-token yes | GITHUB_TARGET_RESOURCE | Choose one event to decide when your CodeBuild project runs. Available value is `pr` or `push`. | push -optional | GITHUB_IGNORE_BRANCH_REGEX | Regex string to specify branch name to ignore commit events. This parameter will be enabled only the `GITHUB_TARGET_RESOURCE` value is set to `push`. | wip.* +optional | GITHUB_IGNORE_BRANCH_REGEX | Regex string to specify branch name to ignore commit events. This parameter will be enabled only the `GITHUB_TARGET_RESOURCE` value is `push`. | wip.* yes | AWS_DEFAULT_REGION | The region where you want to provision this tool via CloudFormation. | us-east-1 yes | CODEBUILD_PROJECT_NAME | The AWS CodeBuild project name you've already configured for your GitHub repository. | your-codebuild-project-name yes | CODEBUILD_PROJECT_REGION | The region where you've created a CodeBuild project. You can specify a different region from the region of CloudFormation. | us-east-1 +optional | BUILD_SKIPPED_BY | Build invocation will be skipped if the head commit message includes the value of this parameter. This parameter will be used only the GITHUB_TARGET_RESOURCE value is `push`. | "skip ci" -#### Install +#### Deploy -Package all artifacts and deploy to your AWS account. +Package all artifacts and deploy to your AWS account. You can use this command to update your existing gci installation. ``` -$ make deploy ENV_FILE=env/$YOUR_PROJECT_NAME.env +$ make deploy ENV_FILE_PATH=env/$YOUR_PROJECT_NAME.env ``` ## Uninstall @@ -128,7 +154,7 @@ $ make deploy ENV_FILE=env/$YOUR_PROJECT_NAME.env You can delete most of generated resources by executing: ``` -$ make destroy ENV_FILE=env/YOUR-PROJECT-NAME.env +$ make destroy ENV_FILE_PATH=env/YOUR-PROJECT-NAME.env ``` _**NOTE: CloudFormation doesn't delete CloudWatch's Log Groups. You may want to remove it manually on the AWS Management Console or via the AWS CLI. Also you may want to remove the S3 Bucket(s) you created.**_ @@ -145,7 +171,7 @@ A. Ask your administrator and show him/her the following: [required-accounts--resources]: https://github.com/toricls/github-codebuild-integration/blob/master/README.md#required-accounts--resources -Q: I want to remove all resources of github-codebuild-integration from my AWS account. +Q: I want to remove all resources of gci from my AWS account. A: Read the [Uninstall][uninstall] section above :X @@ -153,7 +179,7 @@ A: Read the [Uninstall][uninstall] section above :X ### Changing Configurations -Q: I changed my repository name after github-codebuild-integration install. +Q: I changed my repository name after gci install. A: Change the value of `GITHUB_REPOSITORY_URL` in your env file, then deploy again. @@ -164,17 +190,13 @@ Don't forget to back that value to `false` after your quick work. ### Feature Request -Q: I want to skip CI by adding a tag like `[skip ci]` in commit messages. - -A: It is planned, but not now. - Q: I need more than one AWS CodeBuild project for my GitHub repository. A: I totally agree with you! It will be supported in the future. I think the feature will be implemented with a mapping configuration for 'branch name reg-expressions' and 'AWS CodeBuild projects'. But PRs are always welcome :smiley: Q. Can you change the icon which shown at PR page's CI status? -A. GitHub shows the avatar of the user who owns the personal access token you provided. You can change the icon by using something like [Machine users](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users) to create a personal access token for github-codebuild-integration. +A. GitHub shows the avatar of the user who owns the personal access token you provided. You can change the icon by using something like [Machine users](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users) to create a personal access token for gci. ## Contribution diff --git a/env/example.env b/env/example.env index 286f336..297aee3 100644 --- a/env/example.env +++ b/env/example.env @@ -8,3 +8,4 @@ GITHUB_IGNORE_BRANCH_REGEX=wip.* AWS_DEFAULT_REGION=us-east-1 CODEBUILD_PROJECT_NAME=your-codebuild-project-name CODEBUILD_PROJECT_REGION=us-east-1 +BUILD_SKIPPED_BY="skip ci" diff --git a/package.json b/package.json index 7aad74c..6814631 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "github-codebuild-integration", - "version": "0.1.0", + "version": "0.2.0", "description": "", "scripts": { - "test": "mocha $(find src -name '*.test.js')", - "lint": "eslint --ext .js src test" + "test": "mocha $(find src -name '*.test.js' ! -path '*node_modules*')", + "lint": "eslint --ext .js src test --no-error-on-unmatched-pattern" }, "engines": { - "node": ">=6.1" + "node": ">=14.1" }, "repository": { "type": "git", @@ -25,7 +25,7 @@ }, "homepage": "https://github.com/toricls/github-codebuild-integration", "devDependencies": { - "eslint": "^4.5.0", - "mocha": "^3.5.0" + "eslint": "^7.11.0", + "mocha": "^8.1.0" } } diff --git a/sam.yml b/sam.yml index aa32a1c..1879435 100644 --- a/sam.yml +++ b/sam.yml @@ -15,17 +15,17 @@ Parameters: Type: String CodeBuildRegion: Type: String + BuildSkippedBy: + Type: String Resources: - # AWS SAM doesn't support `Transform` in nested templates, we includes all children into main template - # see https://github.com/awslabs/serverless-application-model/issues/90 ########################## - # SNSStack + # SNS ########################## GitHubEventSNSTopic: Type: "AWS::SNS::Topic" ########################## - # IAMStack + # IAM ########################## GitHubIAMUser: Type: "AWS::IAM::User" @@ -42,7 +42,7 @@ Resources: Properties: UserName: !Ref GitHubIAMUser ########################## - # GitHubWebhookStack + # GitHubWebhook(CustomResource) ########################## GitHubWebhookCustomResourceRole: Type: "AWS::IAM::Role" @@ -85,7 +85,7 @@ Resources: Type: "Custom::GitHubWebhook" Properties: ServiceToken: !GetAtt GitHubWebhookCustomResource.Arn - # Define all variables to re-create via `make deploy` when parameters have changed + # Define all variables to re-create GitHub's webhook configuration via `make deploy` when parameters have changed GITHUB_TOKEN: !Ref GitHubPersonalAccessToken GITHUB_REPOSITORY_URL: !Ref GitHubRepositoryUrl GITHUB_TARGET_RESOURCE: !Ref GitHubTargetResource @@ -94,7 +94,7 @@ Resources: SNS_REGION: !Ref "AWS::Region" SNS_TOPIC: !Ref GitHubEventSNSTopic ########################## - # LambdaStack + # Lambda (BuildStateNotifier) ########################## LambdaExecutionRole: Type: "AWS::IAM::Role" @@ -116,42 +116,13 @@ Resources: - "logs:CreateLogStream" - "logs:PutLogEvents" Resource: "arn:aws:logs:*:*:*" - - Effect: Allow - Action: - - "codebuild:StartBuild" - - "codebuild:BatchGetBuilds" - Resource: !Sub "arn:aws:codebuild:${AWS::Region}:${AWS::AccountId}:project/${CodeBuildProjectName}" - BuildDispatcher: - Type: "AWS::Serverless::Function" - Properties: - Role: !GetAtt LambdaExecutionRole.Arn - Handler: index.handler - Runtime: nodejs6.10 - CodeUri: ./src/functions/build-dispatcher - Timeout: 10 - MemorySize: 128 - Environment: - Variables: - CODEBUILD_PROJECT_REGION: !Ref CodeBuildRegion - CODEBUILD_PROJECT_NAME: !Ref CodeBuildProjectName - GITHUB_TOKEN: !Ref GitHubPersonalAccessToken - GITHUB_REPOSITORY_URL: !Ref GitHubRepositoryUrl - BuildResultExporter: - Type: "AWS::Serverless::Function" - Properties: - Role: !GetAtt LambdaExecutionRole.Arn - Handler: index.handler - Runtime: nodejs6.10 - CodeUri: ./src/functions/build-result-exporter - Timeout: 10 - MemorySize: 128 - BuildResultNotifier: + BuildStateNotifier: Type: "AWS::Serverless::Function" Properties: Role: !GetAtt LambdaExecutionRole.Arn Handler: index.handler Runtime: nodejs6.10 - CodeUri: ./src/functions/build-result-notifier + CodeUri: ./src/functions/build-state-notifier Timeout: 10 MemorySize: 128 Environment: @@ -159,10 +130,22 @@ Resources: CODEBUILD_PROJECT_REGION: !Ref CodeBuildRegion GITHUB_TOKEN: !Ref GitHubPersonalAccessToken GITHUB_REPOSITORY_URL: !Ref GitHubRepositoryUrl + Events: + CodeBuildStatusChange: + Type: CloudWatchEvent + Properties: + Pattern: + source: + - "aws.codebuild" + detail-type: + - !Sub "CodeBuild Build State Change" + detail: + project-name: + - !Ref CodeBuildProjectName ########################## - # StepFunctionsStack + # Lambda (WebhookHandler) ########################## - SFLambdaExecutionRole: + WebhookHandlerExecutionRole: Type: "AWS::IAM::Role" Properties: AssumeRolePolicyDocument: @@ -173,7 +156,7 @@ Resources: Service: lambda.amazonaws.com Action: "sts:AssumeRole" Policies: - - PolicyName: !Sub "${CodeBuildProjectName}-sf-lambda-execution-role" + - PolicyName: !Sub "${CodeBuildProjectName}-webhook-handler-execution-role" PolicyDocument: Statement: - Effect: Allow @@ -183,12 +166,13 @@ Resources: - "logs:PutLogEvents" Resource: "arn:aws:logs:*:*:*" - Effect: Allow - Action: "states:StartExecution" - Resource: !Ref BuildStateMachine + Action: + - "codebuild:StartBuild" + Resource: !Sub "arn:aws:codebuild:${AWS::Region}:${AWS::AccountId}:project/${CodeBuildProjectName}" GitHubWebhookHandler: Type: "AWS::Serverless::Function" Properties: - Role: !GetAtt SFLambdaExecutionRole.Arn + Role: !GetAtt WebhookHandlerExecutionRole.Arn Handler: index.handler Runtime: nodejs6.10 CodeUri: ./src/functions/github-webhook-handler @@ -202,12 +186,14 @@ Resources: Environment: Variables: DO_NOT_RUN: false - STEP_FUNCTIONS_ARN: !Ref BuildStateMachine CODEBUILD_PROJECT_REGION: !Ref CodeBuildRegion + CODEBUILD_PROJECT_NAME: !Ref CodeBuildProjectName GITHUB_TOKEN: !Ref GitHubPersonalAccessToken GITHUB_REPOSITORY_URL: !Ref GitHubRepositoryUrl GITHUB_TARGET_RESOURCE: !Ref GitHubTargetResource GITHUB_IGNORE_BRANCH_REGEX: !Ref GitHubIgnoreBranchRegex + BUILD_SKIPPED_BY: !Ref BuildSkippedBy + # We don't use followings anymore but they have to be kept as a workaround for an AWS SAM's bug? that CFn reports 'Circular dependency error' while updating the stack to modify the WebhookHandler's execution role. StatesExecutionRole: Type: "AWS::IAM::Role" Properties: @@ -225,7 +211,7 @@ Resources: PolicyDocument: Version: "2012-10-17" Statement: - - Effect: Allow + - Effect: Deny Action: - "lambda:InvokeFunction" Resource: "*" @@ -235,37 +221,11 @@ Resources: DefinitionString: !Sub |- { - "StartAt": "Dispatch Build", + "StartAt": "Wait 10 Seconds", "States": { - "Dispatch Build": { - "Type": "Task", - "Resource": "${BuildDispatcher.Arn}", - "Next": "Wait 10 Seconds" - }, "Wait 10 Seconds": { "Type": "Wait", "Seconds": 10, - "Next": "Export Build Result" - }, - "Export Build Result": { - "Type": "Task", - "Resource": "${BuildResultExporter.Arn}", - "Next": "Test If Build Finished" - }, - "Test If Build Finished": { - "Type": "Choice", - "Choices": [ - { - "Variable": "$.buildComplete", - "BooleanEquals": true, - "Next": "Notify Build Result" - } - ], - "Default": "Wait 10 Seconds" - }, - "Notify Build Result": { - "Type": "Task", - "Resource": "${BuildResultNotifier.Arn}", "End": true } } diff --git a/scripts/clean b/scripts/clean index e00cb45..04a732c 100755 --- a/scripts/clean +++ b/scripts/clean @@ -14,6 +14,6 @@ rm -f ./.sam/*.yml for dir in ./src/functions/*; do echo "Cleaning dependencies for $dir" pushd $dir > /dev/null - yarn clean + rm -rf ./node_modules popd > /dev/null done diff --git a/scripts/deploy b/scripts/deploy index 35f1e04..0c6d50a 100755 --- a/scripts/deploy +++ b/scripts/deploy @@ -21,7 +21,8 @@ aws cloudformation deploy \ --parameter-overrides GitHubRepositoryUrl=$GITHUB_REPOSITORY_URL \ GitHubPersonalAccessToken=$GITHUB_PERSONAL_ACCESS_TOKEN \ GitHubTargetResource=$GITHUB_TARGET_RESOURCE \ - GitHubIgnoreBranchRegex=$GITHUB_IGNORE_BRANCH_REGEX \ + GitHubIgnoreBranchRegex="$GITHUB_IGNORE_BRANCH_REGEX" \ CodeBuildProjectName=$CODEBUILD_PROJECT_NAME \ CodeBuildRegion=$CODEBUILD_PROJECT_REGION \ - --region "$AWS_DEFAULT_REGION" \ No newline at end of file + BuildSkippedBy="$BUILD_SKIPPED_BY" \ + --region "$AWS_DEFAULT_REGION" diff --git a/scripts/validate b/scripts/validate index 6ac545a..0e317f9 100755 --- a/scripts/validate +++ b/scripts/validate @@ -13,7 +13,7 @@ source $ENV_FILE_PATH # Validate main template echo "Validating AWS SAM template" -aws cloudformation validate-template --template-body file://sam.yml --region $AWS_DEFAULT_REGION +aws cloudformation validate-template --template-body file://sam.yml --region $AWS_DEFAULT_REGION > /dev/null # Validate configurations in $ENV_FILE_PATH ## GITHUB_TARGET_RESOURCE diff --git a/src/functions/build-dispatcher/.yarnclean b/src/functions/build-dispatcher/.yarnclean deleted file mode 100644 index 25bdd14..0000000 --- a/src/functions/build-dispatcher/.yarnclean +++ /dev/null @@ -1,42 +0,0 @@ -# test directories -__tests__ -test -tests -powered-test - -# asset directories -docs -doc -website -images -assets - -# examples -example -examples - -# code coverage directories -coverage -.nyc_output - -# build scripts -Makefile -Gulpfile.js -Gruntfile.js - -# configs -.tern-project -.gitattributes -.editorconfig -.*ignore -.eslintrc -.jshintrc -.flowconfig -.documentup.json -.yarn-metadata.json -.*.yml -*.yml - -# misc -*.gz -*.md diff --git a/src/functions/build-dispatcher/index.js b/src/functions/build-dispatcher/index.js deleted file mode 100644 index 103b01f..0000000 --- a/src/functions/build-dispatcher/index.js +++ /dev/null @@ -1,63 +0,0 @@ -'use strict' - -// TODO: too dirty - -const AWS = require('aws-sdk'), - codebuild = new AWS.CodeBuild() - -const GitHubApi = require('github'), - github = new GitHubApi({version: '3.0.0'}) - -const ghUrl = require('parse-github-url'), - repo = ghUrl(process.env.GITHUB_REPOSITORY_URL) - -const region = process.env.CODEBUILD_PROJECT_REGION - -github.authenticate({type:'oauth', token: process.env.GITHUB_TOKEN}) - -exports.handler = (event, context, callback) => { - context.callbackWaitsForEmptyEventLoop = false - console.log('Received event:', JSON.stringify(event, null, 2)) - const sha = event.pull_request ? event.pull_request.head.sha : event.head_commit.id - const params = { - projectName: process.env.CODEBUILD_PROJECT_NAME, - sourceVersion: sha - } - codebuild.startBuild(params, (err, data) => { - // Create GitHub status - if (err) { - // If CodeBuild cannot start a build, save GitHub status as 'error' - console.log(err, err.stack) - github.repos.createStatus({ - owner: repo.owner, - repo: repo.name, - sha: sha, - state: 'error', - target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds`, - context: 'codebuild', - description: 'AWS CodeBuild has failed to start your tests' - }).then(() => { - callback(err) - }).catch((err) => { - callback(err) - }) - } else { - let build = data.build - github.repos.createStatus({ - owner: repo.owner, - repo: repo.name, - sha: sha, - state: 'pending', - target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds/${data.build.id}/view/new`, - context: 'codebuild', - description: 'AWS CodeBuild is running your tests' - }).then((data) => { - console.log(data) - callback(null, build) - }).catch((err) => { - console.log(err, err.stack) - callback(err) - }) - } - }) -} diff --git a/src/functions/build-dispatcher/package.json b/src/functions/build-dispatcher/package.json deleted file mode 100644 index 85fd4ec..0000000 --- a/src/functions/build-dispatcher/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "build-dispatcher", - "description": "", - "engines": { - "node": ">=6.1" - }, - "author": "toricls", - "license": "MIT", - "dependencies": { - "github": "^9.3.1", - "parse-github-url": "^1.0.0" - }, - "devDependencies": { - "aws-sdk": "^2.102.0" - } -} diff --git a/src/functions/build-dispatcher/yarn.lock b/src/functions/build-dispatcher/yarn.lock deleted file mode 100644 index 2ba156a..0000000 --- a/src/functions/build-dispatcher/yarn.lock +++ /dev/null @@ -1,159 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -agent-base@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" - dependencies: - extend "~3.0.0" - semver "~5.0.1" - -aws-sdk@^2.102.0: - version "2.102.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.102.0.tgz#70e52a8eff63de4c68e1d08c5c37db5561324340" - dependencies: - buffer "4.9.1" - crypto-browserify "1.0.9" - events "^1.1.1" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.0.1" - xml2js "0.4.17" - xmlbuilder "4.2.1" - -base64-js@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -buffer@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -crypto-browserify@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" - -debug@2, debug@^2.2.0: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - -events@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -extend@3, extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -follow-redirects@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919" - dependencies: - debug "^2.2.0" - stream-consume "^0.1.0" - -github@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/github/-/github-9.3.1.tgz#6a3c5a9cc2a1cd0b5d097a47baefb9d11caef89e" - dependencies: - follow-redirects "0.0.7" - https-proxy-agent "^1.0.0" - mime "^1.2.11" - netrc "^0.1.4" - -https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - -lodash@^4.0.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -mime@^1.2.11: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -netrc@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" - -parse-github-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.0.tgz#d0c50b592d5a252c61a8540a421dfe8e571cf45a" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" - -stream-consume@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -uuid@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -xml2js@0.4.17: - version "0.4.17" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" - dependencies: - sax ">=0.6.0" - xmlbuilder "^4.1.0" - -xmlbuilder@4.2.1, xmlbuilder@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" - dependencies: - lodash "^4.0.0" diff --git a/src/functions/build-result-exporter/.yarnclean b/src/functions/build-result-exporter/.yarnclean deleted file mode 100644 index 25bdd14..0000000 --- a/src/functions/build-result-exporter/.yarnclean +++ /dev/null @@ -1,42 +0,0 @@ -# test directories -__tests__ -test -tests -powered-test - -# asset directories -docs -doc -website -images -assets - -# examples -example -examples - -# code coverage directories -coverage -.nyc_output - -# build scripts -Makefile -Gulpfile.js -Gruntfile.js - -# configs -.tern-project -.gitattributes -.editorconfig -.*ignore -.eslintrc -.jshintrc -.flowconfig -.documentup.json -.yarn-metadata.json -.*.yml -*.yml - -# misc -*.gz -*.md diff --git a/src/functions/build-result-exporter/index.js b/src/functions/build-result-exporter/index.js deleted file mode 100644 index ff6bb79..0000000 --- a/src/functions/build-result-exporter/index.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict' - -const AWS = require('aws-sdk'), - codebuild = new AWS.CodeBuild() - -exports.handler = (event, context, callback) => { - context.callbackWaitsForEmptyEventLoop = false - //console.log('Received event:', JSON.stringify(event, null, 2)) - const params = { - ids: [event.id] - } - codebuild.batchGetBuilds(params, function(err, data) { - if (err) { - console.log(err, err.stack) - context.fail(err) - callback(err) - } else { - //console.log('Build: ', JSON.stringify(data.builds, null, 2)) - callback(null, data.builds[0]) - } - }) -} diff --git a/src/functions/build-result-exporter/package.json b/src/functions/build-result-exporter/package.json deleted file mode 100644 index 6e728e0..0000000 --- a/src/functions/build-result-exporter/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "build-result-exporter", - "description": "", - "engines": { - "node": ">=6.1" - }, - "author": "toricls", - "license": "MIT", - "devDependencies": { - "aws-sdk": "^2.102.0" - } -} diff --git a/src/functions/build-result-exporter/yarn.lock b/src/functions/build-result-exporter/yarn.lock deleted file mode 100644 index 5767744..0000000 --- a/src/functions/build-result-exporter/yarn.lock +++ /dev/null @@ -1,94 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -aws-sdk@^2.102.0: - version "2.102.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.102.0.tgz#70e52a8eff63de4c68e1d08c5c37db5561324340" - dependencies: - buffer "4.9.1" - crypto-browserify "1.0.9" - events "^1.1.1" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.0.1" - xml2js "0.4.17" - xmlbuilder "4.2.1" - -base64-js@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -buffer@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -crypto-browserify@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" - -events@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - -lodash@^4.0.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -uuid@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -xml2js@0.4.17: - version "0.4.17" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" - dependencies: - sax ">=0.6.0" - xmlbuilder "^4.1.0" - -xmlbuilder@4.2.1, xmlbuilder@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" - dependencies: - lodash "^4.0.0" diff --git a/src/functions/build-result-notifier/.yarnclean b/src/functions/build-result-notifier/.yarnclean deleted file mode 100644 index 25bdd14..0000000 --- a/src/functions/build-result-notifier/.yarnclean +++ /dev/null @@ -1,42 +0,0 @@ -# test directories -__tests__ -test -tests -powered-test - -# asset directories -docs -doc -website -images -assets - -# examples -example -examples - -# code coverage directories -coverage -.nyc_output - -# build scripts -Makefile -Gulpfile.js -Gruntfile.js - -# configs -.tern-project -.gitattributes -.editorconfig -.*ignore -.eslintrc -.jshintrc -.flowconfig -.documentup.json -.yarn-metadata.json -.*.yml -*.yml - -# misc -*.gz -*.md diff --git a/src/functions/build-result-notifier/yarn.lock b/src/functions/build-result-notifier/yarn.lock deleted file mode 100644 index 2ba156a..0000000 --- a/src/functions/build-result-notifier/yarn.lock +++ /dev/null @@ -1,159 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -agent-base@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" - dependencies: - extend "~3.0.0" - semver "~5.0.1" - -aws-sdk@^2.102.0: - version "2.102.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.102.0.tgz#70e52a8eff63de4c68e1d08c5c37db5561324340" - dependencies: - buffer "4.9.1" - crypto-browserify "1.0.9" - events "^1.1.1" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.0.1" - xml2js "0.4.17" - xmlbuilder "4.2.1" - -base64-js@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" - -buffer@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -crypto-browserify@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" - -debug@2, debug@^2.2.0: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" - -events@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - -extend@3, extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -follow-redirects@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919" - dependencies: - debug "^2.2.0" - stream-consume "^0.1.0" - -github@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/github/-/github-9.3.1.tgz#6a3c5a9cc2a1cd0b5d097a47baefb9d11caef89e" - dependencies: - follow-redirects "0.0.7" - https-proxy-agent "^1.0.0" - mime "^1.2.11" - netrc "^0.1.4" - -https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" - -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" - -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -jmespath@0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" - -lodash@^4.0.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -mime@^1.2.11: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -netrc@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" - -parse-github-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.0.tgz#d0c50b592d5a252c61a8540a421dfe8e571cf45a" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - -sax@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" - -sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" - -stream-consume@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" - -url@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -uuid@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -xml2js@0.4.17: - version "0.4.17" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" - dependencies: - sax ">=0.6.0" - xmlbuilder "^4.1.0" - -xmlbuilder@4.2.1, xmlbuilder@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" - dependencies: - lodash "^4.0.0" diff --git a/src/functions/build-result-notifier/index.js b/src/functions/build-state-notifier/index.js similarity index 68% rename from src/functions/build-result-notifier/index.js rename to src/functions/build-state-notifier/index.js index 18c3ae3..c305bf6 100644 --- a/src/functions/build-result-notifier/index.js +++ b/src/functions/build-state-notifier/index.js @@ -1,6 +1,6 @@ 'use strict' -const GitHubApi = require('github'), +const GitHubApi = require('@octokit/rest'), github = new GitHubApi({version: '3.0.0'}) const ghUrl = require('parse-github-url'), repo = ghUrl(process.env.GITHUB_REPOSITORY_URL) @@ -12,9 +12,11 @@ github.authenticate({type:'oauth', token: process.env.GITHUB_TOKEN}) exports.handler = (event, context, callback) => { context.callbackWaitsForEmptyEventLoop = false //console.log('Received event:', JSON.stringify(event, null, 2)) - console.log(`Build status: ${event.buildStatus}, Commit hash: ${event.sourceVersion}`) + const sha = event.detail['additional-information']['source-version'] + const buildId = event.detail['build-id'].split('build/')[1] + console.log(`Build status: ${event.detail['build-status']}, Commit hash: ${sha}`) - const status = codeBuildStatusToGitHubStatus(event.buildStatus) + const status = codeBuildStatusToGitHubStatus(event.detail['build-status']) if (status.state === '') { callback(status.errorMessage) } @@ -22,11 +24,11 @@ exports.handler = (event, context, callback) => { github.repos.createStatus({ owner: repo.owner, repo: repo.name, - sha: event.sourceVersion, + sha: sha, state: status.state, - target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds/${event.id}/view/new`, + target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds/${buildId}/view/new`, context: 'codebuild', - description: status.msg + description: status.message }).then((data) => { callback(null, data) }).catch((err) => { diff --git a/src/functions/build-result-notifier/lib/codebuild-status-to-github-status.js b/src/functions/build-state-notifier/lib/codebuild-status-to-github-status.js similarity index 78% rename from src/functions/build-result-notifier/lib/codebuild-status-to-github-status.js rename to src/functions/build-state-notifier/lib/codebuild-status-to-github-status.js index 4998795..bc3d78b 100644 --- a/src/functions/build-result-notifier/lib/codebuild-status-to-github-status.js +++ b/src/functions/build-state-notifier/lib/codebuild-status-to-github-status.js @@ -15,16 +15,16 @@ exports.codeBuildStatusToGitHubStatus = (codeBuildStatus) => { break case 'IN_PROGRESS': state = 'pending' - msg = 'AWS CodeBuild is running your tests...' + msg = 'AWS CodeBuild is running your tests' break case 'FAULT': case 'STOPPED': case 'TIMED_OUT': state = 'error' - msg = 'Something wrong happened on AWS CodeBuild' + msg = `Something wrong happened on AWS CodeBuild: ${codeBuildStatus}` break default: - errMsg = `Unknown CodeBuilg buildStatus: ${codeBuildStatus}` + errMsg = `Unknown CodeBuild buildStatus: ${codeBuildStatus}` console.log(errMsg) } return { diff --git a/src/functions/build-result-notifier/lib/codebuild-status-to-github-status.test.js b/src/functions/build-state-notifier/lib/codebuild-status-to-github-status.test.js similarity index 91% rename from src/functions/build-result-notifier/lib/codebuild-status-to-github-status.test.js rename to src/functions/build-state-notifier/lib/codebuild-status-to-github-status.test.js index 2d82b1a..8b5b2db 100644 --- a/src/functions/build-result-notifier/lib/codebuild-status-to-github-status.test.js +++ b/src/functions/build-state-notifier/lib/codebuild-status-to-github-status.test.js @@ -4,8 +4,8 @@ let assert = require('assert') let codeBuildStatusToGitHubStatus = require('./codebuild-status-to-github-status').codeBuildStatusToGitHubStatus -describe('should-ignore', () => { - describe('shouldIgnore', () => { +describe('codebuild-status-to-github-status', () => { + describe('shouldReturn', () => { it('should return success status if CodeBuild has done without any problem', () => { var result = codeBuildStatusToGitHubStatus('SUCCEEDED') assert.equal('success', result.state) @@ -34,7 +34,7 @@ describe('should-ignore', () => { var result = codeBuildStatusToGitHubStatus('UNKNOWN_VALUE') assert.equal('', result.state) assert.equal('', result.message) - assert.equal('Unknown CodeBuilg buildStatus: UNKNOWN_VALUE', result.errorMessage) + assert.equal('Unknown CodeBuild buildStatus: UNKNOWN_VALUE', result.errorMessage) }) }) }) diff --git a/src/functions/build-result-notifier/package.json b/src/functions/build-state-notifier/package.json similarity index 72% rename from src/functions/build-result-notifier/package.json rename to src/functions/build-state-notifier/package.json index b14ec00..80e49a3 100644 --- a/src/functions/build-result-notifier/package.json +++ b/src/functions/build-state-notifier/package.json @@ -2,15 +2,15 @@ "name": "build-result-notifier", "description": "", "engines": { - "node": ">=6.1" + "node": ">=14.1" }, "author": "toricls", "license": "MIT", "dependencies": { - "github": "^9.3.1", + "@octokit/rest": "^18.0.0", "parse-github-url": "^1.0.0" }, "devDependencies": { - "aws-sdk": "^2.102.0" + "aws-sdk": "^2.814.0" } } diff --git a/src/functions/build-state-notifier/yarn.lock b/src/functions/build-state-notifier/yarn.lock new file mode 100644 index 0000000..6802e03 --- /dev/null +++ b/src/functions/build-state-notifier/yarn.lock @@ -0,0 +1,254 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@octokit/auth-token@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" + integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== + dependencies: + "@octokit/types" "^5.0.0" + +"@octokit/core@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.1.2.tgz#c937d5f9621b764573068fcd2e5defcc872fd9cc" + integrity sha512-AInOFULmwOa7+NFi9F8DlDkm5qtZVmDQayi7TUgChE3yeIGPq0Y+6cAEXPexQ3Ea+uZy66hKEazR7DJyU+4wfw== + dependencies: + "@octokit/auth-token" "^2.4.0" + "@octokit/graphql" "^4.3.1" + "@octokit/request" "^5.4.0" + "@octokit/types" "^5.0.0" + before-after-hook "^2.1.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.8" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.8.tgz#91b07e236fdb69929c678c6439f7a560dc6058ac" + integrity sha512-MuRrgv+bM4Q+e9uEvxAB/Kf+Sj0O2JAOBA131uo1o6lgdq1iS8ejKwtqHgdfY91V3rN9R/hdGKFiQYMzVzVBEQ== + dependencies: + "@octokit/types" "^5.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.3.1": + version "4.5.6" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.6.tgz#708143ba15cf7c1879ed6188266e7f270be805d4" + integrity sha512-Rry+unqKTa3svswT2ZAuqenpLrzJd+JTv89LTeVa5UM/5OX8o4KTkPL7/1ABq4f/ZkELb0XEK/2IEoYwykcLXg== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/plugin-paginate-rest@^2.2.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.4.0.tgz#92f951ddc8a1cd505353fa07650752ca25ed7e93" + integrity sha512-YT6Klz3LLH6/nNgi0pheJnUmTFW4kVnxGft+v8Itc41IIcjl7y1C8TatmKQBbCSuTSNFXO5pCENnqg6sjwpJhg== + dependencies: + "@octokit/types" "^5.5.0" + +"@octokit/plugin-request-log@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" + integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + +"@octokit/plugin-rest-endpoint-methods@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.0.tgz#c5a0691b3aba5d8b4ef5dffd6af3649608f167ba" + integrity sha512-1/qn1q1C1hGz6W/iEDm9DoyNoG/xdFDt78E3eZ5hHeUfJTLJgyAMdj9chL/cNBHjcjd+FH5aO1x0VCqR2RE0mw== + dependencies: + "@octokit/types" "^5.5.0" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" + integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== + dependencies: + "@octokit/types" "^5.0.1" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0", "@octokit/request@^5.4.0": + version "5.4.9" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" + integrity sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^5.0.0" + deprecation "^2.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + once "^1.4.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.0.0": + version "18.0.6" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.6.tgz#76c274f1a68f40741a131768ef483f041e7b98b6" + integrity sha512-ES4lZBKPJMX/yUoQjAZiyFjei9pJ4lTTfb9k7OtYoUzKPDLl/M8jiHqt6qeSauyU4eZGLw0sgP1WiQl9FYeM5w== + dependencies: + "@octokit/core" "^3.0.0" + "@octokit/plugin-paginate-rest" "^2.2.0" + "@octokit/plugin-request-log" "^1.0.0" + "@octokit/plugin-rest-endpoint-methods" "4.2.0" + +"@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" + integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== + dependencies: + "@types/node" ">= 8" + +"@types/node@>= 8": + version "14.11.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" + integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== + +aws-sdk@^2.814.0: + version "2.814.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.814.0.tgz#7a1c36006e0b5826f14bd2511b1d229ef6814bb0" + integrity sha512-empd1m/J/MAkL6d9OeRpmg9thobULu0wk4v8W3JToaxGi2TD7PIdvE6yliZKyOVAdJINhBWEBhxR4OUIHhcGbQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.15.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + +base64-js@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" + +before-after-hook@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +events@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== + +ieee754@1.1.13, ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +isarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +jmespath@0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + +node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +parse-github-url@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" + integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +sax@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" + +sax@>=0.6.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + +url@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== diff --git a/src/functions/github-webhook-handler/.yarnclean b/src/functions/github-webhook-handler/.yarnclean deleted file mode 100644 index 25bdd14..0000000 --- a/src/functions/github-webhook-handler/.yarnclean +++ /dev/null @@ -1,42 +0,0 @@ -# test directories -__tests__ -test -tests -powered-test - -# asset directories -docs -doc -website -images -assets - -# examples -example -examples - -# code coverage directories -coverage -.nyc_output - -# build scripts -Makefile -Gulpfile.js -Gruntfile.js - -# configs -.tern-project -.gitattributes -.editorconfig -.*ignore -.eslintrc -.jshintrc -.flowconfig -.documentup.json -.yarn-metadata.json -.*.yml -*.yml - -# misc -*.gz -*.md diff --git a/src/functions/github-webhook-handler/index.js b/src/functions/github-webhook-handler/index.js index 9bd0579..2afeb0a 100644 --- a/src/functions/github-webhook-handler/index.js +++ b/src/functions/github-webhook-handler/index.js @@ -1,8 +1,8 @@ 'use strict' const AWS = require('aws-sdk'), - stepfunctions = new AWS.StepFunctions() -const GitHubApi = require('github'), + codebuild = new AWS.CodeBuild() +const GitHubApi = require('@octokit/rest'), github = new GitHubApi({version: '3.0.0'}) const ghUrl = require('parse-github-url'), repo = ghUrl(process.env.GITHUB_REPOSITORY_URL) @@ -20,44 +20,51 @@ exports.handler = (event, context, callback) => { const eventType = ghEventType(ghEvent), eventAction = ghEvent.action ? ghEvent.action : '', - branchName = ghEvent.ref ? ghEvent.ref : ghEvent.ref.replace('refs/heads','') - if (shouldIgnore(eventType, eventAction, branchName)) { + branchName = ghEvent.ref ? ghEvent.ref : ghEvent.ref.replace('refs/heads',''), + commitMessage = ghEvent.head_commit ? ghEvent.head_commit.message : '' + if (shouldIgnore(eventType, eventAction, branchName, commitMessage)) { callback() } - // Create GitHub pending status + // Execute CodeBuild Project const sha = ghEvent.pull_request ? ghEvent.pull_request.head.sha : ghEvent.head_commit.id - const p = new Promise((resolve) => { - github.repos.createStatus({ - owner: repo.owner, - repo: repo.name, - sha: sha, - state: 'pending', - target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds`, - context: 'codebuild', - description: 'AWS CodeBuild is preparing your tests...' - }).then((data) => { - console.log(data) - resolve('status created') - }).catch((err) => { - console.log(err) - resolve('status creation failed') - }) - }) - - // Execute Step Functions - p.then(() => { - const params = { - stateMachineArn: process.env.STEP_FUNCTIONS_ARN, - input: JSON.stringify(ghEvent) - } - stepfunctions.startExecution(params, function(err, data) { - if (err) { - console.log(err, err.stack) + const params = { + projectName: process.env.CODEBUILD_PROJECT_NAME, + sourceVersion: sha + } + codebuild.startBuild(params, (err, data) => { + // Create GitHub status + if (err) { + // If CodeBuild couldn't start a build, save GitHub status as 'error' + console.log(err, err.stack) + github.repos.createStatus({ + owner: repo.owner, + repo: repo.name, + sha: sha, + state: 'error', + target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds`, + context: 'codebuild', + description: 'AWS CodeBuild has failed to start your tests' + }).then(() => { callback(err) - } else { + }).catch((err) => { + callback(err) + }) + } else { + github.repos.createStatus({ + owner: repo.owner, + repo: repo.name, + sha: sha, + state: 'pending', + target_url: `https://${region}.console.aws.amazon.com/codebuild/home?region=${region}#/builds/${data.build.id}/view/new`, + context: 'codebuild', + description: 'AWS CodeBuild is starting your tests' + }).then((data) => { callback(null, data) - } - }) + }).catch((err) => { + console.log(err, err.stack) + callback(err) + }) + } }) } diff --git a/src/functions/github-webhook-handler/lib/event-types.test.js b/src/functions/github-webhook-handler/lib/event-types.test.js index b1a3ece..80a30e2 100644 --- a/src/functions/github-webhook-handler/lib/event-types.test.js +++ b/src/functions/github-webhook-handler/lib/event-types.test.js @@ -2,18 +2,21 @@ let assert = require('assert') -let pushedEvent = JSON.parse(require('../../../../test/fixtures/pushed').Records[0].Sns.Message) -let prCreatedEvent = JSON.parse(require('../../../../test/fixtures/pr-created').Records[0].Sns.Message) +let pushedEvent = require('../../../../test/fixtures/pushed') +let prCreatedEvent = require('../../../../test/fixtures/pr-created') +let snsnize = require('./snsnizer').snsnize let ghEventType = require('./event-types').ghEventType describe('event-types', function() { describe('ghEventType', function() { it('should return "push" when the event is pushed event', function() { - assert.equal('push', ghEventType(pushedEvent)) + const message = JSON.parse(snsnize(pushedEvent).Records[0].Sns.Message) + assert.equal('push', ghEventType(message)) }) it('should return "pr" when the event is pr-created event', function() { - assert.equal('pr', ghEventType(prCreatedEvent)) + const message = JSON.parse(snsnize(prCreatedEvent).Records[0].Sns.Message) + assert.equal('pr', ghEventType(message)) }) }) }) diff --git a/src/functions/github-webhook-handler/lib/should-ignore.js b/src/functions/github-webhook-handler/lib/should-ignore.js index eaf2407..b92b1f0 100644 --- a/src/functions/github-webhook-handler/lib/should-ignore.js +++ b/src/functions/github-webhook-handler/lib/should-ignore.js @@ -1,14 +1,14 @@ 'use strict' // eventType is a string from lib/event-types. -exports.shouldIgnore = (eventType, eventAction, branchName) => { +exports.shouldIgnore = (eventType, eventAction = '', branchName = '', commitMessage = '') => { // Temporarily disabled if (process.env.DO_NOT_RUN+'' === 'true') { console.log('`DO_NOT_RUN` option is enabled. We ignore the webhook event this time.') return true } - let target = process.env.GITHUB_TARGET_RESOURCE + const target = process.env.GITHUB_TARGET_RESOURCE // Ignore if the type of this event is not target if (target !== eventType) { console.log(`${eventType} is not configured as a target. configured target is: ${target}`) @@ -19,14 +19,18 @@ exports.shouldIgnore = (eventType, eventAction, branchName) => { console.log('Closed PR.') return true } + // Ignore if the commit message includes specific text + const ignoreKeyword = process.env.BUILD_SKIPPED_BY + if (eventType === 'push' && commitMessage.indexOf(ignoreKeyword) !== -1) { + console.log(`The push is ignored because the message of the head commit includes the keyword "${ignoreKeyword}".`) + return true + } // Ignore specific branches if (eventType === 'push' && process.env.GITHUB_IGNORE_BRANCH_REGEX.trim() !== '') { let re = new RegExp('^' + process.env.GITHUB_IGNORE_BRANCH_REGEX.trim() + '$', 'g') if (re.test(branchName)) { console.log(`Branch "${branchName}" is ignored by configuration.`) return true - } else { - console.log('NOT MATCHED') } } return false diff --git a/src/functions/github-webhook-handler/lib/should-ignore.test.js b/src/functions/github-webhook-handler/lib/should-ignore.test.js index 16191f7..7d9d5ed 100644 --- a/src/functions/github-webhook-handler/lib/should-ignore.test.js +++ b/src/functions/github-webhook-handler/lib/should-ignore.test.js @@ -27,6 +27,11 @@ describe('should-ignore', () => { process.env.GITHUB_IGNORE_BRANCH_REGEX = 'wip.*' assert.equal(true, shouldIgnore('push', '', 'wip-branch')) }) + it('should ignore the push event if the message of the head commit has the keyword to be ignored', () => { + process.env.GITHUB_TARGET_RESOURCE = 'push' + process.env.BUILD_SKIPPED_BY = 'skip ci' + assert.equal(true, shouldIgnore('push', '', 'master', '[skip ci] This commit should be ignored')) + }) it('should NOT ignore the push event if the branch is NOT ignored by GITHUB_IGNORE_BRANCH_REGEX', () => { process.env.GITHUB_TARGET_RESOURCE = 'push' process.env.GITHUB_IGNORE_BRANCH_REGEX = 'wip.*' diff --git a/src/functions/github-webhook-handler/lib/snsnizer.js b/src/functions/github-webhook-handler/lib/snsnizer.js new file mode 100644 index 0000000..0c277c2 --- /dev/null +++ b/src/functions/github-webhook-handler/lib/snsnizer.js @@ -0,0 +1,13 @@ +'use strict' + +// Returns a SNS-styled JSON obj which has `jsonToMessageBody` as `Message` value. +// This method expects to be used as a unit-test helper. +exports.snsnize = (jsonToMessageBody) => { + return { + Records: [{ + Sns: { + Message: JSON.stringify(jsonToMessageBody) + } + }] + } +} diff --git a/src/functions/github-webhook-handler/package.json b/src/functions/github-webhook-handler/package.json index 68f86a7..d1dfb7f 100644 --- a/src/functions/github-webhook-handler/package.json +++ b/src/functions/github-webhook-handler/package.json @@ -2,15 +2,15 @@ "name": "github-webhook-handler", "description": "", "engines": { - "node": ">=6.1" + "node": ">=14.1" }, "author": "toricls", "license": "MIT", "dependencies": { - "github": "^9.3.1", + "@octokit/rest": "^18.0.0", "parse-github-url": "^1.0.0" }, "devDependencies": { - "aws-sdk": "^2.102.0" + "aws-sdk": "^2.814.0" } } diff --git a/src/functions/github-webhook-handler/yarn.lock b/src/functions/github-webhook-handler/yarn.lock index 2ba156a..0f98afc 100644 --- a/src/functions/github-webhook-handler/yarn.lock +++ b/src/functions/github-webhook-handler/yarn.lock @@ -2,85 +2,160 @@ # yarn lockfile v1 -agent-base@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" +"@octokit/auth-token@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" + integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== dependencies: - extend "~3.0.0" - semver "~5.0.1" + "@octokit/types" "^5.0.0" -aws-sdk@^2.102.0: - version "2.102.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.102.0.tgz#70e52a8eff63de4c68e1d08c5c37db5561324340" +"@octokit/core@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.1.2.tgz#c937d5f9621b764573068fcd2e5defcc872fd9cc" + integrity sha512-AInOFULmwOa7+NFi9F8DlDkm5qtZVmDQayi7TUgChE3yeIGPq0Y+6cAEXPexQ3Ea+uZy66hKEazR7DJyU+4wfw== dependencies: - buffer "4.9.1" - crypto-browserify "1.0.9" - events "^1.1.1" + "@octokit/auth-token" "^2.4.0" + "@octokit/graphql" "^4.3.1" + "@octokit/request" "^5.4.0" + "@octokit/types" "^5.0.0" + before-after-hook "^2.1.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.8" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.8.tgz#91b07e236fdb69929c678c6439f7a560dc6058ac" + integrity sha512-MuRrgv+bM4Q+e9uEvxAB/Kf+Sj0O2JAOBA131uo1o6lgdq1iS8ejKwtqHgdfY91V3rN9R/hdGKFiQYMzVzVBEQ== + dependencies: + "@octokit/types" "^5.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.3.1": + version "4.5.6" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.6.tgz#708143ba15cf7c1879ed6188266e7f270be805d4" + integrity sha512-Rry+unqKTa3svswT2ZAuqenpLrzJd+JTv89LTeVa5UM/5OX8o4KTkPL7/1ABq4f/ZkELb0XEK/2IEoYwykcLXg== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/plugin-paginate-rest@^2.2.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.4.0.tgz#92f951ddc8a1cd505353fa07650752ca25ed7e93" + integrity sha512-YT6Klz3LLH6/nNgi0pheJnUmTFW4kVnxGft+v8Itc41IIcjl7y1C8TatmKQBbCSuTSNFXO5pCENnqg6sjwpJhg== + dependencies: + "@octokit/types" "^5.5.0" + +"@octokit/plugin-request-log@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" + integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + +"@octokit/plugin-rest-endpoint-methods@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.0.tgz#c5a0691b3aba5d8b4ef5dffd6af3649608f167ba" + integrity sha512-1/qn1q1C1hGz6W/iEDm9DoyNoG/xdFDt78E3eZ5hHeUfJTLJgyAMdj9chL/cNBHjcjd+FH5aO1x0VCqR2RE0mw== + dependencies: + "@octokit/types" "^5.5.0" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" + integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== + dependencies: + "@octokit/types" "^5.0.1" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0", "@octokit/request@^5.4.0": + version "5.4.9" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" + integrity sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^5.0.0" + deprecation "^2.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + once "^1.4.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.0.0": + version "18.0.6" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.6.tgz#76c274f1a68f40741a131768ef483f041e7b98b6" + integrity sha512-ES4lZBKPJMX/yUoQjAZiyFjei9pJ4lTTfb9k7OtYoUzKPDLl/M8jiHqt6qeSauyU4eZGLw0sgP1WiQl9FYeM5w== + dependencies: + "@octokit/core" "^3.0.0" + "@octokit/plugin-paginate-rest" "^2.2.0" + "@octokit/plugin-request-log" "^1.0.0" + "@octokit/plugin-rest-endpoint-methods" "4.2.0" + +"@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" + integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== + dependencies: + "@types/node" ">= 8" + +"@types/node@>= 8": + version "14.11.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" + integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== + +aws-sdk@^2.814.0: + version "2.814.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.814.0.tgz#7a1c36006e0b5826f14bd2511b1d229ef6814bb0" + integrity sha512-empd1m/J/MAkL6d9OeRpmg9thobULu0wk4v8W3JToaxGi2TD7PIdvE6yliZKyOVAdJINhBWEBhxR4OUIHhcGbQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" jmespath "0.15.0" querystring "0.2.0" sax "1.2.1" url "0.10.3" - uuid "3.0.1" - xml2js "0.4.17" - xmlbuilder "4.2.1" + uuid "3.3.2" + xml2js "0.4.19" base64-js@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" -buffer@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" +before-after-hook@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" isarray "^1.0.0" -crypto-browserify@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" - -debug@2, debug@^2.2.0: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -events@^1.1.1: +events@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= -extend@3, extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -follow-redirects@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919" - dependencies: - debug "^2.2.0" - stream-consume "^0.1.0" - -github@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/github/-/github-9.3.1.tgz#6a3c5a9cc2a1cd0b5d097a47baefb9d11caef89e" - dependencies: - follow-redirects "0.0.7" - https-proxy-agent "^1.0.0" - mime "^1.2.11" - netrc "^0.1.4" - -https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" +ieee754@1.1.13, ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== isarray@^1.0.0: version "1.0.0" @@ -90,25 +165,24 @@ jmespath@0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" -lodash@^4.0.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -mime@^1.2.11: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" -netrc@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" +once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" parse-github-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.0.tgz#d0c50b592d5a252c61a8540a421dfe8e571cf45a" + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" + integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== punycode@1.3.2: version "1.3.2" @@ -126,13 +200,15 @@ sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -stream-consume@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== url@0.10.3: version "0.10.3" @@ -141,19 +217,38 @@ url@0.10.3: punycode "1.3.2" querystring "0.2.0" -uuid@3.0.1: +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -xml2js@0.4.17: - version "0.4.17" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== dependencies: sax ">=0.6.0" - xmlbuilder "^4.1.0" + xmlbuilder "~9.0.1" -xmlbuilder@4.2.1, xmlbuilder@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" - dependencies: - lodash "^4.0.0" +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= diff --git a/src/functions/github-webhook-resource/.yarnclean b/src/functions/github-webhook-resource/.yarnclean deleted file mode 100644 index 25bdd14..0000000 --- a/src/functions/github-webhook-resource/.yarnclean +++ /dev/null @@ -1,42 +0,0 @@ -# test directories -__tests__ -test -tests -powered-test - -# asset directories -docs -doc -website -images -assets - -# examples -example -examples - -# code coverage directories -coverage -.nyc_output - -# build scripts -Makefile -Gulpfile.js -Gruntfile.js - -# configs -.tern-project -.gitattributes -.editorconfig -.*ignore -.eslintrc -.jshintrc -.flowconfig -.documentup.json -.yarn-metadata.json -.*.yml -*.yml - -# misc -*.gz -*.md diff --git a/src/functions/github-webhook-resource/index.js b/src/functions/github-webhook-resource/index.js index 1ac6e15..0e7f0a4 100644 --- a/src/functions/github-webhook-resource/index.js +++ b/src/functions/github-webhook-resource/index.js @@ -1,6 +1,6 @@ 'use strict' -const GitHubApi = require('github'), +const GitHubApi = require('@octokit/rest'), github = new GitHubApi({version: '3.0.0'}) const response = require('cfn-response') const ghUrl = require('parse-github-url'), diff --git a/src/functions/github-webhook-resource/package.json b/src/functions/github-webhook-resource/package.json index 0c19bf5..2b3cbfc 100644 --- a/src/functions/github-webhook-resource/package.json +++ b/src/functions/github-webhook-resource/package.json @@ -2,16 +2,16 @@ "name": "build-dispatcher", "description": "", "engines": { - "node": ">=6.1" + "node": ">=14.1" }, "author": "toricls", "license": "MIT", "dependencies": { "cfn-response": "^1.0.1", - "github": "^9.3.1", + "@octokit/rest": "^18.0.0", "parse-github-url": "^1.0.0" }, "devDependencies": { - "aws-sdk": "^2.102.0" + "aws-sdk": "^2.814.0" } } diff --git a/src/functions/github-webhook-resource/yarn.lock b/src/functions/github-webhook-resource/yarn.lock index 1c44e72..ed1bf06 100644 --- a/src/functions/github-webhook-resource/yarn.lock +++ b/src/functions/github-webhook-resource/yarn.lock @@ -2,35 +2,136 @@ # yarn lockfile v1 -agent-base@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" +"@octokit/auth-token@^2.4.0": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.2.tgz#10d0ae979b100fa6b72fa0e8e63e27e6d0dbff8a" + integrity sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ== dependencies: - extend "~3.0.0" - semver "~5.0.1" + "@octokit/types" "^5.0.0" -aws-sdk@^2.102.0: - version "2.102.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.102.0.tgz#70e52a8eff63de4c68e1d08c5c37db5561324340" +"@octokit/core@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-3.1.2.tgz#c937d5f9621b764573068fcd2e5defcc872fd9cc" + integrity sha512-AInOFULmwOa7+NFi9F8DlDkm5qtZVmDQayi7TUgChE3yeIGPq0Y+6cAEXPexQ3Ea+uZy66hKEazR7DJyU+4wfw== dependencies: - buffer "4.9.1" - crypto-browserify "1.0.9" - events "^1.1.1" + "@octokit/auth-token" "^2.4.0" + "@octokit/graphql" "^4.3.1" + "@octokit/request" "^5.4.0" + "@octokit/types" "^5.0.0" + before-after-hook "^2.1.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^6.0.1": + version "6.0.8" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-6.0.8.tgz#91b07e236fdb69929c678c6439f7a560dc6058ac" + integrity sha512-MuRrgv+bM4Q+e9uEvxAB/Kf+Sj0O2JAOBA131uo1o6lgdq1iS8ejKwtqHgdfY91V3rN9R/hdGKFiQYMzVzVBEQ== + dependencies: + "@octokit/types" "^5.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^4.3.1": + version "4.5.6" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-4.5.6.tgz#708143ba15cf7c1879ed6188266e7f270be805d4" + integrity sha512-Rry+unqKTa3svswT2ZAuqenpLrzJd+JTv89LTeVa5UM/5OX8o4KTkPL7/1ABq4f/ZkELb0XEK/2IEoYwykcLXg== + dependencies: + "@octokit/request" "^5.3.0" + "@octokit/types" "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/plugin-paginate-rest@^2.2.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.4.0.tgz#92f951ddc8a1cd505353fa07650752ca25ed7e93" + integrity sha512-YT6Klz3LLH6/nNgi0pheJnUmTFW4kVnxGft+v8Itc41IIcjl7y1C8TatmKQBbCSuTSNFXO5pCENnqg6sjwpJhg== + dependencies: + "@octokit/types" "^5.5.0" + +"@octokit/plugin-request-log@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz#eef87a431300f6148c39a7f75f8cfeb218b2547e" + integrity sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw== + +"@octokit/plugin-rest-endpoint-methods@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-4.2.0.tgz#c5a0691b3aba5d8b4ef5dffd6af3649608f167ba" + integrity sha512-1/qn1q1C1hGz6W/iEDm9DoyNoG/xdFDt78E3eZ5hHeUfJTLJgyAMdj9chL/cNBHjcjd+FH5aO1x0VCqR2RE0mw== + dependencies: + "@octokit/types" "^5.5.0" + deprecation "^2.3.1" + +"@octokit/request-error@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-2.0.2.tgz#0e76b83f5d8fdda1db99027ea5f617c2e6ba9ed0" + integrity sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw== + dependencies: + "@octokit/types" "^5.0.1" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^5.3.0", "@octokit/request@^5.4.0": + version "5.4.9" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-5.4.9.tgz#0a46f11b82351b3416d3157261ad9b1558c43365" + integrity sha512-CzwVvRyimIM1h2n9pLVYfTDmX9m+KHSgCpqPsY8F1NdEK8IaWqXhSBXsdjOBFZSpEcxNEeg4p0UO9cQ8EnOCLA== + dependencies: + "@octokit/endpoint" "^6.0.1" + "@octokit/request-error" "^2.0.0" + "@octokit/types" "^5.0.0" + deprecation "^2.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.1" + once "^1.4.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@^18.0.0": + version "18.0.6" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-18.0.6.tgz#76c274f1a68f40741a131768ef483f041e7b98b6" + integrity sha512-ES4lZBKPJMX/yUoQjAZiyFjei9pJ4lTTfb9k7OtYoUzKPDLl/M8jiHqt6qeSauyU4eZGLw0sgP1WiQl9FYeM5w== + dependencies: + "@octokit/core" "^3.0.0" + "@octokit/plugin-paginate-rest" "^2.2.0" + "@octokit/plugin-request-log" "^1.0.0" + "@octokit/plugin-rest-endpoint-methods" "4.2.0" + +"@octokit/types@^5.0.0", "@octokit/types@^5.0.1", "@octokit/types@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-5.5.0.tgz#e5f06e8db21246ca102aa28444cdb13ae17a139b" + integrity sha512-UZ1pErDue6bZNjYOotCNveTXArOMZQFG6hKJfOnGnulVCMcVVi7YIIuuR4WfBhjo7zgpmzn/BkPDnUXtNx+PcQ== + dependencies: + "@types/node" ">= 8" + +"@types/node@>= 8": + version "14.11.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" + integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== + +aws-sdk@^2.814.0: + version "2.814.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.814.0.tgz#7a1c36006e0b5826f14bd2511b1d229ef6814bb0" + integrity sha512-empd1m/J/MAkL6d9OeRpmg9thobULu0wk4v8W3JToaxGi2TD7PIdvE6yliZKyOVAdJINhBWEBhxR4OUIHhcGbQ== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" jmespath "0.15.0" querystring "0.2.0" sax "1.2.1" url "0.10.3" - uuid "3.0.1" - xml2js "0.4.17" - xmlbuilder "4.2.1" + uuid "3.3.2" + xml2js "0.4.19" base64-js@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" -buffer@4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" +before-after-hook@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" + integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== + +buffer@4.9.2: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -40,51 +141,25 @@ cfn-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cfn-response/-/cfn-response-1.0.1.tgz#a8ec03950c0683c51495e8ca680d9dc0b884b137" -crypto-browserify@1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-1.0.9.tgz#cc5449685dfb85eb11c9828acc7cb87ab5bbfcc0" - -debug@2, debug@^2.2.0: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" - dependencies: - ms "2.0.0" +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -events@^1.1.1: +events@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= -extend@3, extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - -follow-redirects@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-0.0.7.tgz#34b90bab2a911aa347571da90f22bd36ecd8a919" - dependencies: - debug "^2.2.0" - stream-consume "^0.1.0" - -github@^9.3.1: - version "9.3.1" - resolved "https://registry.yarnpkg.com/github/-/github-9.3.1.tgz#6a3c5a9cc2a1cd0b5d097a47baefb9d11caef89e" - dependencies: - follow-redirects "0.0.7" - https-proxy-agent "^1.0.0" - mime "^1.2.11" - netrc "^0.1.4" - -https-proxy-agent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - dependencies: - agent-base "2" - debug "2" - extend "3" +ieee754@1.1.13, ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== -ieee754@^1.1.4: - version "1.1.8" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== isarray@^1.0.0: version "1.0.0" @@ -94,25 +169,24 @@ jmespath@0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" -lodash@^4.0.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -mime@^1.2.11: - version "1.3.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +node-fetch@^2.6.1: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" -netrc@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444" +once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" parse-github-url@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.0.tgz#d0c50b592d5a252c61a8540a421dfe8e571cf45a" + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" + integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== punycode@1.3.2: version "1.3.2" @@ -130,13 +204,15 @@ sax@>=0.6.0: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -stream-consume@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f" +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== url@0.10.3: version "0.10.3" @@ -145,19 +221,38 @@ url@0.10.3: punycode "1.3.2" querystring "0.2.0" -uuid@3.0.1: +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -xml2js@0.4.17: - version "0.4.17" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: - sax ">=0.6.0" - xmlbuilder "^4.1.0" + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -xmlbuilder@4.2.1, xmlbuilder@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" +xml2js@0.4.19: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== dependencies: - lodash "^4.0.0" + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= diff --git a/test/fixtures/pr-closed.json b/test/fixtures/pr-closed.json index f379333..deafc4f 100644 --- a/test/fixtures/pr-closed.json +++ b/test/fixtures/pr-closed.json @@ -1,7 +1,422 @@ { - "Records": [{ - "Sns": { - "Message": "{\"action\":\"closed\",\"number\":2,\"pull_request\":{\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\",\"id\":10,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\",\"diff_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.diff\",\"patch_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.patch\",\"issue_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\",\"number\":2,\"state\":\"closed\",\"locked\":false,\"title\":\"PR title\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"body!\",\"created_at\":\"2017-08-22T04:41:59Z\",\"updated_at\":\"2017-08-22T04:54:15Z\",\"closed_at\":\"2017-08-22T04:54:15Z\",\"merged_at\":null,\"merge_commit_sha\":\"ed30d493c996b174fea2c7cfa0a8d30dd2f802fe\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\",\"review_comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\",\"review_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"head\":{\"label\":\"gci-test-data:gci-test-data-patch-2\",\"ref\":\"gci-test-data-patch-2\",\"sha\":\"755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:42:00Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"gci-test-data:master\",\"ref\":\"master\",\"sha\":\"f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:42:00Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\"},\"html\":{\"href\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\"},\"issue\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\"},\"comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\"}},\"merged\":false,\"mergeable\":true,\"rebaseable\":true,\"mergeable_state\":\"clean\",\"merged_by\":null,\"comments\":0,\"review_comments\":0,\"maintainer_can_modify\":false,\"commits\":1,\"additions\":1,\"deletions\":0,\"changed_files\":1},\"repository\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:42:00Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"},\"sender\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false}}" - } - }] + "action": "closed", + "number": 2, + "pull_request": { + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2", + "id": 10, + "html_url": "https://github.com/gci-test-data/gci-test-repo/pull/2", + "diff_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.diff", + "patch_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.patch", + "issue_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2", + "number": 2, + "state": "closed", + "locked": false, + "title": "PR title", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "body": "body!", + "created_at": "2017-08-22T04:41:59Z", + "updated_at": "2017-08-22T04:54:15Z", + "closed_at": "2017-08-22T04:54:15Z", + "merged_at": null, + "merge_commit_sha": "ed30d493c996b174fea2c7cfa0a8d30dd2f802fe", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits", + "review_comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments", + "review_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "head": { + "label": "gci-test-data:gci-test-data-patch-2", + "ref": "gci-test-data-patch-2", + "sha": "755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:42:00Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "gci-test-data:master", + "ref": "master", + "sha": "f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:42:00Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2" + }, + "html": { + "href": "https://github.com/gci-test-data/gci-test-repo/pull/2" + }, + "issue": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2" + }, + "comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82" + } + }, + "merged": false, + "mergeable": true, + "rebaseable": true, + "mergeable_state": "clean", + "merged_by": null, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 1, + "deletions": 0, + "changed_files": 1 + }, + "repository": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:42:00Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + } } diff --git a/test/fixtures/pr-created.json b/test/fixtures/pr-created.json index 5242c46..d584ab1 100644 --- a/test/fixtures/pr-created.json +++ b/test/fixtures/pr-created.json @@ -1,7 +1,422 @@ { - "Records": [{ - "Sns": { - "Message": "{\"action\":\"opened\",\"number\":2,\"pull_request\":{\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\",\"id\":10,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\",\"diff_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.diff\",\"patch_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.patch\",\"issue_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\",\"number\":2,\"state\":\"open\",\"locked\":false,\"title\":\"PR title\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"body!\",\"created_at\":\"2017-08-22T04:41:59Z\",\"updated_at\":\"2017-08-22T04:41:59Z\",\"closed_at\":null,\"merged_at\":null,\"merge_commit_sha\":null,\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\",\"review_comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\",\"review_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"head\":{\"label\":\"gci-test-data:gci-test-data-patch-2\",\"ref\":\"gci-test-data-patch-2\",\"sha\":\"755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:40:39Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"gci-test-data:master\",\"ref\":\"master\",\"sha\":\"f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:40:39Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\"},\"html\":{\"href\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\"},\"issue\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\"},\"comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\"}},\"merged\":false,\"mergeable\":null,\"rebaseable\":null,\"mergeable_state\":\"unknown\",\"merged_by\":null,\"comments\":0,\"review_comments\":0,\"maintainer_can_modify\":false,\"commits\":1,\"additions\":1,\"deletions\":0,\"changed_files\":1},\"repository\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:40:39Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"},\"sender\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false}}" - } - }] + "action": "opened", + "number": 2, + "pull_request": { + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2", + "id": 10, + "html_url": "https://github.com/gci-test-data/gci-test-repo/pull/2", + "diff_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.diff", + "patch_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.patch", + "issue_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2", + "number": 2, + "state": "open", + "locked": false, + "title": "PR title", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "body": "body!", + "created_at": "2017-08-22T04:41:59Z", + "updated_at": "2017-08-22T04:41:59Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": null, + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits", + "review_comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments", + "review_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "head": { + "label": "gci-test-data:gci-test-data-patch-2", + "ref": "gci-test-data-patch-2", + "sha": "755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:40:39Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "gci-test-data:master", + "ref": "master", + "sha": "f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:40:39Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2" + }, + "html": { + "href": "https://github.com/gci-test-data/gci-test-repo/pull/2" + }, + "issue": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2" + }, + "comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82" + } + }, + "merged": false, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": null, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 1, + "deletions": 0, + "changed_files": 1 + }, + "repository": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:40:39Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + } } diff --git a/test/fixtures/pr-merged.json b/test/fixtures/pr-merged.json index a56c600..5ef0a47 100644 --- a/test/fixtures/pr-merged.json +++ b/test/fixtures/pr-merged.json @@ -1,7 +1,440 @@ { - "Records": [{ - "Sns": { - "Message": "{\"action\":\"closed\",\"number\":1,\"pull_request\":{\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1\",\"id\":136881585,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/1\",\"diff_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/1.diff\",\"patch_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/1.patch\",\"issue_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1\",\"number\":1,\"state\":\"closed\",\"locked\":false,\"title\":\"PR-title\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"\",\"created_at\":\"2017-08-22T02:53:19Z\",\"updated_at\":\"2017-08-22T04:39:29Z\",\"closed_at\":\"2017-08-22T04:39:29Z\",\"merged_at\":\"2017-08-22T04:39:29Z\",\"merge_commit_sha\":\"f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/commits\",\"review_comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/comments\",\"review_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1/comments\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/56ce2674f0afd0a66b773a2063078864c5f9f24c\",\"head\":{\"label\":\"gci-test-data:gci-test-data-patch-1\",\"ref\":\"gci-test-data-patch-1\",\"sha\":\"56ce2674f0afd0a66b773a2063078864c5f9f24c\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:39:29Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"gci-test-data:master\",\"ref\":\"master\",\"sha\":\"b21880e350cb19d67a3e5efb60cdb64e38e1f1eb\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:39:29Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1\"},\"html\":{\"href\":\"https://github.com/gci-test-data/gci-test-repo/pull/1\"},\"issue\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1\"},\"comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/56ce2674f0afd0a66b773a2063078864c5f9f24c\"}},\"merged\":true,\"mergeable\":null,\"rebaseable\":null,\"mergeable_state\":\"unknown\",\"merged_by\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"comments\":0,\"review_comments\":0,\"maintainer_can_modify\":false,\"commits\":1,\"additions\":3,\"deletions\":0,\"changed_files\":1},\"repository\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:39:29Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":1,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\"},\"sender\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false}}" - } - }] + "action": "closed", + "number": 1, + "pull_request": { + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1", + "id": 100, + "html_url": "https://github.com/gci-test-data/gci-test-repo/pull/1", + "diff_url": "https://github.com/gci-test-data/gci-test-repo/pull/1.diff", + "patch_url": "https://github.com/gci-test-data/gci-test-repo/pull/1.patch", + "issue_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1", + "number": 1, + "state": "closed", + "locked": false, + "title": "PR-title", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "body": "", + "created_at": "2017-08-22T02:53:19Z", + "updated_at": "2017-08-22T04:39:29Z", + "closed_at": "2017-08-22T04:39:29Z", + "merged_at": "2017-08-22T04:39:29Z", + "merge_commit_sha": "f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/commits", + "review_comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/comments", + "review_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1/comments", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/56ce2674f0afd0a66b773a2063078864c5f9f24c", + "head": { + "label": "gci-test-data:gci-test-data-patch-1", + "ref": "gci-test-data-patch-1", + "sha": "56ce2674f0afd0a66b773a2063078864c5f9f24c", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:39:29Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "gci-test-data:master", + "ref": "master", + "sha": "b21880e350cb19d67a3e5efb60cdb64e38e1f1eb", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:39:29Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1" + }, + "html": { + "href": "https://github.com/gci-test-data/gci-test-repo/pull/1" + }, + "issue": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1" + }, + "comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/1/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/1/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/56ce2674f0afd0a66b773a2063078864c5f9f24c" + } + }, + "merged": true, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 3, + "deletions": 0, + "changed_files": 1 + }, + "repository": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:39:29Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 1, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + } } diff --git a/test/fixtures/pr-reopened.json b/test/fixtures/pr-reopened.json index ad96adc..aca674f 100644 --- a/test/fixtures/pr-reopened.json +++ b/test/fixtures/pr-reopened.json @@ -1,7 +1,422 @@ { - "Records": [{ - "Sns": { - "Message": "{\"action\":\"reopened\",\"number\":2,\"pull_request\":{\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\",\"id\":10,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\",\"diff_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.diff\",\"patch_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.patch\",\"issue_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\",\"number\":2,\"state\":\"open\",\"locked\":false,\"title\":\"PR title\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"body!\",\"created_at\":\"2017-08-22T04:41:59Z\",\"updated_at\":\"2017-08-22T04:56:07Z\",\"closed_at\":null,\"merged_at\":null,\"merge_commit_sha\":\"ed30d493c996b174fea2c7cfa0a8d30dd2f802fe\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\",\"review_comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\",\"review_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"head\":{\"label\":\"gci-test-data:gci-test-data-patch-2\",\"ref\":\"gci-test-data-patch-2\",\"sha\":\"755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:42:00Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":2,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"gci-test-data:master\",\"ref\":\"master\",\"sha\":\"f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:42:00Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":2,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\"},\"html\":{\"href\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\"},\"issue\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\"},\"comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\"}},\"merged\":false,\"mergeable\":null,\"rebaseable\":null,\"mergeable_state\":\"unknown\",\"merged_by\":null,\"comments\":0,\"review_comments\":0,\"maintainer_can_modify\":false,\"commits\":1,\"additions\":1,\"deletions\":0,\"changed_files\":1},\"repository\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T04:42:00Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":2,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"},\"sender\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false}}" - } - }] + "action": "reopened", + "number": 2, + "pull_request": { + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2", + "id": 10, + "html_url": "https://github.com/gci-test-data/gci-test-repo/pull/2", + "diff_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.diff", + "patch_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.patch", + "issue_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2", + "number": 2, + "state": "open", + "locked": false, + "title": "PR title", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "body": "body!", + "created_at": "2017-08-22T04:41:59Z", + "updated_at": "2017-08-22T04:56:07Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "ed30d493c996b174fea2c7cfa0a8d30dd2f802fe", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits", + "review_comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments", + "review_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "head": { + "label": "gci-test-data:gci-test-data-patch-2", + "ref": "gci-test-data-patch-2", + "sha": "755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:42:00Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "gci-test-data:master", + "ref": "master", + "sha": "f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:42:00Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2" + }, + "html": { + "href": "https://github.com/gci-test-data/gci-test-repo/pull/2" + }, + "issue": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2" + }, + "comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/755c4d2229a3c8ffe68bb0fc231bd4dd227bff82" + } + }, + "merged": false, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": null, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 1, + "additions": 1, + "deletions": 0, + "changed_files": 1 + }, + "repository": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T04:42:00Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + } } diff --git a/test/fixtures/pr-synchronized.json b/test/fixtures/pr-synchronized.json index 01b1f85..a0cecd4 100644 --- a/test/fixtures/pr-synchronized.json +++ b/test/fixtures/pr-synchronized.json @@ -1,7 +1,424 @@ { - "Records": [{ - "Sns": { - "Message": "{\"action\":\"synchronize\",\"number\":2,\"pull_request\":{\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\",\"id\":10,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\",\"diff_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.diff\",\"patch_url\":\"https://github.com/gci-test-data/gci-test-repo/pull/2.patch\",\"issue_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\",\"number\":2,\"state\":\"open\",\"locked\":false,\"title\":\"PR title\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"body\":\"body!\",\"created_at\":\"2017-08-22T04:41:59Z\",\"updated_at\":\"2017-08-22T05:43:24Z\",\"closed_at\":null,\"merged_at\":null,\"merge_commit_sha\":\"2cc9de5bacb88dbe61a081d08797c92e7260ea7c\",\"assignee\":null,\"assignees\":[],\"requested_reviewers\":[],\"milestone\":null,\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\",\"review_comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\",\"review_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2\",\"head\":{\"label\":\"gci-test-data:gci-test-data-patch-2\",\"ref\":\"gci-test-data-patch-2\",\"sha\":\"b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T05:43:24Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":2,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"}},\"base\":{\"label\":\"gci-test-data:master\",\"ref\":\"master\",\"sha\":\"f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f\",\"user\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"repo\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T05:43:24Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":2,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"}},\"_links\":{\"self\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2\"},\"html\":{\"href\":\"https://github.com/gci-test-data/gci-test-repo/pull/2\"},\"issue\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2\"},\"comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments\"},\"review_comments\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments\"},\"review_comment\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}\"},\"commits\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits\"},\"statuses\":{\"href\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2\"}},\"merged\":false,\"mergeable\":null,\"rebaseable\":null,\"mergeable_state\":\"unknown\",\"merged_by\":null,\"comments\":0,\"review_comments\":0,\"maintainer_can_modify\":false,\"commits\":2,\"additions\":3,\"deletions\":0,\"changed_files\":1},\"before\":\"755c4d2229a3c8ffe68bb0fc231bd4dd227bff82\",\"after\":\"b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2\",\"repository\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":\"2017-08-21T23:50:28Z\",\"updated_at\":\"2017-08-21T23:50:28Z\",\"pushed_at\":\"2017-08-22T05:43:24Z\",\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":2,\"stargazers_count\":0,\"watchers_count\":0,\"language\":null,\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":1,\"forks\":0,\"open_issues\":1,\"watchers\":0,\"default_branch\":\"master\"},\"sender\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false}}" - } - }] + "action": "synchronize", + "number": 2, + "pull_request": { + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2", + "id": 10, + "html_url": "https://github.com/gci-test-data/gci-test-repo/pull/2", + "diff_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.diff", + "patch_url": "https://github.com/gci-test-data/gci-test-repo/pull/2.patch", + "issue_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2", + "number": 2, + "state": "open", + "locked": false, + "title": "PR title", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "body": "body!", + "created_at": "2017-08-22T04:41:59Z", + "updated_at": "2017-08-22T05:43:24Z", + "closed_at": null, + "merged_at": null, + "merge_commit_sha": "2cc9de5bacb88dbe61a081d08797c92e7260ea7c", + "assignee": null, + "assignees": [], + "requested_reviewers": [], + "milestone": null, + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits", + "review_comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments", + "review_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2", + "head": { + "label": "gci-test-data:gci-test-data-patch-2", + "ref": "gci-test-data-patch-2", + "sha": "b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T05:43:24Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + } + }, + "base": { + "label": "gci-test-data:master", + "ref": "master", + "sha": "f324e3b955492dfc7f0bcb4ec2c4ec5a83b8b54f", + "user": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "repo": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T05:43:24Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + } + }, + "_links": { + "self": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2" + }, + "html": { + "href": "https://github.com/gci-test-data/gci-test-repo/pull/2" + }, + "issue": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2" + }, + "comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/2/comments" + }, + "review_comments": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/comments" + }, + "review_comment": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/comments{/number}" + }, + "commits": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls/2/commits" + }, + "statuses": { + "href": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2" + } + }, + "merged": false, + "mergeable": null, + "rebaseable": null, + "mergeable_state": "unknown", + "merged_by": null, + "comments": 0, + "review_comments": 0, + "maintainer_can_modify": false, + "commits": 2, + "additions": 3, + "deletions": 0, + "changed_files": 1 + }, + "before": "755c4d2229a3c8ffe68bb0fc231bd4dd227bff82", + "after": "b2c6cb1348b05e8262ec5dd755660bd80eb7c3e2", + "repository": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": "2017-08-21T23:50:28Z", + "updated_at": "2017-08-21T23:50:28Z", + "pushed_at": "2017-08-22T05:43:24Z", + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 2, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 1, + "forks": 0, + "open_issues": 1, + "watchers": 0, + "default_branch": "master" + }, + "sender": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + } } diff --git a/test/fixtures/pushed.json b/test/fixtures/pushed.json index 2f9d2ac..4da2a65 100644 --- a/test/fixtures/pushed.json +++ b/test/fixtures/pushed.json @@ -1,7 +1,174 @@ { - "Records": [{ - "Sns": { - "Message": "{\"ref\":\"refs/heads/master\",\"before\":\"1df85ce180fda74daf20b8b5707bd4fdbb708387\",\"after\":\"62462cba6e04982d25e6dd5fbbd220ef0de41e5a\",\"created\":false,\"deleted\":false,\"forced\":false,\"base_ref\":null,\"compare\":\"https://github.com/gci-test-data/gci-test-repo/compare/1df85ce180fd...62462cba6e04\",\"commits\":[{\"id\":\"62462cba6e04982d25e6dd5fbbd220ef0de41e5a\",\"tree_id\":\"9ffc39b7c05f0b1d80d9a5b518cae8077a5ecdc9\",\"distinct\":true,\"message\":\"message!\",\"timestamp\":\"2017-08-23T17:21:06+09:00\",\"url\":\"https://github.com/gci-test-data/gci-test-repo/commit/62462cba6e04982d25e6dd5fbbd220ef0de41e5a\",\"author\":{\"name\":\"gci-test-data\",\"email\":\"gci-test-datatr@gmail.com\",\"username\":\"gci-test-data\"},\"committer\":{\"name\":\"gci-test-data\",\"email\":\"gci-test-datatr@gmail.com\",\"username\":\"gci-test-data\"},\"added\":[],\"removed\":[],\"modified\":[\"src/functions/github-webhook-handler/index.js\"]}],\"head_commit\":{\"id\":\"62462cba6e04982d25e6dd5fbbd220ef0de41e5a\",\"tree_id\":\"9ffc39b7c05f0b1d80d9a5b518cae8077a5ecdc9\",\"distinct\":true,\"message\":\"message!\",\"timestamp\":\"2017-08-23T17:21:06+09:00\",\"url\":\"https://github.com/gci-test-data/gci-test-repo/commit/62462cba6e04982d25e6dd5fbbd220ef0de41e5a\",\"author\":{\"name\":\"gci-test-data\",\"email\":\"gci-test-datatr@gmail.com\",\"username\":\"gci-test-data\"},\"committer\":{\"name\":\"gci-test-data\",\"email\":\"gci-test-datatr@gmail.com\",\"username\":\"gci-test-data\"},\"added\":[],\"removed\":[],\"modified\":[\"src/functions/github-webhook-handler/index.js\"]},\"repository\":{\"id\":100,\"name\":\"gci-test-repo\",\"full_name\":\"gci-test-data/gci-test-repo\",\"owner\":{\"name\":\"gci-test-data\",\"email\":\"gci-test-datatr@gmail.com\",\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false},\"private\":true,\"html_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"description\":null,\"fork\":false,\"url\":\"https://github.com/gci-test-data/gci-test-repo\",\"forks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/forks\",\"keys_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}\",\"collaborators_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}\",\"teams_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/teams\",\"hooks_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/hooks\",\"issue_events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}\",\"events_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/events\",\"assignees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}\",\"branches_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}\",\"tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/tags\",\"blobs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}\",\"git_tags_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}\",\"git_refs_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}\",\"trees_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}\",\"statuses_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}\",\"languages_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/languages\",\"stargazers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers\",\"contributors_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contributors\",\"subscribers_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers\",\"subscription_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/subscription\",\"commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}\",\"git_commits_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}\",\"comments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}\",\"issue_comment_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}\",\"contents_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}\",\"compare_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}\",\"merges_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/merges\",\"archive_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}\",\"downloads_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/downloads\",\"issues_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}\",\"pulls_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}\",\"milestones_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}\",\"notifications_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}\",\"labels_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}\",\"releases_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}\",\"deployments_url\":\"https://api.github.com/repos/gci-test-data/gci-test-repo/deployments\",\"created_at\":1503359428,\"updated_at\":\"2017-08-22T23:44:38Z\",\"pushed_at\":1503476538,\"git_url\":\"git://github.com/gci-test-data/gci-test-repo.git\",\"ssh_url\":\"git@github.com:gci-test-data/gci-test-repo.git\",\"clone_url\":\"https://github.com/gci-test-data/gci-test-repo.git\",\"svn_url\":\"https://github.com/gci-test-data/gci-test-repo\",\"homepage\":null,\"size\":40,\"stargazers_count\":0,\"watchers_count\":0,\"language\":\"JavaScript\",\"has_issues\":true,\"has_projects\":true,\"has_downloads\":true,\"has_wiki\":true,\"has_pages\":false,\"forks_count\":0,\"mirror_url\":null,\"open_issues_count\":0,\"forks\":0,\"open_issues\":0,\"watchers\":0,\"default_branch\":\"master\",\"stargazers\":0,\"master_branch\":\"master\"},\"pusher\":{\"name\":\"gci-test-data\",\"email\":\"gci-test-datatr@gmail.com\"},\"sender\":{\"login\":\"gci-test-data\",\"id\":1,\"avatar_url\":\"https://avatars1.githubusercontent.com/u/1?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/gci-test-data\",\"html_url\":\"https://github.com/gci-test-data\",\"followers_url\":\"https://api.github.com/users/gci-test-data/followers\",\"following_url\":\"https://api.github.com/users/gci-test-data/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/gci-test-data/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/gci-test-data/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/gci-test-data/subscriptions\",\"organizations_url\":\"https://api.github.com/users/gci-test-data/orgs\",\"repos_url\":\"https://api.github.com/users/gci-test-data/repos\",\"events_url\":\"https://api.github.com/users/gci-test-data/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/gci-test-data/received_events\",\"type\":\"User\",\"site_admin\":false}}" + "ref": "refs/heads/master", + "before": "1df85ce180fda74daf20b8b5707bd4fdbb708387", + "after": "62462cba6e04982d25e6dd5fbbd220ef0de41e5a", + "created": false, + "deleted": false, + "forced": false, + "base_ref": null, + "compare": "https://github.com/gci-test-data/gci-test-repo/compare/1df85ce180fd...62462cba6e04", + "commits": [ + { + "id": "62462cba6e04982d25e6dd5fbbd220ef0de41e5a", + "tree_id": "9ffc39b7c05f0b1d80d9a5b518cae8077a5ecdc9", + "distinct": true, + "message": "message!", + "timestamp": "2017-08-23T17:21:06+09:00", + "url": "https://github.com/gci-test-data/gci-test-repo/commit/62462cba6e04982d25e6dd5fbbd220ef0de41e5a", + "author": { + "name": "gci-test-data", + "email": "gci-test-datatr@gmail.com", + "username": "gci-test-data" + }, + "committer": { + "name": "gci-test-data", + "email": "gci-test-datatr@gmail.com", + "username": "gci-test-data" + }, + "added": [], + "removed": [], + "modified": [ + "src/functions/github-webhook-handler/index.js" + ] } - }] + ], + "head_commit": { + "id": "62462cba6e04982d25e6dd5fbbd220ef0de41e5a", + "tree_id": "9ffc39b7c05f0b1d80d9a5b518cae8077a5ecdc9", + "distinct": true, + "message": "message!", + "timestamp": "2017-08-23T17:21:06+09:00", + "url": "https://github.com/gci-test-data/gci-test-repo/commit/62462cba6e04982d25e6dd5fbbd220ef0de41e5a", + "author": { + "name": "gci-test-data", + "email": "gci-test-datatr@gmail.com", + "username": "gci-test-data" + }, + "committer": { + "name": "gci-test-data", + "email": "gci-test-datatr@gmail.com", + "username": "gci-test-data" + }, + "added": [], + "removed": [], + "modified": [ + "src/functions/github-webhook-handler/index.js" + ] + }, + "repository": { + "id": 100, + "name": "gci-test-repo", + "full_name": "gci-test-data/gci-test-repo", + "owner": { + "name": "gci-test-data", + "email": "gci-test-datatr@gmail.com", + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + }, + "private": true, + "html_url": "https://github.com/gci-test-data/gci-test-repo", + "description": null, + "fork": false, + "url": "https://github.com/gci-test-data/gci-test-repo", + "forks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/forks", + "keys_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/teams", + "hooks_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/hooks", + "issue_events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/events{/number}", + "events_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/events", + "assignees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/assignees{/user}", + "branches_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/branches{/branch}", + "tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/tags", + "blobs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/statuses/{sha}", + "languages_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/languages", + "stargazers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/stargazers", + "contributors_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contributors", + "subscribers_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscribers", + "subscription_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/subscription", + "commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/contents/{+path}", + "compare_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/merges", + "archive_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/downloads", + "issues_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/issues{/number}", + "pulls_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/pulls{/number}", + "milestones_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/milestones{/number}", + "notifications_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/labels{/name}", + "releases_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/releases{/id}", + "deployments_url": "https://api.github.com/repos/gci-test-data/gci-test-repo/deployments", + "created_at": 1503359428, + "updated_at": "2017-08-22T23:44:38Z", + "pushed_at": 1503476538, + "git_url": "git://github.com/gci-test-data/gci-test-repo.git", + "ssh_url": "git@github.com:gci-test-data/gci-test-repo.git", + "clone_url": "https://github.com/gci-test-data/gci-test-repo.git", + "svn_url": "https://github.com/gci-test-data/gci-test-repo", + "homepage": null, + "size": 40, + "stargazers_count": 0, + "watchers_count": 0, + "language": "JavaScript", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "open_issues_count": 0, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master", + "stargazers": 0, + "master_branch": "master" + }, + "pusher": { + "name": "gci-test-data", + "email": "gci-test-datatr@gmail.com" + }, + "sender": { + "login": "gci-test-data", + "id": 1, + "avatar_url": "https://avatars1.githubusercontent.com/u/1?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/gci-test-data", + "html_url": "https://github.com/gci-test-data", + "followers_url": "https://api.github.com/users/gci-test-data/followers", + "following_url": "https://api.github.com/users/gci-test-data/following{/other_user}", + "gists_url": "https://api.github.com/users/gci-test-data/gists{/gist_id}", + "starred_url": "https://api.github.com/users/gci-test-data/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/gci-test-data/subscriptions", + "organizations_url": "https://api.github.com/users/gci-test-data/orgs", + "repos_url": "https://api.github.com/users/gci-test-data/repos", + "events_url": "https://api.github.com/users/gci-test-data/events{/privacy}", + "received_events_url": "https://api.github.com/users/gci-test-data/received_events", + "type": "User", + "site_admin": false + } } diff --git a/yarn.lock b/yarn.lock index 8736051..a7f32b8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,55 +2,82 @@ # yarn lockfile v1 -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" +"@babel/code-frame@^7.0.0": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: - acorn "^3.0.4" + "@babel/highlight" "^7.10.4" -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== -acorn@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75" +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" +"@eslint/eslintrc@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" + integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.19" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" -ajv@^4.7.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" +acorn-jsx@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== -ajv@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.2.2.tgz#47c68d69e86f5d953103b0074a9430dc63da5e39" - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - json-schema-traverse "^0.3.0" - json-stable-stringify "^1.0.1" +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -ansi-escapes@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b" +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== ansi-styles@^3.1.0: version "3.2.0" @@ -58,38 +85,58 @@ ansi-styles@^3.1.0: dependencies: color-convert "^1.9.0" -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" +ansi-styles@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: - sprintf-js "~1.0.2" + color-convert "^1.9.0" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - array-uniq "^1.0.1" + color-convert "^2.0.1" -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" +array.prototype.map@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.2.tgz#9a4159f416458a23e9483078de1106b2ef68f8ec" + integrity sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw== dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.4" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + brace-expansion@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" @@ -97,31 +144,29 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -browser-stdout@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: - callsites "^0.2.0" + fill-range "^7.0.1" -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -chalk@^2.0.0, chalk@^2.1.0: +chalk@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.1.0.tgz#ac5becf14fa21b99c6c92ca7a7d7cfd5b17e743e" dependencies: @@ -129,23 +174,37 @@ chalk@^2.0.0, chalk@^2.1.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" +chalk@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== dependencies: - restore-cursor "^2.0.0" - -cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" color-convert@^1.9.0: version "1.9.0" @@ -153,218 +212,367 @@ color-convert@^1.9.0: dependencies: color-name "^1.1.1" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" -commander@2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" +debug@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" + ms "^2.1.1" -debug@2.6.8, debug@^2.6.8: - version "2.6.8" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" +debug@^4.0.1, debug@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== dependencies: - ms "2.0.0" + ms "2.1.2" -deep-is@~0.1.3: +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +deep-is@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" + object-keys "^1.0.12" -diff@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" +diff@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== -doctrine@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.0.tgz#c73d8d2909d22291e1a007a395804da8b665fe63" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" - isarray "^1.0.0" -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +es-abstract@^1.17.0-next.1, es-abstract@^1.17.4, es-abstract@^1.17.5: + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.0: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-get-iterator@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.0.tgz#bb98ad9d6d63b31aacdc8f89d5d0ee57bcb5b4c8" + integrity sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ== + dependencies: + es-abstract "^1.17.4" + has-symbols "^1.0.1" + is-arguments "^1.0.4" + is-map "^2.0.1" + is-set "^2.0.1" + is-string "^1.0.5" + isarray "^2.0.5" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -eslint-scope@^3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - esrecurse "^4.1.0" + esrecurse "^4.3.0" estraverse "^4.1.1" -eslint@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.5.0.tgz#bb75d3b8bde97fb5e13efcd539744677feb019c3" - dependencies: - ajv "^5.2.0" - babel-code-frame "^6.22.0" - chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^2.6.8" - doctrine "^2.0.0" - eslint-scope "^3.7.1" - espree "^3.5.0" - esquery "^1.0.0" - estraverse "^4.2.0" +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint@^7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.11.0.tgz#aaf2d23a0b5f1d652a08edacea0c19f7fadc0b3b" + integrity sha512-G9+qtYVCHaDi1ZuWzBsOWo2wSwd70TXnU6UHA3cTYHp7gCTXZcpggWFoUVAMRarg68qtPoNfFbzPh+VdOgmwmw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@eslint/eslintrc" "^0.1.3" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.0" + esquery "^1.2.0" esutils "^2.0.2" - file-entry-cache "^2.0.0" + file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^9.17.0" - ignore "^3.3.3" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" - json-stable-stringify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" - mkdirp "^0.5.1" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.19" + minimatch "^3.0.4" natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^4.0.0" + optionator "^0.9.1" progress "^2.0.0" - require-uncached "^1.0.3" - semver "^5.3.0" - strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "^4.0.1" - text-table "~0.2.0" - -espree@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.0.tgz#98358625bdd055861ea27e2867ea729faf463d8d" - dependencies: - acorn "^5.1.1" - acorn-jsx "^3.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.0.tgz#dc30437cf67947cf576121ebd780f15eeac72348" + integrity sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.3.0" esprima@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" -esquery@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" +esquery@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== dependencies: - estraverse "^4.0.0" + estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" - object-assign "^4.0.1" + estraverse "^5.2.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -external-editor@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.0.4.tgz#1ed9199da9cbfe2ef2f7a31b2fde8b0d12368972" - dependencies: - iconv-lite "^0.4.17" - jschardet "^1.4.2" - tmp "^0.0.31" +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-deep-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" -fast-levenshtein@~2.0.4: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: - escape-string-regexp "^1.0.5" + flat-cache "^2.0.1" -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" + to-regex-range "^5.0.1" -flat-cache@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" -glob@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" + is-glob "^4.0.1" -glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" +glob@7.1.6, glob@^7.1.3: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -373,54 +581,56 @@ glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^9.17.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" + type-fest "^0.8.1" -graceful-fs@^4.1.2: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" -growl@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -iconv-lite@^0.4.17: - version "0.4.18" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2" +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" imurmurhash@^0.1.4: version "0.1.4" @@ -433,170 +643,177 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@~2.0.3: +inherits@2: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -inquirer@^3.0.6: - version "3.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.2.2.tgz#c2aaede1507cc54d826818737742d621bef2e823" +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - ansi-escapes "^2.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" + binary-extensions "^2.0.0" -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" +is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" -is-resolvable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: - tryit "^1.0.1" + is-extglob "^2.1.1" -isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +is-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1" + integrity sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw== -isexe@^2.0.0: +is-negative-zero@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -js-yaml@^3.9.1: - version "3.9.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.1.tgz#08775cebdfdd359209f0d2acd383c8f86a6904a0" +is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + has-symbols "^1.0.1" -jschardet@^1.4.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.5.1.tgz#c519f629f86b3a5bedba58a88d311309eec097f9" +is-set@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.1.tgz#d1604afdab1724986d30091575f54945da7e5f43" + integrity sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" +is-string@^1.0.4, is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== dependencies: - jsonify "~0.0.0" + has-symbols "^1.0.1" -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" +iterate-iterator@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.1.tgz#1693a768c1ddd79c969051459453f082fe82e9f6" + integrity sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw== -lodash._baseassign@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" +iterate-value@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" + integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== dependencies: - lodash._basecopy "^3.0.0" - lodash.keys "^3.0.0" + es-get-iterator "^1.0.2" + iterate-iterator "^1.0.1" -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -lodash._basecreate@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821" +js-yaml@3.14.0, js-yaml@^3.13.1: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" -lodash.create@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: - lodash._baseassign "^3.0.0" - lodash._basecreate "^3.0.0" - lodash._isiterateecall "^3.0.0" - -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + prelude-ls "^1.2.1" + type-check "~0.4.0" -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" + p-locate "^5.0.0" -lodash@^4.0.0, lodash@^4.17.4, lodash@^4.3.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" +lodash@^4.17.14, lodash@^4.17.19: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lru-cache@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -mimic-fn@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + chalk "^4.0.0" -minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -606,43 +823,86 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -mkdirp@0.5.1, mkdirp@^0.5.1: +mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: minimist "0.0.8" -mocha@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.0.tgz#1328567d2717f997030f8006234bce9b8cd72465" - dependencies: - browser-stdout "1.3.0" - commander "2.9.0" - debug "2.6.8" - diff "3.2.0" - escape-string-regexp "1.0.5" - glob "7.1.1" - growl "1.9.2" - json3 "3.3.2" - lodash.create "3.1.1" - mkdirp "0.5.1" - supports-color "3.1.2" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" +mocha@^8.1.0: + version "8.1.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.3.tgz#5e93f873e35dfdd69617ea75f9c68c2ca61c2ac5" + integrity sha512-ZbaYib4hT4PpF4bdSO2DohooKXIn4lDeiYqB+vTmCdr6l2woW0b6H3pf5x4sM5nwQMru9RvjjHYWVGltR50ZBw== + dependencies: + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.4.2" + debug "4.1.1" + diff "4.0.2" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "3.14.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.2" + object.assign "4.1.0" + promise.allsettled "1.0.2" + serialize-javascript "4.0.0" + strip-json-comments "3.0.1" + supports-color "7.1.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.0" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "1.6.1" + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" -object-assign@^4.0.1: +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +object-inspect@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" + integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.0" + has-symbols "^1.0.1" + object-keys "^1.1.1" once@^1.3.0: version "1.4.0" @@ -650,169 +910,227 @@ once@^1.3.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: - mimic-fn "^1.0.0" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" -optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" + p-try "^2.0.0" -os-tmpdir@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" +p-limit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" + integrity sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg== + dependencies: + p-try "^2.0.0" -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" -path-is-inside@^1.0.1, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: - pinkie "^2.0.0" + callsites "^3.0.0" -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= -pluralize@^4.0.0: +path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-4.0.0.tgz#59b708c1c0190a2f692f1c7618c446b052fd1762" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== progress@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" -pseudomap@^1.0.2: +promise.allsettled@1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.2.tgz#d66f78fbb600e83e863d893e98b3d4376a9c47c9" + integrity sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg== + dependencies: + array.prototype.map "^1.0.1" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + iterate-value "^1.0.0" + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -readable-stream@^2.2.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - safe-buffer "~5.1.1" - string_decoder "~1.0.3" - util-deprecate "~1.0.1" + safe-buffer "^5.1.0" -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" +readdirp@~3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" + integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" + picomatch "^2.2.1" -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" +regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== -restore-cursor@^2.0.0: +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -rimraf@^2.2.8: - version "2.6.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" - dependencies: - glob "^7.0.5" +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: - is-promise "^2.1.0" + glob "^7.1.3" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" +safe-buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" +semver@^7.2.1: + version "7.3.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" + integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" +serialize-javascript@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" -semver@^5.3.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: - shebang-regex "^1.0.0" + shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - -signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" -string-width@^2.0.0, string-width@^2.1.0: +"string-width@^1.0.2 || 2": version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== dependencies: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string_decoder@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: - safe-buffer "~5.1.0" + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== dependencies: - ansi-regex "^2.0.0" + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" strip-ansi@^4.0.0: version "4.0.0" @@ -820,19 +1138,36 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" -supports-color@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: - has-flag "^1.0.0" + ansi-regex "^5.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" +strip-json-comments@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" supports-color@^4.0.0: version "4.2.1" @@ -840,69 +1175,169 @@ supports-color@^4.0.0: dependencies: has-flag "^2.0.0" -table@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.1.tgz#a8116c133fac2c61f4a420ab6cdf5c4d61f0e435" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" -tmp@^0.0.31: - version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: - os-tmpdir "~1.0.1" + prelude-ls "^1.2.1" -tryit@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" +uri-js@^4.2.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== dependencies: - prelude-ls "~1.1.2" + punycode "^2.1.0" -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9: - version "1.3.0" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workerpool@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58" + integrity sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA== + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1" -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" +y18n@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" + integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + +yargs-parser@13.1.2, yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^15.0.1: + version "15.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" + integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-unparser@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.1.tgz#bd4b0ee05b4c94d058929c32cb09e3fce71d3c5f" + integrity sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA== + dependencies: + camelcase "^5.3.1" + decamelize "^1.2.0" + flat "^4.1.0" + is-plain-obj "^1.1.0" + yargs "^14.2.3" + +yargs@13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^14.2.3: + version "14.2.3" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" + integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== + dependencies: + cliui "^5.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^15.0.1"