{"action":"created","comment":{"url":"https://api.github.com/repos/airbnb/streamalert/pulls/comments/205269196","pull_request_review_id":140504655,"id":205269196,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNTI2OTE5Ng==","diff_hunk":"@@ -203,6 +203,8 @@ class AppIntegrationPackage(LambdaPackage):\n     package_name = 'stream_alert_app'\n     precompiled_libs = {'boxsdk[jwt]==2.0.0a11'}\n     third_party_libs = {\n+        'aliyun-python-sdk-core==2.8.5',","path":"stream_alert_cli/manage_lambda/package.py","position":4,"original_position":4,"commit_id":"69e56366951032ed4cabc0dbb588b891cef05b65","original_commit_id":"69e56366951032ed4cabc0dbb588b891cef05b65","user":{"login":"ryandeivert","id":13773789,"node_id":"MDQ6VXNlcjEzNzczNzg5","avatar_url":"https://avatars3.githubusercontent.com/u/13773789?v=4","gravatar_id":"","url":"https://api.github.com/users/ryandeivert","html_url":"https://github.com/ryandeivert","followers_url":"https://api.github.com/users/ryandeivert/followers","following_url":"https://api.github.com/users/ryandeivert/following{/other_user}","gists_url":"https://api.github.com/users/ryandeivert/gists{/gist_id}","starred_url":"https://api.github.com/users/ryandeivert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryandeivert/subscriptions","organizations_url":"https://api.github.com/users/ryandeivert/orgs","repos_url":"https://api.github.com/users/ryandeivert/repos","events_url":"https://api.github.com/users/ryandeivert/events{/privacy}","received_events_url":"https://api.github.com/users/ryandeivert/received_events","type":"User","site_admin":false},"body":"this is great - thank you for pinning the version!","created_at":"2018-07-25T21:32:04Z","updated_at":"2018-07-25T21:39:38Z","html_url":"https://github.com/airbnb/streamalert/pull/792#discussion_r205269196","pull_request_url":"https://api.github.com/repos/airbnb/streamalert/pulls/792","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/airbnb/streamalert/pulls/comments/205269196"},"html":{"href":"https://github.com/airbnb/streamalert/pull/792#discussion_r205269196"},"pull_request":{"href":"https://api.github.com/repos/airbnb/streamalert/pulls/792"}}},"pull_request":{"url":"https://api.github.com/repos/airbnb/streamalert/pulls/792","id":203902317,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAzOTAyMzE3","html_url":"https://github.com/airbnb/streamalert/pull/792","diff_url":"https://github.com/airbnb/streamalert/pull/792.diff","patch_url":"https://github.com/airbnb/streamalert/pull/792.patch","issue_url":"https://api.github.com/repos/airbnb/streamalert/issues/792","number":792,"state":"open","locked":false,"title":"[apps] Aliyun ActionTrail app","user":{"login":"GarretReece","id":6036456,"node_id":"MDQ6VXNlcjYwMzY0NTY=","avatar_url":"https://avatars2.githubusercontent.com/u/6036456?v=4","gravatar_id":"","url":"https://api.github.com/users/GarretReece","html_url":"https://github.com/GarretReece","followers_url":"https://api.github.com/users/GarretReece/followers","following_url":"https://api.github.com/users/GarretReece/following{/other_user}","gists_url":"https://api.github.com/users/GarretReece/gists{/gist_id}","starred_url":"https://api.github.com/users/GarretReece/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GarretReece/subscriptions","organizations_url":"https://api.github.com/users/GarretReece/orgs","repos_url":"https://api.github.com/users/GarretReece/repos","events_url":"https://api.github.com/users/GarretReece/events{/privacy}","received_events_url":"https://api.github.com/users/GarretReece/received_events","type":"User","site_admin":false},"body":"to: @airbnb/streamalert-maintainers\r\ncc: <optional-cc-to-specific-users>\r\nsize: medium\r\n\r\n## Background\r\n\r\nSteamAlert doesn't have an app that collects ActionTrail events from Aliyun\r\n\r\n## Changes\r\n\r\n* Adds an app that collects ActionTrail events from Aliyun\r\n* Schema definition for the new log type is included\r\n* Unit tests for the app as well as schema validation tests are included\r\n* Documentation for authorizing the app is included in the README in the apps directory as well as in a section of the app-configuration.rst in the docs directory\r\n\r\n## Testing\r\n\r\nBarebones StreamAlert session created, the Aliyun app configured and deployed, and verifying that events are listed as captured in the log\r\n","created_at":"2018-07-25T17:00:23Z","updated_at":"2018-07-25T21:39:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"80c66235fb2bf01a8ffc4a8b4373a8d4e5f2a670","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/airbnb/streamalert/pulls/792/commits","review_comments_url":"https://api.github.com/repos/airbnb/streamalert/pulls/792/comments","review_comment_url":"https://api.github.com/repos/airbnb/streamalert/pulls/comments{/number}","comments_url":"https://api.github.com/repos/airbnb/streamalert/issues/792/comments","statuses_url":"https://api.github.com/repos/airbnb/streamalert/statuses/69e56366951032ed4cabc0dbb588b891cef05b65","head":{"label":"trailofbits:garret/actiontrail_app","ref":"garret/actiontrail_app","sha":"69e56366951032ed4cabc0dbb588b891cef05b65","user":{"login":"trailofbits","id":2314423,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMTQ0MjM=","avatar_url":"https://avatars0.githubusercontent.com/u/2314423?v=4","gravatar_id":"","url":"https://api.github.com/users/trailofbits","html_url":"https://github.com/trailofbits","followers_url":"https://api.github.com/users/trailofbits/followers","following_url":"https://api.github.com/users/trailofbits/following{/other_user}","gists_url":"https://api.github.com/users/trailofbits/gists{/gist_id}","starred_url":"https://api.github.com/users/trailofbits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trailofbits/subscriptions","organizations_url":"https://api.github.com/users/trailofbits/orgs","repos_url":"https://api.github.com/users/trailofbits/repos","events_url":"https://api.github.com/users/trailofbits/events{/privacy}","received_events_url":"https://api.github.com/users/trailofbits/received_events","type":"Organization","site_admin":false},"repo":{"id":132798168,"node_id":"MDEwOlJlcG9zaXRvcnkxMzI3OTgxNjg=","name":"streamalert","full_name":"trailofbits/streamalert","owner":{"login":"trailofbits","id":2314423,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIzMTQ0MjM=","avatar_url":"https://avatars0.githubusercontent.com/u/2314423?v=4","gravatar_id":"","url":"https://api.github.com/users/trailofbits","html_url":"https://github.com/trailofbits","followers_url":"https://api.github.com/users/trailofbits/followers","following_url":"https://api.github.com/users/trailofbits/following{/other_user}","gists_url":"https://api.github.com/users/trailofbits/gists{/gist_id}","starred_url":"https://api.github.com/users/trailofbits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trailofbits/subscriptions","organizations_url":"https://api.github.com/users/trailofbits/orgs","repos_url":"https://api.github.com/users/trailofbits/repos","events_url":"https://api.github.com/users/trailofbits/events{/privacy}","received_events_url":"https://api.github.com/users/trailofbits/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/trailofbits/streamalert","description":"StreamAlert is a serverless, realtime data analysis framework which empowers you to ingest, analyze, and alert on data from any environment, using datasources and alerting logic you define.","fork":true,"url":"https://api.github.com/repos/trailofbits/streamalert","forks_url":"https://api.github.com/repos/trailofbits/streamalert/forks","keys_url":"https://api.github.com/repos/trailofbits/streamalert/keys{/key_id}","collaborators_url":"https://api.github.com/repos/trailofbits/streamalert/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/trailofbits/streamalert/teams","hooks_url":"https://api.github.com/repos/trailofbits/streamalert/hooks","issue_events_url":"https://api.github.com/repos/trailofbits/streamalert/issues/events{/number}","events_url":"https://api.github.com/repos/trailofbits/streamalert/events","assignees_url":"https://api.github.com/repos/trailofbits/streamalert/assignees{/user}","branches_url":"https://api.github.com/repos/trailofbits/streamalert/branches{/branch}","tags_url":"https://api.github.com/repos/trailofbits/streamalert/tags","blobs_url":"https://api.github.com/repos/trailofbits/streamalert/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/trailofbits/streamalert/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/trailofbits/streamalert/git/refs{/sha}","trees_url":"https://api.github.com/repos/trailofbits/streamalert/git/trees{/sha}","statuses_url":"https://api.github.com/repos/trailofbits/streamalert/statuses/{sha}","languages_url":"https://api.github.com/repos/trailofbits/streamalert/languages","stargazers_url":"https://api.github.com/repos/trailofbits/streamalert/stargazers","contributors_url":"https://api.github.com/repos/trailofbits/streamalert/contributors","subscribers_url":"https://api.github.com/repos/trailofbits/streamalert/subscribers","subscription_url":"https://api.github.com/repos/trailofbits/streamalert/subscription","commits_url":"https://api.github.com/repos/trailofbits/streamalert/commits{/sha}","git_commits_url":"https://api.github.com/repos/trailofbits/streamalert/git/commits{/sha}","comments_url":"https://api.github.com/repos/trailofbits/streamalert/comments{/number}","issue_comment_url":"https://api.github.com/repos/trailofbits/streamalert/issues/comments{/number}","contents_url":"https://api.github.com/repos/trailofbits/streamalert/contents/{+path}","compare_url":"https://api.github.com/repos/trailofbits/streamalert/compare/{base}...{head}","merges_url":"https://api.github.com/repos/trailofbits/streamalert/merges","archive_url":"https://api.github.com/repos/trailofbits/streamalert/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/trailofbits/streamalert/downloads","issues_url":"https://api.github.com/repos/trailofbits/streamalert/issues{/number}","pulls_url":"https://api.github.com/repos/trailofbits/streamalert/pulls{/number}","milestones_url":"https://api.github.com/repos/trailofbits/streamalert/milestones{/number}","notifications_url":"https://api.github.com/repos/trailofbits/streamalert/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/trailofbits/streamalert/labels{/name}","releases_url":"https://api.github.com/repos/trailofbits/streamalert/releases{/id}","deployments_url":"https://api.github.com/repos/trailofbits/streamalert/deployments","created_at":"2018-05-09T18:32:36Z","updated_at":"2018-05-09T18:33:12Z","pushed_at":"2018-07-25T16:21:07Z","git_url":"git://github.com/trailofbits/streamalert.git","ssh_url":"git@github.com:trailofbits/streamalert.git","clone_url":"https://github.com/trailofbits/streamalert.git","svn_url":"https://github.com/trailofbits/streamalert","homepage":"","size":8585,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"airbnb:master","ref":"master","sha":"1d8e327fe8655bf7b49c5c3ab0141740fff3723c","user":{"login":"airbnb","id":698437,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY5ODQzNw==","avatar_url":"https://avatars3.githubusercontent.com/u/698437?v=4","gravatar_id":"","url":"https://api.github.com/users/airbnb","html_url":"https://github.com/airbnb","followers_url":"https://api.github.com/users/airbnb/followers","following_url":"https://api.github.com/users/airbnb/following{/other_user}","gists_url":"https://api.github.com/users/airbnb/gists{/gist_id}","starred_url":"https://api.github.com/users/airbnb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/airbnb/subscriptions","organizations_url":"https://api.github.com/users/airbnb/orgs","repos_url":"https://api.github.com/users/airbnb/repos","events_url":"https://api.github.com/users/airbnb/events{/privacy}","received_events_url":"https://api.github.com/users/airbnb/received_events","type":"Organization","site_admin":false},"repo":{"id":79683936,"node_id":"MDEwOlJlcG9zaXRvcnk3OTY4MzkzNg==","name":"streamalert","full_name":"airbnb/streamalert","owner":{"login":"airbnb","id":698437,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY5ODQzNw==","avatar_url":"https://avatars3.githubusercontent.com/u/698437?v=4","gravatar_id":"","url":"https://api.github.com/users/airbnb","html_url":"https://github.com/airbnb","followers_url":"https://api.github.com/users/airbnb/followers","following_url":"https://api.github.com/users/airbnb/following{/other_user}","gists_url":"https://api.github.com/users/airbnb/gists{/gist_id}","starred_url":"https://api.github.com/users/airbnb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/airbnb/subscriptions","organizations_url":"https://api.github.com/users/airbnb/orgs","repos_url":"https://api.github.com/users/airbnb/repos","events_url":"https://api.github.com/users/airbnb/events{/privacy}","received_events_url":"https://api.github.com/users/airbnb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/airbnb/streamalert","description":"StreamAlert is a serverless, realtime data analysis framework which empowers you to ingest, analyze, and alert on data from any environment, using datasources and alerting logic you define.","fork":false,"url":"https://api.github.com/repos/airbnb/streamalert","forks_url":"https://api.github.com/repos/airbnb/streamalert/forks","keys_url":"https://api.github.com/repos/airbnb/streamalert/keys{/key_id}","collaborators_url":"https://api.github.com/repos/airbnb/streamalert/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/airbnb/streamalert/teams","hooks_url":"https://api.github.com/repos/airbnb/streamalert/hooks","issue_events_url":"https://api.github.com/repos/airbnb/streamalert/issues/events{/number}","events_url":"https://api.github.com/repos/airbnb/streamalert/events","assignees_url":"https://api.github.com/repos/airbnb/streamalert/assignees{/user}","branches_url":"https://api.github.com/repos/airbnb/streamalert/branches{/branch}","tags_url":"https://api.github.com/repos/airbnb/streamalert/tags","blobs_url":"https://api.github.com/repos/airbnb/streamalert/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/airbnb/streamalert/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/airbnb/streamalert/git/refs{/sha}","trees_url":"https://api.github.com/repos/airbnb/streamalert/git/trees{/sha}","statuses_url":"https://api.github.com/repos/airbnb/streamalert/statuses/{sha}","languages_url":"https://api.github.com/repos/airbnb/streamalert/languages","stargazers_url":"https://api.github.com/repos/airbnb/streamalert/stargazers","contributors_url":"https://api.github.com/repos/airbnb/streamalert/contributors","subscribers_url":"https://api.github.com/repos/airbnb/streamalert/subscribers","subscription_url":"https://api.github.com/repos/airbnb/streamalert/subscription","commits_url":"https://api.github.com/repos/airbnb/streamalert/commits{/sha}","git_commits_url":"https://api.github.com/repos/airbnb/streamalert/git/commits{/sha}","comments_url":"https://api.github.com/repos/airbnb/streamalert/comments{/number}","issue_comment_url":"https://api.github.com/repos/airbnb/streamalert/issues/comments{/number}","contents_url":"https://api.github.com/repos/airbnb/streamalert/contents/{+path}","compare_url":"https://api.github.com/repos/airbnb/streamalert/compare/{base}...{head}","merges_url":"https://api.github.com/repos/airbnb/streamalert/merges","archive_url":"https://api.github.com/repos/airbnb/streamalert/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/airbnb/streamalert/downloads","issues_url":"https://api.github.com/repos/airbnb/streamalert/issues{/number}","pulls_url":"https://api.github.com/repos/airbnb/streamalert/pulls{/number}","milestones_url":"https://api.github.com/repos/airbnb/streamalert/milestones{/number}","notifications_url":"https://api.github.com/repos/airbnb/streamalert/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/airbnb/streamalert/labels{/name}","releases_url":"https://api.github.com/repos/airbnb/streamalert/releases{/id}","deployments_url":"https://api.github.com/repos/airbnb/streamalert/deployments","created_at":"2017-01-22T01:10:56Z","updated_at":"2018-07-25T05:19:45Z","pushed_at":"2018-07-25T17:00:23Z","git_url":"git://github.com/airbnb/streamalert.git","ssh_url":"git@github.com:airbnb/streamalert.git","clone_url":"https://github.com/airbnb/streamalert.git","svn_url":"https://github.com/airbnb/streamalert","homepage":"","size":8558,"stargazers_count":1432,"watchers_count":1432,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":148,"mirror_url":null,"archived":false,"open_issues_count":60,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":148,"open_issues":60,"watchers":1432,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/airbnb/streamalert/pulls/792"},"html":{"href":"https://github.com/airbnb/streamalert/pull/792"},"issue":{"href":"https://api.github.com/repos/airbnb/streamalert/issues/792"},"comments":{"href":"https://api.github.com/repos/airbnb/streamalert/issues/792/comments"},"review_comments":{"href":"https://api.github.com/repos/airbnb/streamalert/pulls/792/comments"},"review_comment":{"href":"https://api.github.com/repos/airbnb/streamalert/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/airbnb/streamalert/pulls/792/commits"},"statuses":{"href":"https://api.github.com/repos/airbnb/streamalert/statuses/69e56366951032ed4cabc0dbb588b891cef05b65"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"ryandeivert"}}