{"_id":"@atomist/node-automation","_rev":"24-593ecb790bb0f9d308af43d15bda6112","name":"@atomist/node-automation","dist-tags":{"latest":"0.3.0","branch-master":"0.3.1-20180808195734"},"versions":{"0.1.2":{"name":"@atomist/node-automation","version":"0.1.2","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.1.4","@atomist/automation-client":"^0.6.6","@types/jsdom":"^11.0.3","@types/jszip":"^3.1.2","ansi-to-html":"^0.6.3","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.28.1","isbinaryfile":"^3.0.2","jszip":"^3.1.4","logzio-nodejs":"^0.4.4","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.3","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/mocha":"^2.2.41","@types/node":"^8.0.46","@types/power-assert":"^1.4.29","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.0.2","graphql-code-generator":"^0.8.13","mocha":"^3.5.3","nodemon":"^1.15.1","npm-run-all":"^4.1.1","power-assert":"^1.4.4","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.8.0","typedoc":"^0.9.0","typescript":"2.5.3","typescript-formatter":"^6.0.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"20799075fee0a4b00f0bfda9e7187160530a06ce","_id":"@atomist/node-automation@0.1.2","_npmVersion":"5.4.2","_nodeVersion":"8.9.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-Nz9A/a+Ekj4fWehpFHH5YuFoKfCh6t2iIUfxxMB20j0Q/Y6HCajL0OfyqOgyRrYAy07Cx4lFtRj/EiCVn1+57Q==","shasum":"1d6a3426da3779fbd02b01d7d89639a3cdc5eca3","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.1.2.tgz","fileCount":132,"unpackedSize":977197,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3C7JuYRjoO2Dj0R8q/A4dIiZMyQCSlnerC1LmvBgY/QIgWNTonvLstO4aBYVKstav7/Se9o6wsKkxA1zmi+msTao="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.1.2_1520165523580_0.8141737883611517"},"_hasShrinkwrap":false},"0.1.3":{"name":"@atomist/node-automation","version":"0.1.3","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.2.0","@atomist/automation-client":"^0.13.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/mocha":"^2.2.48","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^3.5.3","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.9.1","typedoc":"^0.9.0","typescript":"2.5.3","typescript-formatter":"^6.0.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"46640cb8566165871f2ab5c00268f1bb4bed3f0b","_id":"@atomist/node-automation@0.1.3","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-e3oyO19/R1zod/2H0j0/Ny6gWbS9O3S/v4G4gU3gQC9sqhWg4vdcStWXDPHlyh9u66D2JO0Q6fgJ9ghNmnuBBg==","shasum":"8e5f76a1073c6198f223b4ccd10a86856bd65fba","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.1.3.tgz","fileCount":183,"unpackedSize":2157799,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa1StYCRA9TVsSAnZWagAARkkP/j66Lyx44n//lPMxo2kz\nbQpuD6BWixxzMFc2V3HFABgldXbd/xB/uV9Tv3Cl5+s2zP/E0pPdv7n6Umuc\nJo/00dvi6JL9AEViz3iCB3kruP4xvBK01vsCarQrEMZy5QzOGXAj8Y4cD7LQ\nLtoy3EOSfauJpfnxBHNrsb9Sgg0sIZXSiLz7bjxIIc6xI07J790So3u/80Kb\nGexfIF+PgAi1N7wxAIwVbWudC8ILDXj8sJliVY+Ve4zXQdR1xihWWWXZdWpo\nwbYDIQXYaOlTVoA1QSKLrYpmvlfHVlfafMiqJuZMHdEthe6KIcBW2jMY22aC\nqQjABNWMUvzAbFrSiNykNOGmQYOnuL8JzTYMu2l3GL3zD8zYxI9zAz9HC5WJ\n0plL6xznmBN96xEB/7fPk0ijuDCVY3GfSnWOYRrfT617Uvfw/DEYoiJtdvx9\nnJQBtfZaTErzkpgFPwYhlcarWyrPS3sXkXgDns+G01B242VXijpXKqkYpUSC\nEZVVn2LC4tNTzhRnx7/XS2Q0BWcFEoJRHDAQnmp/lywVh7X3HANr82qgWeA+\n/ixYxV7T2UL+6rA1UdVh8twEhlYeP7Ek64cI4d3A6DgToqNz6VawXvMH26fq\nE2v5EJPdfx/NF6D8j4m4I8ogJxyOQfSg8h236TSpHhSqfx0943AI+mi5mycX\nNXXV\r\n=Qjo9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtcsWoqHwaOUklcBA3CECJlFbKvGIXOyCNobLTMbXKZgIgMBiwwdjXCnDZzQ1bJ1s7bV3oE9j7PBkHbS1qJLAWcKc="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.1.3_1523919703776_0.09421391820528435"},"_hasShrinkwrap":false},"0.2.0":{"name":"@atomist/node-automation","version":"0.2.0","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.2.0","@atomist/automation-client":"^0.13.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/mocha":"^2.2.48","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^3.5.3","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.9.1","typedoc":"^0.9.0","typescript":"2.5.3","typescript-formatter":"^6.0.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"e5456204018541172f9b41f1b3160f04b07bcd31","_id":"@atomist/node-automation@0.2.0","_npmVersion":"5.6.0","_nodeVersion":"9.5.0","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-VhbjsEegOu7z/59CGLBrLyFampjKBnNBRI+jx8c0nKw6/DOwr2YYUmBr+v8XNkAX+eOuJoiHG5VZKBmS0wVtUA==","shasum":"5f5015f6968248112322c73fe2bdfb7f7d127d5c","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.2.0.tgz","fileCount":32,"unpackedSize":114185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa3hHsCRA9TVsSAnZWagAAi0sP/05xPJjPIjNsiS6yAVrt\nMlJ39liWsbsJFHJoOTFydX/7a6pbA1YBcZvtWsXQQYq33SKMSD7No5NahlBH\nDU8XDDu5Pq2STUrqt/2z2PxNWqqyl/GsIhdApYhTsmuupgqDpEHCktEM6E2e\nAMRvtsK04vUUkyUr8BvIHtNHFNinL8SkhaoY9XPW/T82tHT6e963LB5Bh5Fu\n7AOx4sYW82vGRaYqL7w3Z1+PP+hzxC1YD+X6YCkkPl6m4i5FdJAf88rRK5Ab\nYM0Ia2tvMV9md1WEAVBtKEKcpHqt08yI4DBw6M3YwyeNfZLF4t6Mx4XzDIca\nnXDPbrAYyZzaFilNK6iTqE8rHpna3CPYmwPE7ryz3F7e7cPqpw2jJ0RtNQRd\nqUPt7GUV5e/jXDsUGqzMd+0TMx7GLisE0eN0G1LqNyqqquJ664aBkwdbpes3\new6P9rH56EDzdwQOP6q4Y4JED6kBYFGx9bbuIzVj1OeGLraDGAdTbVy/1A5Q\nGKSPOmNd4s8wUmbL6hD0B3/M7Hl3TIG2k0LbmK7HRRDFbN4W1DOjG397gwZ7\nfWP4+gvB46c1ZCfOx+n/ISmJ0Vj8kEiRGhDJDYUvSBUpCX0JzNw+jQkC+gRS\nP9f1ARD0J7uF0gHLGve8TyE1q2o/0dsFiutY7vemySpFjNnRzOZQM+yMBwOk\nQuUn\r\n=9uQy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDG+5VM4k3EfDFZukgBcPWq8J6al4qFXofr/dko9y1b7gIgBRUz5IJm5cvW/zqFAfnW7KHFVsfjRZyX5NY2uQsvUrk="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.2.0_1524503018931_0.12586509654535294"},"_hasShrinkwrap":false},"0.2.1-20180502195122":{"name":"@atomist/node-automation","version":"0.2.1-20180502195122","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.2.0","@atomist/automation-client":"^0.14.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/mocha":"^2.2.48","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^3.5.3","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.9.1","typedoc":"^0.9.0","typescript":"2.5.3","typescript-formatter":"^6.0.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"aa045a8acba8ae386dc1fd277186997a42ed35af","_id":"@atomist/node-automation@0.2.1-20180502195122","_npmVersion":"5.8.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-7Gqc+46Y/sk5L819ZXDHoU3iWfj83C52Kz2iP7mh55YjK5J96TE8sMQ/5ot1zoduWtXWZTMMmy+eTwRGKhqMXg==","shasum":"6043085cc86f63da66ddfebe95a0315e31b4c4b2","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.2.1-20180502195122.tgz","fileCount":124,"unpackedSize":379301,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa6l2TCRA9TVsSAnZWagAAFXMQAI7LuE7dlZ9ozPQ0maRH\nf8YZLQG/sqOTAsdK48heAGgA37ZDoHmb8dCB+DmTjUUWLtPcC7kmPMzSMV54\nHqRls+zi8h9MnykLM4piVaOO4Hc2vGN+2PIFX9wjFcF8dAXlvJztGI4hpYIu\naiCTIPZmtbHYcEQkZngNivFpkbAOJhBZsge6X/CPrVYry/ryxqm4MHOkmhX8\nQt38LIq8GZ5qN8Jmeh+ozWIpAgGF9ln34PSViWfZG7V623M2H/t+vZvZCEPA\ntXs4jRqC9bRgwro/tVO0e1yPEyLL2gLaQn4WHDEhZG0I1mDq3CgFSgHYU1NP\nPXorbRQqiXcTaRWL2hdYMNSOVj5U34wUBrvF4LVRoeoV3puu8dC8qq+lZidi\nKd6/wdFvjI6UH0EC1Dyj11YQ3ap3O6mw6MkuJ/1s848suagfG5KGACktMX4m\nDvRqY75z3pMeT3OS1XcEpn/aXEGbAPVLDQIVeElIiYVgACsg//ht1EQTxwe2\nEpl/Fe181SXdgs76TzrTCcHxqPCDeOUWy4w2qYAd/Hz/zzAKGQPHbYKwxr35\nWNICLI41S7tNVvPvewc+5HlfL1MTYGUMhDXuDc4T+GdkZ9DcbAX8UjJHDW7T\nkotcK/8E7JNiXnKeGV6/cYK5WrbNAGgEQVZ0XliHoLCclvjFqrfFDk6+cidw\n1n5H\r\n=yxUW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEh0esFnXPrn9UKjpwykPxAvHH/eJ8VuPM3oHKaOEr8gIgOv6ZJ2zrGY8UqgiOhttFpy0oHdEJ+Tqqc2ryyJP2KOQ="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.2.1-20180502195122_1525308817942_0.9818560224178241"},"_hasShrinkwrap":false},"0.2.1-20180521145006":{"name":"@atomist/node-automation","version":"0.2.1-20180521145006","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.2.0","@atomist/automation-client":"^0.14.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^2.2.48","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^3.5.3","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"7556474dc4b4c759ab4a5c2b2b08e511a5897da1","_id":"@atomist/node-automation@0.2.1-20180521145006","_npmVersion":"6.0.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-rHBr9HkkvQ9JnVqoS3vxN+4EoPYUjGMxOMiuYaTpiSID4Kn7cT62F3HbzxpvKMky2H4YcOAFKrjup47+yV+zCw==","shasum":"66def93dfe9bcdfc51d6a5c842e40ac2dfe0bdfb","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.2.1-20180521145006.tgz","fileCount":124,"unpackedSize":379034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbAt0vCRA9TVsSAnZWagAAgaAP/1uYXrQojgHnVJdGPSVi\nlQhsdrokrCtU8dw7/9usHcMYP5xDnjP0HqouEfjIkZanKfkpgNoHb4CQBRa8\nxCgvXobhiD/TCnIXmu8hFTVphs1sbCeRVRmV9c3t7pFoebCrLCqVj+fmJwKN\nN7dAd0KKJlvrzYCBsNTa131nj8AKiZeLCoJ+hGg3fLlAFWEF54j1WZXYS3KL\noVYCzq3Se9QdP41uoILdN7Ib9hAbWU/OdZF/MSzWpWJ6O61Nadt771uZKaVh\nt3ZQjvRJeR7S5qq9BXLChrDuOYi8KW2R28iCp8z9g0NlwDaPmgoH7qlJIiky\n5ZznvAZLZPQ8YGncumcYuZ2wsfynfHxvvPXhTapSnZG/nONHQq8kcz+F1gJU\ngs4hM9XtOk0gpJk6zUzRgaHMVY9IHcNYqJs5GKXL+Xn977y6aUSZGqsgVcml\n4bEtuQthTcTGcfYov2AGyv3qIaJSZrSBqUP82vnU6JhkijY/DwUfmdVVXdf6\nHigoyr/yloqBFwYbpSrwdL/Lzzc8m+b9WWDkXoEq7urBSB6iULKKo2vK/+rn\nYbWRTKV65Hc9CgGsczF+hz+TdzFGshhnfaC1cTLRI6MdyBGdtrgSOj85ysXM\n1yWiEEAE2oQqla5WKOZpgwmD4SJink514Cgw8Bb0I279GFhiPPowZmx8yX5q\n/2Aj\r\n=UAZs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDGVL78PDgTk5A1HvIJojW0LZl3ZtN7Mc1pZaUApwW+iAiB//N4LsG1kOqUhAf7YUxD704St8RVZOKEdv5ayL9rRbQ=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.2.1-20180521145006_1526914350141_0.6792884981185392"},"_hasShrinkwrap":false},"0.2.1":{"name":"@atomist/node-automation","version":"0.2.1","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.2.0","@atomist/automation-client":"^0.14.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^2.2.48","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^3.5.3","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"7556474dc4b4c759ab4a5c2b2b08e511a5897da1","_id":"@atomist/node-automation@0.2.1","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-02aKJpxGGl3SXX/6uJp4ei59ihZK0SHtQ07pMQV0twkx+XnkyvnkubMGwjH+kvv5DlBeIbWIiJ94jJ9+MDngCA==","shasum":"706ca73f1ff1570049a65d224a00e16900b6def2","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.2.1.tgz","fileCount":31,"unpackedSize":102084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGBg8CRA9TVsSAnZWagAA0J0QAJemNOEavp/lXY+ge9Tw\n2dZByz2IcjFGUqNoKquaypL8upwIYjrgp8tLctP+9PDEceDjeTszxK7xM+6A\n1G+UXc2D2NjgPmckX8W1sLusERHVEPdpzp72HB8ALrpO02phz/fEHcUBPqSE\nQU8p+Hnh7DhVorDGrVUvVEk22gRk2hvpnYq0lgG1v/WoB4WwhnXCspmvL8ZR\ntL/ZBnkwmWT4XsZsnlWDFqTiXUPa27topvDAuvmTeteg1+slmz3E6+9wrwoo\nFrbzpyLqDE7LT+FdyBR1x8RL3wk+H4VyyfD5SGCsJ7nnJAqM61zraO+vq/H4\nY1bz2vYlbM52cSKpfgTgrC3Vigf809Ex6LQG97OlO5A6OVWNP8G4zZeAiyzl\nTOI2VmlwQXzx5xn5VdvvORMNrmM18OFW2BXQY5ZKCMW3NQa7kxti/qSlhrqI\nr/erH+XxZV6PwyhTmvmVLmKgvvrtlWK3F57QTOH08+ioRvW6F+op7LahHrMC\nST3s6M//HFKcFMtMJd4l1GlzwTY0MQiNuK+nDVWk7MieGopSqO6tnlW1wDHH\njHyH/l6PpvhD+/dU9S0XpsLiYaBdb5MHwMQaO+1hKN+6KyrN4f5mh/NJkILp\n927pyB0mOx8uMBwlzavkpvi2UPPwf2Jzr1XpiltLbeBA5dytnByNnbZUl2Lq\nuXf/\r\n=Wwtz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICiuGc1H1S7s3lsFmA8e2BcdMIYyUShzjm7WAsb+6/WcAiB/MWrxUslOjvnkOmfmFiQP+L99C8HvRHGbkbMsRi4/eA=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.2.1_1528305723369_0.7450749529005478"},"_hasShrinkwrap":false},"0.2.2-20180606172251":{"name":"@atomist/node-automation","version":"0.2.2-20180606172251","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"dependencies":{"@atomist/antlr":"0.2.0","@atomist/automation-client":"^0.14.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^2.2.48","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^3.5.3","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^3.3.0","tslint":"^5.9.1","typedoc":"^0.11.1","typescript":"^2.8.3","typescript-formatter":"^7.2.0"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch src --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch src,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all lint compile test typedoc","clean":"npm-run-all clean:js clean:build","clean:build":"npm-run-all clean:gql clean:ts clean:run","clean:dist":"npm-run-all clean clean:npm","clean:gql":"rimraf src/typings/types.ts","clean:js":"rimraf \"{src,test}/**/*.js\"","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt build","clean:ts":"rimraf build","compile":"npm-run-all git:info compile:gql compile:ts","compile:gql":"npm-run-all gql:gen gql:copy","compile:ts":"tsc --project .","fmt":"tsfmt --replace","git:info":"atomist git","gql:copy":"copyfiles \"src/**/*.graphql\" build","gql:gen":"atomist gql-gen --no-install \"{graphql,src}/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.ts}\"","typedoc":"typedoc --mode modules --excludeExternals --out build/typedoc src"},"engines":{"node":"8.x.x","npm":"5.x.x"},"gitHead":"ecedc41df2045c6d8281f08f01fe5866a99dcadc","_id":"@atomist/node-automation@0.2.2-20180606172251","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-wcDatZdpYwvpv3eDqYilt8OPSLPynNg3+ckUgQzYM9NRxfrlJ29X4OZoTHJvo3fim3w0SXP/X1w/4hwTOpk/bQ==","shasum":"9cbaedb973587ae8bae9281571dcc2fa7ad113d1","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.2.2-20180606172251.tgz","fileCount":124,"unpackedSize":379034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGBjrCRA9TVsSAnZWagAAwSsP/2ESTNgjUlv3pyi7dQy0\njyHvKiNXa8PpYWijsQnMnXz7fz6GjfWCilVfNYSSbMeDgPgecQgBfb65XaN2\n5bzB4FhFWy5ZcppE6ZhHyS9RW1+boHoq1KAQ7+oXYVdpS8qr0tx6iUbPh6bV\n2sVP0SlhtFDgUNkXYQs8tl32fqDBw489rgSl8qVqh70oZQ8UWRzZQ4L2NDxR\nOcoV31bYiaF1Ze567AjeLvlyv5/B5mjzjIIz/JKMSSXuKKiv3H6jG4rL7Urp\nusQulQ1I4AEmZ+dt2UcJ52xixjmUUXx969DWiLSHXiOq+S6e9zp+mAlUI+05\n3+3v9Fkd/eHP7cgPyZLv1ZHcTIzOoT5WkiZYmVEqbLvDwg1/ZMM6Z2sQmKV+\nQo3VIK6cf43b6NmPHJvgVbkE6Jwh+8Vab0wNflBrLEannUxo/Z1WE2WwEVw4\nLgjjedAlQQn//QF/nqSC5+dm1mfmOC4oIuesaPzkvcdYAl8IfabY96UzM7RA\nM6yiFzeOGxBIew8oFOlCuQEAW2ocBfgleKwD1KVXOY/fb1TExgrfRyM8UZM9\nggGKEN85H9UaLv54+Z0Z/BdrKzfBfn6Vh19IaYQwEE/RrjX3V6vlnGAx+AUE\nBEdR1pfLWiUi6wEdor0FRVsEilrDkH6lu3XPC/llHv4xSWQn8U9TaS4wTRIa\nNMOw\r\n=NTHS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBul6D4grMXhQYebM4H1L9ap+bCnrw+LyXxz0xQ8pgtUAiEA3QxSEpNKW9SJ7bQsYCBjU4sEinq+9RsaxrIlgLGFyRU="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.2.2-20180606172251_1528305899114_0.5164120563354018"},"_hasShrinkwrap":false},"0.3.0-20180803171458":{"name":"@atomist/node-automation","version":"0.3.0-20180803171458","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"2c259c1da56153d9d4846569b4ef8492e68f98f4","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.0-20180803171458","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-tymWh0uU8g7P13D+RUqp/RdSYviKVvQ0jEcVVa+T4vW7M18M8PjYWHJQXiltW8ZG+b/6sb6xvc/u5e1+iRR6sA==","shasum":"ccd3c9f970324f267042f07f04adb4fc80dbfb04","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.0-20180803171458.tgz","fileCount":61,"unpackedSize":246764,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZI5ZCRA9TVsSAnZWagAAx78P/34Am6vnE17WSRZXbOD5\nJ+bqYNvOLuK+3+3qJ2ExQ/89TeJnegdXIPrD+6DwUlCcqPG6Pv+gQguk+wkq\n94BbrJW5baffwsrToALKX2uvk7S29pnrg0UJNhkRtu3tsRw21Bd/4pdML9ze\nbggrI+X0uCvQuWZmDAvfqEeqhkFOXaXJ5Jdm59svdcIF0vH9BUIN26avkXYl\ndslb1Y/s5O4KCzV/I6Gzfpg3mHIXHBlRG12ajVywtPeuf6QNF1jxOdVnjKto\nxqS+rZo5fJ5aX9vWzwN4PtVJ+AzHNq/E5mx2ZkW24x4MdZPW669T0IrVz4tk\nNXasW8nvoND+8uj8lpM3Y+3MqXmNlvzio08isxmF0JEiJY4WCOAuIBztilYz\n7QF+/wim8T9IyG0B21YrQpWidISF6JYTT8nHjc6QxOeYJM1Y+QJygRLGX8ds\nSn0jId5qL4u75wFfwzNqrYdRiPBDzCN6J8dTncZhSGuN3AGkur73kDREpBVG\nVvnIjQbC45Y8SfDxHKzjmL6ILbG20femPlvMPuhkyT3XPHd13pdoxKvljMN2\n2leHUyewfJUVSb5f/byYXj0Ja0oLjLNzpiya6/kx61TT85Ir8dZpsXv5QFdj\njomABvl8ep3NtEhNO2CwKOAL5fRsQM0kdAUXGhIhqHSQ57sMKxI09L4PKUFE\nElo1\r\n=s5U5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9HhvBzyNqZ1/O6HCYMY/whepC/edrV2Dy6sAXLOjgOAIhAMAkQJCQh7KyGmyYdV7YbPYQ+Zf36CQUpuDCKTDbLVLi"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.0-20180803171458_1533316696699_0.45797585739672897"},"_hasShrinkwrap":false},"0.3.0-20180803172847":{"name":"@atomist/node-automation","version":"0.3.0-20180803172847","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"195b06a11304b2cf423c36cfb5132df1a70abe92","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.0-20180803172847","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-XTw2gPY0wHD2rtLyEskHl4PJ48U4ihC4G+y9L/PAaYySMd/RS151/E2uveZz04b2D44PwO7B8IHj085wPEAorw==","shasum":"89bddc78d9765116a8be9cbe5f35ba0fe7ca656c","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.0-20180803172847.tgz","fileCount":61,"unpackedSize":246816,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZJG1CRA9TVsSAnZWagAA1yIP/iBBQSS1nyUTjSE7+Y7r\nK4+8clQi4bY+06drr14QL5esaL3srCU9ZTN53qD2USe9I9sqmeGm7bDBJSLH\nqoo/4PVgn4QGmYMo7TwY2ZOsOUcEVGCFNAvxAHDrnodqvLbiHtKFVijp1MTH\nTrseHL+9wNAzyh2VyFZArMVYMcU7Zbwur4Y+XaY1d5ZZtDRsGtxBFbwmjpKT\nCmf+zppTC5Ut8yFiDVmKPULgl0pfkiiqV9m9au6nVq+jRSbgyCnGJ0w7QPi9\nGaHCfq044C6KzHAyGLUC/Joju84gtM7TiCnSp5JUu7Y91W4HFzyUHo6l1JZk\niNnCsTyPOTKUI6Boaxtsgal0v/jbOsYBY9oCcCNUqSUciMWLX2ZaxKo3P4UH\n1lvm60SEoOP8xr26tzmD5mhZEkDfrew8CEXCMdDTvnYK5HWdv65w4eNk+Jex\nhtFLJAIXaFtG/lOqaCXt+cqivPHLxvfA0h/vYdgt1BE3dEKtLOAYXyp6T7Hs\ndalYNIpHWaspzKjpa6iHQk/SwgxwzoxWO9D3zbN+QaAlOE5H1aylxENyOLuo\nV/wZzusxBKqauvlw7k36MyZEKHCYoUat+z/YQ03OLbYExqbrzvyYfpG5jLoa\nmpWfy+fYXDoDQ4t67rNPrweD7yXttoguy8CqA/Ap1o1miOoNtYMk/3LWKkQS\nWFz3\r\n=/zok\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC75jyMNqy7Erq/Op66PBf9gERB3A2dl0/vVNL/WPuxOgIgDlnkxpgliJeJk9eSQbAtqYA2NhUIy3UdRn12TOhUZOE="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.0-20180803172847_1533317556850_0.13182300512835843"},"_hasShrinkwrap":false},"0.3.0-20180803195235":{"name":"@atomist/node-automation","version":"0.3.0-20180803195235","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"3b40c4130c3b10bf2a774a0b24f8a8af8dc30a67","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.0-20180803195235","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-YObW8eMGCpHUFNb/lS7oQmnS/7psobPECv6jnqVcj31iNbyWI+3AoofIWvm7BHXLtje99fxtpILS6Yx/oCKwsA==","shasum":"0db273c8d92f32ffb927a61a494951775ba9e13f","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.0-20180803195235.tgz","fileCount":61,"unpackedSize":246988,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZLNVCRA9TVsSAnZWagAAOf4QAKAaY5N/Ii95rzqem5LM\nqK0Vh7TFONImJCbeLwXZECHODgfcBPD+J+l5Mb5sLHjD/dDuJn6Og8s7PWR3\nxhvxlHQKMR38CCeXRQUkSuoBYJ/R2gIm7J/L54HWPu91kdd8vc81NcI30NIX\nt+166oVK3R7aL2B8dvdo6ZrOWuqyDxI5AxRccsx2Wetb7G3e20fcMt3onXEV\n8bqf1CWh1xyh1OXbK+CdK810uGWQGGXsDXnGJiQ8vTJ23KgHQ3NAI99wMZNH\nEhuI3ezoMZk4KJO05GKiiDPMx/rMChgvIxq0lJ4dzFDMUo3jnHl82befxjkX\nfUMh5G2pW9+Hm/QTG8cruI+jgpYJwkCOB4hYYutkJjkKckTod/w9pCGdTYau\naoxLKOoGrxEgb+oV+HhjEiVQgCYDk+siuzd862X/l8iWIJQzQj9L0giaCQUv\nYxJNrt5b8KqS0ke8E4v2vSbLUVI+63aBBpeuFjB2GjGSOfIHn7fxiOsqsnAg\nxeqXYJJaI8J2N9QANXjuhmb3QLsJFojA/RtHkCLBkpdvDl6ZL9pCGq3Q5aQQ\nmBE0SqSiL+8JVU6rNxKGXg8Ou4C8vazDlmKG2Y7OruAw/PGOWU8sKkYAbm/x\nY50eQ57CrVlYajwvb+PUYe7slhFzkhMunGiN4y7PyrIDwB/BJlN26iSxDAG3\nwBQn\r\n=BEzL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnWVW7GlqnwWWR8YjZO50nGgds0noxktu5X/DD85vlwAiEA9MxzKxB7G9cb8s2yLGbFOLpkOKmWkLiaaU8OwMXs/p0="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.0-20180803195235_1533326165166_0.7657875947685671"},"_hasShrinkwrap":false},"0.3.0-20180803201103":{"name":"@atomist/node-automation","version":"0.3.0-20180803201103","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"20659a341cbf2bcc201b9824ed2d6ab51f6186dd","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.0-20180803201103","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-zybFxSr0aozrKRTzgghVVs6RnvQlSTIXvCSSQvak2EqwORoAHjuwpzcLz/JOQqTKrwmYgLWoWwj9DmXOBW2LTw==","shasum":"587e1864b9b6991f4510afa90a44139d2d7dab11","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.0-20180803201103.tgz","fileCount":61,"unpackedSize":247074,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZLekCRA9TVsSAnZWagAAGpoP/2KjnJKtFDDpA07MaO03\n49WluYYQigRs7QxlFUREysio8kKLIocdyMI9bCMrIS07yxKHptfiSgMqUVyO\nzFwG5tv+hFJ+S02LOkiKqsf0P17Qbg6Jp9g2DboMLoyR72PAkDuTOWcr9/78\nDkWDyUEuInSorAP1P9ddPe5B3Wbmnf62r4j/XfpcTjT7IWw/geanfu68vuZh\naCaecq7wfBDjHaViAhQ5svLmcuoPHGg1sz22unxXkmTc9Fixe/R5HMTm2DPA\nzR66oMjS0JHiUBBnU2Un//X7wQ3MwgjQCbSrd+BhhG+Ww+G1NBfxDx94tMFJ\nF3R+0sCL3pIn6UxenuKUdSrVg5RfQPJByt6o0gi/k6GBapRqEfB0/qhTlo+r\n+Acol7w936PqCC8cjk8iGhrwKxjQ+qwIl/PdiUlnTU2i3fdAmOAhh9MLn2YI\nj3hsXhq2RLXCC+X0e33wD/nJhSdfbRFRoj9cqKYnk3wMrWjL0Ove/qKnJjHk\n+6li3FiAhUbFtA+cj/zo0z+sBncvcmT4Xbi5d7NjOhBPjQReDRP3GRrI5P4Y\nhzLX1tCRLjix0SlpjIrudRlahri5Z7AEJZtgAy6b2ZH41K2vpKrhf1J7N5eK\ng0/yWFlnI55pMTOQF1tR2/Wcxb1lIfSxekatKRwDGdTroUQeiEU+tK8U9up1\nXU5K\r\n=dzM+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDElaOgUzImhacnVn7/5Klqe/4iLhgUjsAl22ACrMnhTQIgYA1I5nO6Cnw3dBJcYDygbXVrpcOdosvsoiswwri8G6Y="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.0-20180803201103_1533327267970_0.7573323235328102"},"_hasShrinkwrap":false},"0.3.0-20180803204149":{"name":"@atomist/node-automation","version":"0.3.0-20180803204149","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"fcc185fa8552686ac2fcca0fa06dc6c87070e1b5","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.0-20180803204149","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-ky4bprdYj7HV5vpZjraGymdBFZ0HpZhkbfJzqzfKxfSXR3/5YC/5fR5O57i+XK9mf7mPMHJ6ZiNLVdlTUpAo8A==","shasum":"a904c1a3471964744b84ed8de4f8b58c9e71e097","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.0-20180803204149.tgz","fileCount":61,"unpackedSize":248757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZL7ZCRA9TVsSAnZWagAASogP/01lUSty2pOw3b9zDn56\nDH74hCCauurZHVNopyV+UKuajCLG4+X4zBc+XxYI8GtyZKUZdIwNmIuxRHqt\nJlcuqjEb+DGBS9HzH67w7GriuQpAY9g8GgCnBcp1uBuGPAhUfHQeUbu6Hx/U\n9jn6SXaurzNJrIH6RxHTtgna0AP6tqQZ9qDFroMlXbfZy5gDVlZIYZ1muRNs\nKsuNsz7r8SnFGcvBdJF8CnNA1Rcw/wIEnlGcpQ1/PijGK5Tggrc79Jz7Ltg3\neGuIi6wyfoW2yV96Dy8DKWZ4pdzf2aqaz7zE5sUJ3TJxPJ/p0/yh5Kmcd3/b\neuJA0IwEc4X/pog+pPp14BsjTXhYaRfS8L4shc7x5h8BK97p83G95ody7jl7\nsDi1CEs4FU7OZ1ruKHh7rNDRCAoQkjtckwkT+0p7i9IC2z/kmmbcrF9Ct+DN\nvqOu5F1HjBgC1rr9vDPlYppftOvd7ylovAXDHG99FyMViY/2JUjZ5e7NAPn7\nMJWO6MHDlAI+Yh1ZlSSoyMVGAuUvL3/S6P8LSQQlV9lPDuch+u9/KU4mgciP\n0pssCBZQ8YIFZS1wtK+N/UT0y/baj5VwBLx0Hpe68BWY70NXEcWeZr1qfuwV\ngYoNK7IuX0BWvH4ggutWioYacC3hcttnyaCMVVmqtexOs4qxc62SWrEAMkwE\nEdy4\r\n=10Qs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJwwzhW2hGo0qBvUpmbnEryAifcmQ+pqlGGnHBTzpeVQIhAPaMaqiz6Wtos9HAhqUiGZCU0pdQ/wH/wm61CGr8oHmf"}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.0-20180803204149_1533329113239_0.28096389733336324"},"_hasShrinkwrap":false},"0.3.0":{"name":"@atomist/node-automation","version":"0.3.0","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"fcc185fa8552686ac2fcca0fa06dc6c87070e1b5","_id":"@atomist/node-automation@0.3.0","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-+1C46BYE6DKDb8k0zq8NWxHSshu5iDitscvrdbh7fQ4FljRO0i1iTmsPpBjSXiO1J1Y+NgM2vTTED2xlZhx7JA==","shasum":"b5aab39c7c55e84f309640ae25405491ddee0e6f","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.0.tgz","fileCount":61,"unpackedSize":248742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZMDxCRA9TVsSAnZWagAAFewP/Rp4joPALwY4Fm2lEHUQ\nvgAGmU6FdMQk2Ir6eGp3f1Jusyy82QcFIUALmhu/KtlV8cXHFKNr9k+0sD5Y\naYVX9X2cvim/5xWJwxaBuBfjZjAS7uvm614wLknf7Y6ZRD17eJIPk08TWVmI\nx1cBbBbiMWu7c0lxsS0INRauESvB2GBLIZJISLsvlC811rHth7wlEflDI1nw\ny9204Lu52jDcJGAE3LtSBMHTsYlWhfbM7nOwVVptweN338VYGdSTC6cS74v3\n6M0z2W0tLUPrr4nXfjYVWSUDWPBtUGHJN7/VMXRIP6ij55cheQupm8Kv/HWN\nUZ3mIlN7+RF3nsBd0RDP6VvOZTLQ/di1PZYWbiE2rUIwP5v99GNuvPVFg6gH\nxvjsNok/aI1lt75B27WCzJV6VMqUu2CQBPucxKa4WyQCKMFtUHANjOpkX2Wo\n5s2v3eH7LApFqzNxKi4RJfgaEAJV5PW4/15cu4GxYeOLpTP6dCN10SO0o/Q6\nZ+0w/8ARDifPN0fpFAKVIdTzFTl6B5noV+1SCBnIuZ0Qy8B6dfQlA6fhnjVG\naXqtJLSD/dlcXYSJUx8POJ0Ttr5obso8wdhX24z/Rr3P6k7eyURwA0xAl2JU\nblkLj2prwR9vLcOscFeIyVHpl9/rPu9+h4D4KlgpX8Y+im7b0bsaJfC3Fygp\n3T6+\r\n=0apK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHWX3KhSIQkFoKxJtBevf+MlyVzYS9s13xy+EUOeuK0lAiASWy+iwCoEn41Xillhu8Z4+qZWqjRkSBP1DiSu3FJYUA=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.0_1533329649321_0.46271247061581144"},"_hasShrinkwrap":false},"0.3.1-20180803205522":{"name":"@atomist/node-automation","version":"0.3.1-20180803205522","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"116abd81ffba5cbbfdc1965a94900aa04b00eeef","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.1-20180803205522","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-LEtFwM2BZXihr+nWF6ywhSumU2ZdeUa2oPsUcBaYXr3Ge0odmUq6HdBjyssQ5NOYHeXiDaUn6O6iA7mOxjfn3g==","shasum":"46ba83d7158619bc1ffdcf9da1f902b64e2d95d4","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.1-20180803205522.tgz","fileCount":61,"unpackedSize":248859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZMIkCRA9TVsSAnZWagAAIvQP/14rspkWiJ4IhBFnFm53\nEfoztyEomk63/kZH4Xby6a+5Qg5oclATfJneINhQE4w0LxkG1DDxLK76bb3i\naZgsLQHSC0cdXDqWCzSUUBBbiq0d1GziFaqXdruiZlxOLQskhhWe7MwsHoNJ\n73fT4kEC5e05JzKfQdgfWw6fxG0FmM8wEQ1S4uMwLLOxnZQD0rsPd38YzRls\nqxHkYusQkKeG0zy8tCaDmOyey9LyWOkZYjCeEAI30/YZCVv4j7IclO2Ymqpi\nPJ7zYAHMAePVMofPQfzcJDYXobctrzUSAP/MjThlLs3QrqFNdduysOB1rbwe\nbQvGk2LppldT/5YYDJF0ZekmQfgaeYCvgXlnT8hrpwR6GyFF7HI/7hWrHlED\nvmVIwL5h9HuKZB8L8P2KKF41Rpy4zPOpGU9hUaXh7GAY4seRzdSgdFF+MddS\nCmC2Y17YV+uHVOVyLptdtVCGG/9Yw3hP3+10b1si4zdD8rTWJbHuxRcl3dk2\nfpBOl3Ft5iSjHXqd7sveQhpa6kuB7Dy+ocd9VqrFtTrEmVJavDFPF3iKazYM\nmfb17lLVp59uvntB4gQMRmx1mazHU1Q8AoW2Hc+coUaJpocRp6CFyMK/J8dj\nM0idO2lmy4pZjmSjhEYWg+lrLcylIkeG64NwEhRur7Ozf+AANfpW1CPmxTQN\nHswn\r\n=36fs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBchuIWCMKsdvk6KIywFPQgI/MzdB/Ty+YK/1/4lDLwbAiAre5lHI3qwZVHVUk6aXQ3q4dvoyqp5vxQ8kVAn3dzmow=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.1-20180803205522_1533329956227_0.36209862467871123"},"_hasShrinkwrap":false},"0.3.1-20180803214322":{"name":"@atomist/node-automation","version":"0.3.1-20180803214322","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/jsdom":"^11.0.4","@types/jszip":"^3.1.3","ansi-to-html":"^0.6.4","app-root-path":"^2.0.1","cfenv":"^1.0.4","config":"^1.30.0","isbinaryfile":"^3.0.2","jszip":"^3.1.5","lodash":"^4.17.10","logzio-nodejs":"^0.4.10","serialize-error":"^2.1.0","strip-ansi":"^4.0.0","winston-logzio":"^1.0.6","xml2js":"^0.4.19"},"devDependencies":{"@types/app-root-path":"^1.2.4","@types/config":"0.0.33","@types/lodash":"^4.14.108","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","@types/tmp":"0.0.33","copyfiles":"^1.2.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","tmp":"0.0.33","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"57546d0fd618086134e56eaa9ab27c363042ff4f","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.1-20180803214322","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-zl/ddERWvyDb9zV8zYvdjyGwaYFLA6RESQtzLZcpnyW7FnmiluFysP09CzwsVgk860D8HxzWVxcMigVZo1J1/A==","shasum":"d48be8d8b49895b42afb08c96b5c0d42c305d8ea","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.1-20180803214322.tgz","fileCount":61,"unpackedSize":248859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZM1OCRA9TVsSAnZWagAAyd0P/09u2iVab3kPcZLiCii8\nRQGJT3yWFlEhhL2fgR+PPcen8/RrhF+k6j4pK63oTUP4HgumJkyrun3cmmZS\nW8S0kMd3aF6xEraTUYYtKXOmvtbHDyLMSbMjZRVqbSADptxErPrf6SWJM+6N\nRop24ZkSMDRw4ddNlz8K4k8k98PONx8npOk9a9/mx8eM/AvbNpiy/36SmDZl\nbKrVtCplzxe2MMpHcpCN9WXm4+f9dLDVDhqbf7BnDwUyOc/JJLbBu6ul2Mfc\n01KXX85/tsofS6WO5pXTFdtZF/eX3lv3cBHKTX5sFUvu3081H+KsOhxfkClH\nuC4YA02pnP2903/Wnu0LPjfFH3Z8jmehYN5QrCg8DZ1mN4CvWoh7kvE15Jgw\nivPtPu0zyL6r++yiBWJsAv73XzGv8DPXB0DbT9GLJ3+F+MUEl1VHA2VoARuT\naD/lbVZvOqfNaUH9Pn2KJNaqLk0pbF7PmuzlWh4UNtEr7DYxG58TnjNQrqhH\nFXVMLMHlsfAOtIyH4gY4AznKKcBh0s7d7PTCGfs6ahXQeYfWYEerVjQZ/576\nsjqlyrZjyNe5tUz93FmwhtUCZ7CsqCShx2F1rjCBw1bLf8/lVaY6Ksz3cPOP\nvJoDyMVsSlo4dcbHRy8VDPCkjCnO7dUk+duf8iOO9qc1WGiHpG+Khbw4JsJm\nlv6+\r\n=LfoN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFm289GiS+5SWjEdfw2z22JNd6xxjjTZQslX8RB1EfNjAiBBnz2aOfqx9pbJOpNlf6Rahc+zENmGS+ei/IEYCQsmRw=="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.1-20180803214322_1533332814122_0.5541292139541103"},"_hasShrinkwrap":false},"0.3.1-20180804024024":{"name":"@atomist/node-automation","version":"0.3.1-20180804024024","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.1","@types/app-root-path":"^1.2.4","app-root-path":"^2.0.1"},"devDependencies":{"@types/lodash":"^4.14.116","@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","espower-typescript":"^8.1.3","graphql-code-generator":"^0.8.21","mocha":"^5.2.0","nodemon":"^1.17.3","npm-run-all":"^4.1.2","power-assert":"^1.5.0","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":"9.x.x","npm":"6.x.x"},"gitHead":"bdf2d55e22f71316048b13b56c4ee6316dfc788c","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.1-20180804024024","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-ZRqMS00HGslpJarrP7XN72VttMjjunMahXOlz+0wpIhVGru1GJNqi7jb/UctuMkJmPqpDeJXi8HFtJsChROCqg==","shasum":"4665f82299b673c17822cfe4c3c383e0be51ade7","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.1-20180804024024.tgz","fileCount":61,"unpackedSize":245246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbZRLTCRA9TVsSAnZWagAAS3MP/ju8Bh8B0wK8BsDqqEhF\nkngVKnfUa3OcT0BgR/zXm+TED9XJRoYVf2Ps4l5nZ4hV4Y5Qd1QLUYpDl00Q\nfeXbkhb1d16B0xShddJV4i+uSlOX9C6/7f8f94Tp3T2S+Qr6XwszOb/7Jq1T\nkxE8hv1py4Mz5q2P3vf+wbBMvuCNHLG3yPXq/975Uf7VjLwhb97j7ZqXRC18\nqxX5ecR4H0GqPKcRhY25dik8R35UL+ukFqTIraBhU7uZfmZpb9+rSvPvZjwo\nkAnbJdj5+Op0/GWk35G8QOmjqklorSbpUxW5vqr+J421I6qDTuqP2SZ5YMPG\ndavJudg1HSsS4njIMWsYPy/jczxbNpHUWIkf+GnGijBhjhfW7g6JhcZKNtGG\n8NzvtSrVixO61Efow7tN/2OgoxU3dEh4v4hUxgDAjsgRTCraEz1ARIFzFmB8\nZjS53dldBbFUPa/ZiAKRgQhsNXfK4iNLcWpcRfIyVK7FjIFhF7KVlxSyFi+q\ns41YNZ2Bh3MEn7D9iAkEh0b0mXEbMdlZ1igbZKOfqgjiMejxu7CzUu0Wf9B3\ni11Yt32aIS3wEK+Wy4gvEL+WIBRY58SfOetyqvbcPEb9if2/uM53kmo1a3uz\n1TjiRYItHk/3WZonbK+lwyByd4PmquVCw7/mSbM/1GzDSp/4geg7Xyp2qKbt\nnBe8\r\n=JWfF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdv+d6rF1M5sfIPm0YnBuUk8jjuoEmqDYgTTE8zMSI1QIgOqfPiYjxyVGcnhp8hCdxIWyfDqN+DiONCx9NVkeml3A="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.1-20180804024024_1533350610395_0.0012622990776098852"},"_hasShrinkwrap":false},"0.3.1-20180808195734":{"name":"@atomist/node-automation","version":"0.3.1-20180808195734","description":"Atomist automations for Node.js","author":{"name":"Atomist"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"homepage":"https://github.com/atomist/node-automation#readme","bugs":{"url":"https://github.com/atomist/node-automation/issues"},"keywords":["atomist","automation","nodejs"],"main":"./index.js","types":"./index.d.ts","dependencies":{"@atomist/automation-client":"^0.19.4","@atomist/automation-client-ext-logzio":"^0.1.2","@types/app-root-path":"^1.2.4","app-root-path":"^2.0.1"},"devDependencies":{"@types/mocha":"^5.2.5","@types/node":"^8.10.8","@types/power-assert":"^1.5.0","espower-typescript":"^9.0.0","mocha":"^5.2.0","nodemon":"^1.18.3","npm-run-all":"^4.1.3","power-assert":"^1.6.0","rimraf":"^2.6.2","supervisor":"^0.12.0","ts-node":"^7.0.0","tslint":"^5.11.0","typedoc":"^0.11.1","typescript":"^2.9.2","typescript-formatter":"^7.2.2"},"directories":{"test":"test"},"scripts":{"autostart":"nodemon --watch index.ts,lib --ext ts --exec ts-node -- node_modules/@atomist/automation-client/start.client.js","autotest":"supervisor --watch index.ts,lib,test --extensions ts --no-restart-on exit --quiet --exec npm -- test","build":"npm-run-all compile test lint doc","clean":"npm-run-all clean:compile clean:doc clean:run","clean:compile":"rimraf build git-info.json \"index.{d.ts,js*}\" \"{lib,test}/**/*.{d.ts,js*}\" lib/typings/types.ts","clean:dist":"npm-run-all clean clean:npm","clean:doc":"rimraf doc","clean:npm":"rimraf node_modules","clean:run":"rimraf *-v8.log profile.txt log","compile":"npm-run-all git:info gql:gen compile:ts","compile:ts":"tsc --project .","doc":"typedoc --mode modules --ignoreCompilerErrors --exclude \"**/*.d.ts\" --out doc index.ts lib","fmt":"tsfmt --replace","git:info":"atomist git","gql:gen":"atomist gql-gen --no-install \"lib/**/*.graphql\"","lint":"tslint --format verbose --project . --exclude \"{build,node_modules}/**\" --exclude \"**/*.d.ts\" \"**/*.ts\"","lint:fix":"npm run lint -- --fix","start":"atomist start --no-install --no-compile","test":"mocha --require espower-typescript/guess \"test/**/*.test.ts\"","test:one":"mocha --require espower-typescript/guess \"test/**/${TEST:-*.test.ts}\"","typedoc":"npm run doc"},"engines":{"node":">=8.0.0","npm":">=5.0.0"},"gitHead":"e17c14725ac93e3e39c11bc964a807fe522fd4ef","readme":"# @atomist/node-automation\n\n[![npm version](https://badge.fury.io/js/%40atomist%2Fnode-automation.svg)](https://badge.fury.io/js/%40atomist%2Fnode-automation)\n[![Build Status](https://travis-ci.org/atomist/node-automation.svg?branch=master)](https://travis-ci.org/atomist/node-automation)\n[![Docker Pulls](https://img.shields.io/docker/pulls/atomist/node-automation.svg)](https://hub.docker.com/r/atomist/node-automation/)\n\nThis repository contains Atomist automations for Node.js: generators\nand editors.  These automation use the\n[`@atomist/automation-client`][client] node module to implement a\nclient that connects to the Atomist API.\n\n[client]: https://github.com/atomist/automation-client-ts (@atomist/automation-client Node Module)\n\n## Prerequisites\n\nBelow are brief instructions on how to get started running this\nproject yourself.  If you just want to use the functionality this\nproject provides, see the [Atomist documentation][docs].  For more\ndetailed information on developing automations, see\nthe [Atomist Developer Guide][dev].\n\n[docs]: https://docs.atomist.com/ (Atomist User Guide)\n[dev]: https://docs.atomist.com/developer/ (Atomist Developer Guide)\n\n### GitHub account\n\nYou must have a GitHub account, either GitHub.com or GitHub Enterprise\n(GHE).  If you want to use Atomist with GHE, please [contact\nAtomist](mailto:support@atomist.com).  The remainder of these\ninstructions assume you have a GitHub.com account.  If you do not\nalready have a GitHub.com account, you can [create\none][github-create].\n\n[github-create]: https://github.com/join (Join GitHub)\n\n### Atomist workspace\n\nYou also need to sign up with Atomist and create a workspace.  Once\nyou have a GitHub.com account, you can sign up with Atomist at\n[https://app.atomist.com/][atm-app].  Once you are registered with\nAtomist, you can create an Atomist workspace and add your GitHub user\nand/or organizations to that workspace.\n\n[atm-app]: https://app.atomist.com/ (Atomist Web Interface)\n\n### Kubernetes\n\nThis automation works with [Kubernetes][kube], so you need a\nKubernetes cluster with a functioning ingress controller, such as\n[ingress-nginx][].\n\nIf you do not have access to a Kubernetes cluster, you can create one\non your local system using [minikube][].  Once you have minikube\nrunning, you can create an ingress controller in the cluster using the\ningress add-on.\n\n```console\n$ minikube start\n$ minikube addons enable ingress\n```\n\n[kube]: https://kubernetes.io/ (Kubernetes)\n[ingress-nginx]: https://github.com/kubernetes/ingress-nginx (Ingress nginx)\n[minikube]: https://kubernetes.io/docs/getting-started-guides/minikube/ (Minikube)\n\n### Slack\n\nAtomist has a powerful [Slack][slackhq] application, allowing you to\nsee and act on your development activity right in Slack.  Slack is\n_not_ a requirement for using Atomist, but if you try it, you'll\nprobably like it.  If you do not have access to a Slack team, it is\neasy to [create your own][slack-team].\n\nIn your Slack team, install the Atomist app in Slack, click the button\nbelow.\n\n<p align=\"center\">\n <a href=\"https://atm.st/2wiDlUe\">\n  <img alt=\"Add to Slack\" height=\"50\" width=\"174\" src=\"https://platform.slack-edge.com/img/add_to_slack@2x.png\" />\n </a>\n</p>\n\nOnce installed, the Atomist bot will guide you through connecting\nAtomist, Slack, and GitHub.\n\n[slackhq]: https://slack.com/ (Slack)\n[slack-team]: https://slack.com/get-started#create (Create a Slack Team)\n\n## Running\n\nThe automations provided by this package are run globally by Atomist\nso you only have to run this yourself if you wish to customize its\nbehavior.\n\nYou can use the Kubernetes resource files in the [kube\ndirectory][kube] as a starting point for deploying this automation in\nyour Kubernetes cluster.  Before deploying this automation, you will\nneed to create a secret with the automation configuration.  The only\nrequired configuration values are the `teamIds` and `token`.  The\n`teamIds` should be your Atomist team ID(s), which you can get from\nthe settings page for your Atomist workspace or by sending `team` as a\nmessage to the Atomist bot, e.g., `@atomist team`, in Slack.  The\n`token` should be a [GitHub personal access token][ghpat] with\n`read:org` and `repo` scopes.\n\n```console\n$ kubectl create secret generic automation \\\n    --from-literal=config='{\"teamIds\":[\"TEAM_ID\"],\"token\":\"TOKEN\"}'\n```\n\nIn the above commands, replace `TEAM_ID` with your Atomist team ID,\nand `TOKEN` with your GitHub token.\n\nTo deploy the automation, run the following command:\n\n```console\n$ kubectl apply -f https://raw.githubusercontent.com/atomist/node-automation/master/assets/kube/deployment.yaml\n```\n\n[kube]: ./assets/kube/ (node-automation Kubernetes Resources)\n[ghpat]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel in our community Slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist/node-automation/issues\n\n## Development\n\nBefore developing this project, you will need to install Node.js and\nconfigure your environment.\n\n### Node.js\n\nYou will need to have [Node.js][node] installed.  To verify that the\nright versions are installed, please run:\n\n```console\n$ node -v\nv9.7.1\n$ npm -v\n5.6.0\n```\n\nThe `node` version should be 8 or greater and the `npm` version should\nbe 5 or greater.\n\n[node]: https://nodejs.org/ (Node.js)\n\n### Cloning the repository and installing dependencies\n\nTo get started run the following commands to clone the project,\ninstall its dependencies, and build the project:\n\n```console\n$ git clone git@github.com:atomist/node-automation.git\n$ cd node-automation\n$ npm install\n$ npm run build\n```\n\n### Configuring your environment\n\nIf this is the first time you will be running an Atomist API client\nlocally, you should first configure your system using the `atomist`\nscript:\n\n```console\n$ `npm bin`/atomist config\n```\n\nThe script does two things: records what Slack team you want your\nautomations running in and creates\na [GitHub personal access token][token] with \"repo\" and \"read:org\"\nscopes.\n\nThe script will prompt you for your Atomist workspace/team ID, or you\ncan supply it using the `--team TEAM_ID` command-line option.  You can\nget your Atomist team ID from the settings page for your Atomist\nworkspace or by typing `team` in a DM to the Atomist bot.\n\nThe script will prompt you for your GitHub credentials.  It needs them\nto create the GitHub personal access token.  Atomist does not store\nyour credentials and only writes the generated token to your local\nmachine.\n\nThe Atomist API client authenticates using a GitHub personal access\ntoken.  The Atomist API uses the token to confirm you are who you say\nyou are and are in a GitHub organization connected to the Slack team\nin which you are running the automations.  In addition, it uses the\ntoken when performing any operations that access the GitHub API.\n\n[token]: https://github.com/settings/tokens (GitHub Personal Access Tokens)\n\n### Running locally\n\nYou can run this automation client locally, allowing you to change the\nsource code of this project and immediately see the effects in your\nenvironment with the following command\n\n```console\n$ npm run autostart\n```\n\nTo run in a more traditional manner, build the project and then simple\nstart it.\n\n```console\n$ npm run build\n$ npm start\n```\n\nTo download and run the Docker image of this project, run the\nfollowing command\n\n```console\n$ docker run --rm -e GITHUB_TOKEN=YOUR_TOKEN -e ATOMIST_TEAMS=TEAM_ID \\\n    atomist/node-automation:VERSION\n```\n\nreplacing `YOUR_TOKEN` and `TEAM_ID` with the token and team ID from\nyour `~/.atomist/client.config.json` created by the `atomist config`\ncommand and `VERSION` with the [latest release of this repo][latest].\nNote that this will not be running any code from your local machine\nbut the code in the Docker image.\n\n[latest]: https://github.com/atomist/node-automation/releases/latest\n\n### Build and Test\n\nCommand | Reason\n------- | ------\n`npm install` | install all the required packages\n`npm run build` | lint, compile, and test\n`npm start` | start the Atomist automation client\n`npm run autostart` | run the client, refreshing when files change\n`npm run lint` | run tslint against the TypeScript\n`npm run compile` | compile all TypeScript into JavaScript\n`npm test` | run tests and ensure everything is working\n`npm run autotest` | run tests continuously\n`npm run clean` | remove stray compiled JavaScript files and build directory\n\n### Release\n\nTo create a new release of the project, update the version in\npackage.json and then push a tag for the version.  The version must be\nof the form `M.N.P` where `M`, `N`, and `P` are integers that form the\nnext appropriate [semantic version][semver] for release.  The version\nin the package.json must be the same as the tag.  For example:\n\n[semver]: http://semver.org\n\n```console\n$ npm version 1.2.3\n$ git tag -a -m 'The ABC release' 1.2.3\n$ git push origin 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will publish\nthe NPM module and automatically create a GitHub release using the tag\nname for the release and the comment provided on the annotated tag as\nthe contents of the release notes.\n\n---\n\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://atomist.com/ (Atomist - How Teams Deliver Software)\n[slack]: https://join.atomist.com/ (Atomist Community Slack)\n","readmeFilename":"README.md","_id":"@atomist/node-automation@0.3.1-20180808195734","_npmVersion":"6.3.0","_nodeVersion":"9.11.2","_npmUser":{"name":"atomist","email":"npm@atomist.com"},"dist":{"integrity":"sha512-GnAfEFYCYrjSDFpOyttjpc+aNRu6B+VJ30qCGWXugDQ6nb3/i1uRvmXnmFZNYd7LrtHf5Soy5TI1Uw6IYIqfjg==","shasum":"94be3b74bc625d143bba2e022fdec4958b84f82b","tarball":"https://registry.npmjs.org/@atomist/node-automation/-/node-automation-0.3.1-20180808195734.tgz","fileCount":49,"unpackedSize":224346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJba0v3CRA9TVsSAnZWagAAMBcP/R4J8ucLPrjbDrShH894\naw+V/V94R/ozKzrJ/3PxSgm8xvfHb+jV2EpMZ8wCnx0J5jh+Z/w56cpZKogk\nxqHzsBTmQUNQysdnjbMn+HspdsV1Lhd2cCG57C+IWi5AQzN54CSKwzyWfSRL\nZmxTLpOUKCnPqSuTNgAq7eqYsU3qv/yTq8zyetQ8835EvFb3av1ZRITjhuyw\nEEmk03MRDPyGKZ/HN8iapeDe5CO/IIW5xS/+8qHnxsOMY767DNXB5C/cwqrO\nDmeT1g+omG1+QLKohzn99ZoaeOnm2d2Ow6/nnUKSVsGwICWkLmWgnG0ISxeJ\ntl51xrGbA05qHWrWS6XjJhq1vdK1F9cTKFjvb5HDG1edU3bmEFjPS+H9KLuG\nGUQnz4VC0TckbAJoGmguQaF7rUr7c/yU6yGmhj/+adEakwM4N6eSTLKLHpM2\ntTpZ6dHo+jhbcnf0CbKJ6z9lDerzo4zgmjj+9RiRDvhVn3l/neDL11648nHl\n4hkY3iFEA14+RAnqC1FFmXi7cBxBtNXox8weYLG5Q51XrsCkva1XOr93WLlv\nIwE7f+FCq/tpbrPqm2strAnnpjtR/4mBhjq0REcusrQkZ3+Or/NRGugYTbw/\najTzX1Q4F2XLFFtfTNhhCxIS+ZF6FuPtpBSL00K9ZtDmUfGumpW+S/xXHzY3\n1O2z\r\n=6lst\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH73ZpDnwBwdSBW5fQ7mmO+OGUwXFifXluO1hdVyh0SJAiEAr1YEy1HYHmpVI74zKKYqZaChHeMqYgAMIhD9UhoF/IY="}]},"maintainers":[{"name":"atomist","email":"npm@atomist.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-automation_0.3.1-20180808195734_1533758455557_0.6657483445449313"},"_hasShrinkwrap":false}},"time":{"created":"2018-03-04T12:12:03.493Z","0.1.2":"2018-03-04T12:12:03.662Z","modified":"2023-02-23T17:59:06.926Z","0.1.3":"2018-04-16T23:01:44.009Z","0.2.0":"2018-04-23T17:03:39.031Z","0.2.1-20180502195122":"2018-05-03T00:53:38.007Z","0.2.1-20180521145006":"2018-05-21T14:52:30.222Z","0.2.1":"2018-06-06T17:22:03.544Z","0.2.2-20180606172251":"2018-06-06T17:24:59.218Z","0.3.0-20180803171458":"2018-08-03T17:18:16.818Z","0.3.0-20180803172847":"2018-08-03T17:32:37.649Z","0.3.0-20180803195235":"2018-08-03T19:56:05.244Z","0.3.0-20180803201103":"2018-08-03T20:14:28.071Z","0.3.0-20180803204149":"2018-08-03T20:45:13.474Z","0.3.0":"2018-08-03T20:54:09.436Z","0.3.1-20180803205522":"2018-08-03T20:59:16.367Z","0.3.1-20180803214322":"2018-08-03T21:46:54.239Z","0.3.1-20180804024024":"2018-08-04T02:43:30.481Z","0.3.1-20180808195734":"2018-08-08T20:00:55.663Z"},"maintainers":[{"email":"neil.prosser+npmjs@gmail.com","name":"neilprosser"},{"email":"npm@atomist.com","name":"atomist-bot"},{"email":"cd@atomist.com","name":"cdupuis"},{"email":"slimslenderslacks@gmail.com","name":"slimslenderslacks"}],"description":"Atomist automations for Node.js","homepage":"https://github.com/atomist/node-automation#readme","keywords":["atomist","automation","nodejs"],"repository":{"type":"git","url":"git+https://github.com/atomist/node-automation.git"},"author":{"name":"Atomist"},"bugs":{"url":"https://github.com/atomist/node-automation/issues"},"license":"Apache-2.0","readme":"","readmeFilename":""}