{"action":"created","comment":{"url":"https://api.github.com/repos/zenoss/product-assembly/pulls/comments/88322154","pull_request_review_id":8899542,"id":88322154,"diff_hunk":"@@ -0,0 +1,155 @@\n+#!/usr/bin/env bash\n+#\n+# http://platform-jenkins.zenoss.eng/job/product-assembly/job/<branch>/image-promote/configure\n+#\n+\n+#\n+# Environment Variables required by this script:\n+#\n+# TARGET_PRODUCT       - required; identifies the target product\n+#                        (e.g. 'core', 'resmgr', 'ucspm', etc)\n+# PRODUCT_BUILD_NUMBER - the product build to be promoted.\n+#                        Only required if FROM_MATURITY is unstable\n+# ZENOSS_VERSION       - required; the 3-digit Zenoss product version number\n+#                        (e.g. 5.2.0)\n+# ZENOSS_SHORT_VERSION - required; the 2-digit Zenoss product number\n+#                        (e.g. 5.2)\n+# FROM_MATURITY        - required; the maturity level of the build that is\n+#                        being promoted. Must be one of unstable, testing, stable\n+# FROM_RELEASEPHASE    - The release phase of the from build (e.g. \"RC1\", \"BETA\", etc)\n+#                        Only applies when FROM_MATURITY is testing\n+# TO_MATURITY          - required; the maturity level of the build that will\n+#                        be created. Must be one of testing, or stable\n+# TO_RELEASEPHASE      - The release phase of the promoted build.\n+#                        If TO_MATURITY is testing, then this value is typically something \"BETA\" or \"RC1\".\n+#                        If TO_MATURITY is stable, then this value must be a single digit such as 1.\n+#\n+\n+if [ -z \"${TARGET_PRODUCT}\" ]\n+then\n+    echo \"ERROR: Missing required argument - TARGET_PRODUCT\"\n+    exit 1\n+elif [ -z \"${ZENOSS_VERSION}\" ]\n+then\n+    echo \"ERROR: Missing required argument - ZENOSS_VERSION\"\n+    exit 1\n+elif [ -z \"${ZENOSS_SHORT_VERSION}\" ]\n+then\n+    echo \"ERROR: Missing required argument - ZENOSS_SHORT_VERSION\"\n+    exit 1\n+elif [ -z \"${FROM_MATURITY}\" ]\n+then\n+    echo \"ERROR: Missing required argument - FROM_MATURITY\"\n+    exit 1\n+elif [ -z \"${TO_MATURITY}\" ]\n+then\n+    echo \"ERROR: Missing required argument - TO_MATURITY\"\n+    exit 1\n+elif [ -z \"${TO_RELEASEPHASE}\" ]\n+then\n+    echo \"ERROR: Missing required argument - TO_RELEASEPHASE\"\n+    exit 1\n+elif [[ \"$FROM_MATURITY\" != \"unstable\" && \"$FROM_MATURITY\" != \"testing\" && \"$FROM_MATURITY\" != \"stable\" ]]\n+then\n+    echo \"ERROR: FROM_MATURITY=$FROM_MATURITY is invalid; must be one of unstable, testing or stable\"\n+    exit 1\n+elif [[ \"$FROM_MATURITY\" == \"unstable\" && -z \"${PRODUCT_BUILD_NUMBER}\" ]]\n+then\n+    echo \"ERROR: Missing required argument - PRODUCT_BUILD_NUMBER\"\n+    echo \"       When FROM_MATURITY=unstable, PRODUCT_BUILD_NUMBER is required.\"\n+    exit 1\n+elif [[ \"$FROM_MATURITY\" == \"testing\" && -z \"${FROM_RELEASEPHASE}\" ]]\n+then\n+    echo \"ERROR: Missing required argument - FROM_RELEASEPHASE\"\n+    echo \"       When FROM_MATURITY=testing, FROM_RELEASEPHASE is required.\"\n+    exit 1\n+elif [[ \"$TO_MATURITY\" != \"testing\" && \"$TO_MATURITY\" != \"stable\" ]]\n+then\n+    echo \"ERROR: TO_MATURITY=$TO_MATURITY is invalid; must be one of testing or stable\"\n+    exit 1\n+fi\n+\n+echo \"TARGET_PRODUCT=${TARGET_PRODUCT}\"\n+echo \"PRODUCT_BUILD_NUMBER=${PRODUCT_BUILD_NUMBER}\"\n+echo \"ZENOSS_VERSION=${ZENOSS_VERSION}\"\n+echo \"ZENOSS_SHORT_VERSION=${ZENOSS_SHORT_VERSION}\"\n+echo \"FROM_MATURITY=${FROM_MATURITY}\"\n+echo \"FROM_RELEASEPHASE=${FROM_RELEASEPHASE}\"\n+echo \"TO_MATURITY=${TO_MATURITY}\"\n+echo \"TO_RELEASEPHASE=${TO_RELEASEPHASE}\"\n+\n+set -e\n+set -x\n+\n+repo_tag() {\n+    target_product=\"$1\"        # examples: core, resmgr\n+    maturity=\"$2\"      # examples: stable, testing, unstable\n+    phase=\"$3\"         # examples for testing: BETA1, CR13, GA\n+                       # examples for stable: 1, 2, 3\n+    # repo name: e.g., zenoss/resmgr_5.0\n+    repo=\"zenoss/${target_product}_${ZENOSS_SHORT_VERSION}\"\n+    case $maturity in\n+        unstable )\n+            # e.g., 5.0.0_1234_unstable\n+            tag=\"${ZENOSS_VERSION}_${PRODUCT_BUILD_NUMBER}_unstable\"\n+            ;;\n+        testing )\n+            # e.g., 5.0.0_CR13\n+            tag=\"${ZENOSS_VERSION}_${phase}\"\n+            ;;\n+        stable )\n+            # e.g., 5.0.0_2\n+            tag=\"${ZENOSS_VERSION}_${phase}\"\n+            ;;\n+        * )\n+            echo \"maturity value '$maturity' is invalid\"\n+            exit 1\n+            ;;\n+    esac\n+\n+    echo ${repo}:${tag}\n+}\n+\n+retry() {\n+    local maxtries=$1; shift\n+    local sleeptime=$1; shift\n+    local command=\"$@\"\n+    local tries=0\n+    until [ ${tries} -ge ${maxtries} ]; do\n+        set +e\n+        ${command};\n+        local result=$?;\n+        set -e\n+        [ ${result} = 0 ] && break\n+        tries=$[$tries+1]\n+        echo sleeping $sleeptime before retry\n+        sleep $sleeptime\n+    done\n+    return ${result}\n+}\n+\n+rm -rf output\n+mkdir output\n+# No quoting TARGET_PRODUCTS below in order to split the string on spaces\n+FROM_STRING=$(repo_tag \"$TARGET_PRODUCT\" \"$FROM_MATURITY\" \"$FROM_RELEASEPHASE\")\n+echo \"Pulling 'from' docker image $FROM_STRING\"\n+#retry 4 5s docker pull \"$FROM_STRING\"\n+\n+# make sure there isn't already an image with this tag on docker hub\n+TO_STRING=$(repo_tag \"$TARGET_PRODUCT\" \"$TO_MATURITY\" \"$TO_RELEASEPHASE\")\n+echo \"Verifying there is no existing 'to' docker image $TO_STRING\"\n+#docker pull \"$TO_STRING\" &> /dev/null && echo \"Image with tag $TO_STRING already exists on docker hub\" && exit 1\n+\n+exit 0\n+\n+# tag the image with the new tag and push\n+docker tag -f \"$FROM_STRING\" \"$TO_STRING\"\n+retry 10 30s docker push \"$TO_STRING\"\n+if [[ \"$TO_MATURITY\" = \"stable\" ]]; then\n+    echo \"Pulling image to ensure it is available ...\"\n+    retry 4 5s docker pull \"$TO_STRING\"    # ensure new tag is available\n+    retry 4 5s docker pull \"$FROM_STRING\"  # allow a little time for dockerhub\n+    LATEST_STRING=\"$(echo $TO_STRING | cut -f1 -d:):${ZENOSS_VERSION}\"\n+    docker tag -f \"$FROM_STRING\" \"$LATEST_STRING\"\n+    retry 10 30s docker push \"$LATEST_STRING\"","path":"svcdefs/image_promote.sh","position":154,"original_position":154,"commit_id":"aecdb7cc8bd98a31956d5d63758aeee1a0e74d3a","original_commit_id":"aecdb7cc8bd98a31956d5d63758aeee1a0e74d3a","user":{"login":"jplouis","id":385623,"avatar_url":"https://avatars.githubusercontent.com/u/385623?v=3","gravatar_id":"","url":"https://api.github.com/users/jplouis","html_url":"https://github.com/jplouis","followers_url":"https://api.github.com/users/jplouis/followers","following_url":"https://api.github.com/users/jplouis/following{/other_user}","gists_url":"https://api.github.com/users/jplouis/gists{/gist_id}","starred_url":"https://api.github.com/users/jplouis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jplouis/subscriptions","organizations_url":"https://api.github.com/users/jplouis/orgs","repos_url":"https://api.github.com/users/jplouis/repos","events_url":"https://api.github.com/users/jplouis/events{/privacy}","received_events_url":"https://api.github.com/users/jplouis/received_events","type":"User","site_admin":false},"body":"Should you verify you aren't overwriting the tag like you do on line 141?","created_at":"2016-11-16T20:18:06Z","updated_at":"2016-11-16T20:18:07Z","html_url":"https://github.com/zenoss/product-assembly/pull/126#discussion_r88322154","pull_request_url":"https://api.github.com/repos/zenoss/product-assembly/pulls/126","_links":{"self":{"href":"https://api.github.com/repos/zenoss/product-assembly/pulls/comments/88322154"},"html":{"href":"https://github.com/zenoss/product-assembly/pull/126#discussion_r88322154"},"pull_request":{"href":"https://api.github.com/repos/zenoss/product-assembly/pulls/126"}}},"pull_request":{"url":"https://api.github.com/repos/zenoss/product-assembly/pulls/126","id":94012820,"html_url":"https://github.com/zenoss/product-assembly/pull/126","diff_url":"https://github.com/zenoss/product-assembly/pull/126.diff","patch_url":"https://github.com/zenoss/product-assembly/pull/126.patch","issue_url":"https://api.github.com/repos/zenoss/product-assembly/issues/126","number":126,"state":"open","locked":false,"title":"WIP - to start work on building an image-promote job for 5.2.x","user":{"login":"tgjonestx","id":2204589,"avatar_url":"https://avatars.githubusercontent.com/u/2204589?v=3","gravatar_id":"","url":"https://api.github.com/users/tgjonestx","html_url":"https://github.com/tgjonestx","followers_url":"https://api.github.com/users/tgjonestx/followers","following_url":"https://api.github.com/users/tgjonestx/following{/other_user}","gists_url":"https://api.github.com/users/tgjonestx/gists{/gist_id}","starred_url":"https://api.github.com/users/tgjonestx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgjonestx/subscriptions","organizations_url":"https://api.github.com/users/tgjonestx/orgs","repos_url":"https://api.github.com/users/tgjonestx/repos","events_url":"https://api.github.com/users/tgjonestx/events{/privacy}","received_events_url":"https://api.github.com/users/tgjonestx/received_events","type":"User","site_admin":false},"body":"I need these code on develop so I can start testing","created_at":"2016-11-16T17:30:58Z","updated_at":"2016-11-16T20:18:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"13fae06d0e19894a867aa62b0fcd5c393bcb49fa","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/zenoss/product-assembly/pulls/126/commits","review_comments_url":"https://api.github.com/repos/zenoss/product-assembly/pulls/126/comments","review_comment_url":"https://api.github.com/repos/zenoss/product-assembly/pulls/comments{/number}","comments_url":"https://api.github.com/repos/zenoss/product-assembly/issues/126/comments","statuses_url":"https://api.github.com/repos/zenoss/product-assembly/statuses/aecdb7cc8bd98a31956d5d63758aeee1a0e74d3a","head":{"label":"zenoss:feature/ZEN-26087","ref":"feature/ZEN-26087","sha":"aecdb7cc8bd98a31956d5d63758aeee1a0e74d3a","user":{"login":"zenoss","id":243767,"avatar_url":"https://avatars.githubusercontent.com/u/243767?v=3","gravatar_id":"","url":"https://api.github.com/users/zenoss","html_url":"https://github.com/zenoss","followers_url":"https://api.github.com/users/zenoss/followers","following_url":"https://api.github.com/users/zenoss/following{/other_user}","gists_url":"https://api.github.com/users/zenoss/gists{/gist_id}","starred_url":"https://api.github.com/users/zenoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenoss/subscriptions","organizations_url":"https://api.github.com/users/zenoss/orgs","repos_url":"https://api.github.com/users/zenoss/repos","events_url":"https://api.github.com/users/zenoss/events{/privacy}","received_events_url":"https://api.github.com/users/zenoss/received_events","type":"Organization","site_admin":false},"repo":{"id":62815299,"name":"product-assembly","full_name":"zenoss/product-assembly","owner":{"login":"zenoss","id":243767,"avatar_url":"https://avatars.githubusercontent.com/u/243767?v=3","gravatar_id":"","url":"https://api.github.com/users/zenoss","html_url":"https://github.com/zenoss","followers_url":"https://api.github.com/users/zenoss/followers","following_url":"https://api.github.com/users/zenoss/following{/other_user}","gists_url":"https://api.github.com/users/zenoss/gists{/gist_id}","starred_url":"https://api.github.com/users/zenoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenoss/subscriptions","organizations_url":"https://api.github.com/users/zenoss/orgs","repos_url":"https://api.github.com/users/zenoss/repos","events_url":"https://api.github.com/users/zenoss/events{/privacy}","received_events_url":"https://api.github.com/users/zenoss/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/zenoss/product-assembly","description":null,"fork":false,"url":"https://api.github.com/repos/zenoss/product-assembly","forks_url":"https://api.github.com/repos/zenoss/product-assembly/forks","keys_url":"https://api.github.com/repos/zenoss/product-assembly/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zenoss/product-assembly/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zenoss/product-assembly/teams","hooks_url":"https://api.github.com/repos/zenoss/product-assembly/hooks","issue_events_url":"https://api.github.com/repos/zenoss/product-assembly/issues/events{/number}","events_url":"https://api.github.com/repos/zenoss/product-assembly/events","assignees_url":"https://api.github.com/repos/zenoss/product-assembly/assignees{/user}","branches_url":"https://api.github.com/repos/zenoss/product-assembly/branches{/branch}","tags_url":"https://api.github.com/repos/zenoss/product-assembly/tags","blobs_url":"https://api.github.com/repos/zenoss/product-assembly/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zenoss/product-assembly/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zenoss/product-assembly/git/refs{/sha}","trees_url":"https://api.github.com/repos/zenoss/product-assembly/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zenoss/product-assembly/statuses/{sha}","languages_url":"https://api.github.com/repos/zenoss/product-assembly/languages","stargazers_url":"https://api.github.com/repos/zenoss/product-assembly/stargazers","contributors_url":"https://api.github.com/repos/zenoss/product-assembly/contributors","subscribers_url":"https://api.github.com/repos/zenoss/product-assembly/subscribers","subscription_url":"https://api.github.com/repos/zenoss/product-assembly/subscription","commits_url":"https://api.github.com/repos/zenoss/product-assembly/commits{/sha}","git_commits_url":"https://api.github.com/repos/zenoss/product-assembly/git/commits{/sha}","comments_url":"https://api.github.com/repos/zenoss/product-assembly/comments{/number}","issue_comment_url":"https://api.github.com/repos/zenoss/product-assembly/issues/comments{/number}","contents_url":"https://api.github.com/repos/zenoss/product-assembly/contents/{+path}","compare_url":"https://api.github.com/repos/zenoss/product-assembly/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zenoss/product-assembly/merges","archive_url":"https://api.github.com/repos/zenoss/product-assembly/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zenoss/product-assembly/downloads","issues_url":"https://api.github.com/repos/zenoss/product-assembly/issues{/number}","pulls_url":"https://api.github.com/repos/zenoss/product-assembly/pulls{/number}","milestones_url":"https://api.github.com/repos/zenoss/product-assembly/milestones{/number}","notifications_url":"https://api.github.com/repos/zenoss/product-assembly/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zenoss/product-assembly/labels{/name}","releases_url":"https://api.github.com/repos/zenoss/product-assembly/releases{/id}","deployments_url":"https://api.github.com/repos/zenoss/product-assembly/deployments","created_at":"2016-07-07T14:56:20Z","updated_at":"2016-11-15T19:22:56Z","pushed_at":"2016-11-16T19:55:23Z","git_url":"git://github.com/zenoss/product-assembly.git","ssh_url":"git@github.com:zenoss/product-assembly.git","clone_url":"https://github.com/zenoss/product-assembly.git","svn_url":"https://github.com/zenoss/product-assembly","homepage":null,"size":428,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":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":1,"default_branch":"develop"}},"base":{"label":"zenoss:develop","ref":"develop","sha":"31d48d67ddfa44c884e9b5fc36cf628db87e53cd","user":{"login":"zenoss","id":243767,"avatar_url":"https://avatars.githubusercontent.com/u/243767?v=3","gravatar_id":"","url":"https://api.github.com/users/zenoss","html_url":"https://github.com/zenoss","followers_url":"https://api.github.com/users/zenoss/followers","following_url":"https://api.github.com/users/zenoss/following{/other_user}","gists_url":"https://api.github.com/users/zenoss/gists{/gist_id}","starred_url":"https://api.github.com/users/zenoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenoss/subscriptions","organizations_url":"https://api.github.com/users/zenoss/orgs","repos_url":"https://api.github.com/users/zenoss/repos","events_url":"https://api.github.com/users/zenoss/events{/privacy}","received_events_url":"https://api.github.com/users/zenoss/received_events","type":"Organization","site_admin":false},"repo":{"id":62815299,"name":"product-assembly","full_name":"zenoss/product-assembly","owner":{"login":"zenoss","id":243767,"avatar_url":"https://avatars.githubusercontent.com/u/243767?v=3","gravatar_id":"","url":"https://api.github.com/users/zenoss","html_url":"https://github.com/zenoss","followers_url":"https://api.github.com/users/zenoss/followers","following_url":"https://api.github.com/users/zenoss/following{/other_user}","gists_url":"https://api.github.com/users/zenoss/gists{/gist_id}","starred_url":"https://api.github.com/users/zenoss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zenoss/subscriptions","organizations_url":"https://api.github.com/users/zenoss/orgs","repos_url":"https://api.github.com/users/zenoss/repos","events_url":"https://api.github.com/users/zenoss/events{/privacy}","received_events_url":"https://api.github.com/users/zenoss/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/zenoss/product-assembly","description":null,"fork":false,"url":"https://api.github.com/repos/zenoss/product-assembly","forks_url":"https://api.github.com/repos/zenoss/product-assembly/forks","keys_url":"https://api.github.com/repos/zenoss/product-assembly/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zenoss/product-assembly/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zenoss/product-assembly/teams","hooks_url":"https://api.github.com/repos/zenoss/product-assembly/hooks","issue_events_url":"https://api.github.com/repos/zenoss/product-assembly/issues/events{/number}","events_url":"https://api.github.com/repos/zenoss/product-assembly/events","assignees_url":"https://api.github.com/repos/zenoss/product-assembly/assignees{/user}","branches_url":"https://api.github.com/repos/zenoss/product-assembly/branches{/branch}","tags_url":"https://api.github.com/repos/zenoss/product-assembly/tags","blobs_url":"https://api.github.com/repos/zenoss/product-assembly/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zenoss/product-assembly/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zenoss/product-assembly/git/refs{/sha}","trees_url":"https://api.github.com/repos/zenoss/product-assembly/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zenoss/product-assembly/statuses/{sha}","languages_url":"https://api.github.com/repos/zenoss/product-assembly/languages","stargazers_url":"https://api.github.com/repos/zenoss/product-assembly/stargazers","contributors_url":"https://api.github.com/repos/zenoss/product-assembly/contributors","subscribers_url":"https://api.github.com/repos/zenoss/product-assembly/subscribers","subscription_url":"https://api.github.com/repos/zenoss/product-assembly/subscription","commits_url":"https://api.github.com/repos/zenoss/product-assembly/commits{/sha}","git_commits_url":"https://api.github.com/repos/zenoss/product-assembly/git/commits{/sha}","comments_url":"https://api.github.com/repos/zenoss/product-assembly/comments{/number}","issue_comment_url":"https://api.github.com/repos/zenoss/product-assembly/issues/comments{/number}","contents_url":"https://api.github.com/repos/zenoss/product-assembly/contents/{+path}","compare_url":"https://api.github.com/repos/zenoss/product-assembly/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zenoss/product-assembly/merges","archive_url":"https://api.github.com/repos/zenoss/product-assembly/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zenoss/product-assembly/downloads","issues_url":"https://api.github.com/repos/zenoss/product-assembly/issues{/number}","pulls_url":"https://api.github.com/repos/zenoss/product-assembly/pulls{/number}","milestones_url":"https://api.github.com/repos/zenoss/product-assembly/milestones{/number}","notifications_url":"https://api.github.com/repos/zenoss/product-assembly/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zenoss/product-assembly/labels{/name}","releases_url":"https://api.github.com/repos/zenoss/product-assembly/releases{/id}","deployments_url":"https://api.github.com/repos/zenoss/product-assembly/deployments","created_at":"2016-07-07T14:56:20Z","updated_at":"2016-11-15T19:22:56Z","pushed_at":"2016-11-16T19:55:23Z","git_url":"git://github.com/zenoss/product-assembly.git","ssh_url":"git@github.com:zenoss/product-assembly.git","clone_url":"https://github.com/zenoss/product-assembly.git","svn_url":"https://github.com/zenoss/product-assembly","homepage":null,"size":428,"stargazers_count":1,"watchers_count":1,"language":"HTML","has_issues":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":1,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/zenoss/product-assembly/pulls/126"},"html":{"href":"https://github.com/zenoss/product-assembly/pull/126"},"issue":{"href":"https://api.github.com/repos/zenoss/product-assembly/issues/126"},"comments":{"href":"https://api.github.com/repos/zenoss/product-assembly/issues/126/comments"},"review_comments":{"href":"https://api.github.com/repos/zenoss/product-assembly/pulls/126/comments"},"review_comment":{"href":"https://api.github.com/repos/zenoss/product-assembly/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/zenoss/product-assembly/pulls/126/commits"},"statuses":{"href":"https://api.github.com/repos/zenoss/product-assembly/statuses/aecdb7cc8bd98a31956d5d63758aeee1a0e74d3a"}}}}
{"actor":{"display_login":"jplouis"}}