{"_id":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","_rev":"4-60341b50664be6af9c4dd9431ff934fc","name":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","dist-tags":{"latest":"0.4.7"},"versions":{"0.4.3":{"name":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","version":"0.4.3","description":"A collection of Backstage scaffolder backend modules for Azure pipelines.","main":"dist/index.cjs.js","types":"dist/index.d.ts","publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin-module"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"repository":{"type":"git","url":"git+https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines.git"},"keywords":["backstage","azure-devops","azure-pipelines","backstage-plugin","backstage-template"],"author":{"name":"Parfümerie Douglas GmbH"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines/issues"},"homepage":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines#readme","dependencies":{"@backstage/backend-common":"^0.15.2","@backstage/errors":"^1.1.2","@backstage/integration":"^1.3.1","@backstage/plugin-scaffolder-backend":"^1.6.0","@backstage/types":"^1.0.0","@types/node-fetch":"^2.6.2","node-fetch":"2"},"devDependencies":{"@backstage/cli":"^0.20.0"},"gitHead":"ddab02182b2836405bb6767dd826e027a57cd872","_id":"@carlos-bologna/scaffolder-backend-module-azure-pipelines@0.4.3","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-UJ7ryZ0zr9adYd1CscI/DO66WQuDYOH1C+vzregVTiVDnTEF524KInZd8STXGy+1cv9MzJjX/D/OHDCpRG7jiw==","shasum":"730ca8ac89f57be33e4519c72ad49986025890e8","tarball":"https://registry.npmjs.org/@carlos-bologna/scaffolder-backend-module-azure-pipelines/-/scaffolder-backend-module-azure-pipelines-0.4.3.tgz","fileCount":6,"unpackedSize":59562,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEqIROKK9PZhP943cv2Tf1rMx1IAlo34DlxRR6l5bpPgIhANbjHddg/uxSnqYM7i9XLyso3x2/q1oCVwQjoC+zrbAC"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV+xdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrD/g//QkQXhUJqSgLZeyE5ZqcKu5wQ9wnr6eoR0vON6UM1+kjrTA2G\r\noI414/IYhLiUnDNgqmzubY1PHQV+8TnIVB46tsvNTqPO4lbYnpiuiff//exL\r\n5c8QO6WZwRcl4zHGptjf0PcZsuAj6HvuprUMnQPUNtGCf39WmQYweZPDuxjI\r\nMfhv7QYLLCH+Dk5jSK3ElAW1daxqmWTiu9AA0TvrBvLkXSF4/IKQYltrVAbe\r\nJ6v+5JRwTb1ZHM3eAQGmpkdGCVIfGaIgHLqhhuRRP28JrLJL8iRoj4XcUTmv\r\nJRHjRJbQTZA/edhnBqOS8fzQPfDUspRMqvIPWakEH1fe31NawvXw80cIgcJg\r\nPLRu0aIvBjj00BOFZCWt5G1iyQhR3hYsDa6nqXqwPA/ZOmjyjFFKqwRO9Sjv\r\nxhHtHO1PxnNUJ44SRegxe5oMTLYsautOi+lM6LoHbcTOp0XFgQENs/pNSjCj\r\nL/yP6hYbGuZTZUM0HjZYLVFS2mWOVcIGnWbDTuMld6nJSfMT6aAodo6rw0sW\r\nJVmmapR9BqqUXkDpmNbt4VLy7JbGxboqk8jdNgajumgXoVNfaiS4gIMK6pjC\r\ny5yVkJv+U4CRaw5Btj4BcHCmm5B3tBlJgIk280X20Tj5gYJcoA59jpM0akzH\r\nats4rwBTdjj9oX9AE1yTjYMx4XXGw984OyQ=\r\n=hWTH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlos-bologna","email":"contact@carlosbologna.me"},"directories":{},"maintainers":[{"name":"carlos-bologna","email":"contact@carlosbologna.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scaffolder-backend-module-azure-pipelines_0.4.3_1666706524957_0.3243979651084017"},"_hasShrinkwrap":false},"0.4.4":{"name":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","version":"0.4.4","description":"A collection of Backstage scaffolder backend modules for Azure pipelines.","main":"dist/index.cjs.js","types":"dist/index.d.ts","publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin-module"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"repository":{"type":"git","url":"git+https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines.git"},"keywords":["backstage","azure-devops","azure-pipelines","backstage-plugin","backstage-template"],"author":{"name":"Parfümerie Douglas GmbH"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines/issues"},"homepage":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines#readme","dependencies":{"@backstage/backend-common":"^0.15.2","@backstage/errors":"^1.1.2","@backstage/integration":"^1.3.1","@backstage/plugin-scaffolder-backend":"^1.6.0","@backstage/types":"^1.0.0","@types/node-fetch":"^2.6.2","node-fetch":"2"},"devDependencies":{"@backstage/cli":"^0.20.0"},"gitHead":"ddab02182b2836405bb6767dd826e027a57cd872","_id":"@carlos-bologna/scaffolder-backend-module-azure-pipelines@0.4.4","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-h/l4aevepVPtYO82m4FaF5Fg2jN9zrEbL+fxTQXsJkubZD5CHhhzhTvc2mUJcHkS8pv8eoxd2BkfxzLGePc3hA==","shasum":"1fee950197d18b7890cc6d2c88d839eea22f5b32","tarball":"https://registry.npmjs.org/@carlos-bologna/scaffolder-backend-module-azure-pipelines/-/scaffolder-backend-module-azure-pipelines-0.4.4.tgz","fileCount":6,"unpackedSize":59859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOtICYAEzmEcSui/jzC5Nh3lcq9XX+MKVfQm27516T2AIgaZnpCV/piEZX+84kRWg9dcWMlXwHAUN713l/SQVRhWU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV/g5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNqA/9HzM/VHlbRraZTJFN4o1b9Ma7S9hh+5IqQxV2TIhahqtEVQXv\r\nqd3AiviQtXvywaqQ9ej00eg+HJtjuKH9SSN3RUdWyS968z9+s6MKjPtejmhT\r\ncjMdNsoetIUbQ4NStNVEg/rC30pQdNLEOoWQ2cZm4uTqUoXa/Gtg6b698ldg\r\nt3VJYnKDifPYLSjtHbg3HbIfU6ZovRG7JQ9n4ODHsd9w0N1wM7TCyc4UqsVb\r\n4Yypk+ba8uUbcvJmSg8jYaprRO1rgqFMA9kPIRWHQThj9ls0Q7sKzCalBthk\r\nLJc6cddgoBHQK2zx2judUNh92gwsd/w2BL9g4nnB7EW+U6cmxAdp394jJRg4\r\nXWDw7CdM4m8A627yhYPchvahi4WFl1sPz1gGy0iVL6bYgTi2CHUJMlht3mYo\r\nHSRXl/s/PSrOHb1o8NJpPpgipg/jHg+FKLXgEs1jmNoYLslr9WITmVw8oUiF\r\nTHns6Fl0iQAfYoRPzdNfvV4aQFD+2fK6BZF3dnqvsVBF+4OvLkoiSgsJdmcs\r\nxwyHW59Jcg0BvTFNC4mU9am8NwmcMWDTcwRVC7i/ZkzPn8dZg2Xyq4WwLBhR\r\nhHgDAW4A4S/G1zkJuc+cjkhRe3Yt6frqi3Iv0JVI0RfSGj9Xuu62bCObVQjr\r\nIXYNWMpKYeueYskiOstSw9GkuaS20HWFtUQ=\r\n=mwPk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlos-bologna","email":"contact@carlosbologna.me"},"directories":{},"maintainers":[{"name":"carlos-bologna","email":"contact@carlosbologna.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scaffolder-backend-module-azure-pipelines_0.4.4_1666709561423_0.12499927891300477"},"_hasShrinkwrap":false},"0.4.5":{"name":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","version":"0.4.5","description":"A collection of Backstage scaffolder backend modules for Azure pipelines.","main":"dist/index.cjs.js","types":"dist/index.d.ts","publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin-module"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"repository":{"type":"git","url":"git+https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines.git"},"keywords":["backstage","azure-devops","azure-pipelines","backstage-plugin","backstage-template"],"author":{"name":"Parfümerie Douglas GmbH"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines/issues"},"homepage":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines#readme","dependencies":{"@backstage/backend-common":"^0.15.2","@backstage/errors":"^1.1.2","@backstage/integration":"^1.3.1","@backstage/plugin-scaffolder-backend":"^1.6.0","@backstage/types":"^1.0.0","@types/node-fetch":"^2.6.2","node-fetch":"2"},"devDependencies":{"@backstage/cli":"^0.20.0"},"gitHead":"ddab02182b2836405bb6767dd826e027a57cd872","_id":"@carlos-bologna/scaffolder-backend-module-azure-pipelines@0.4.5","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-CzxYWwHFqfLT6B/pLiyDsM/PJQYsM5h0S+UH1HYxjg9H9WKvQlb6IQ8cSqcNxEePvYW4J6t3EduMfHJ/55jIIA==","shasum":"9f5f0f74d10a65a59a6045a1fe5d12f84e5baf45","tarball":"https://registry.npmjs.org/@carlos-bologna/scaffolder-backend-module-azure-pipelines/-/scaffolder-backend-module-azure-pipelines-0.4.5.tgz","fileCount":6,"unpackedSize":59241,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDB2pMalhBPp8aaFqvGf2VBZfjt4SyDceuQ6XQfQtDu+AIhAO+m5QipdW8pJs6y09qyHeCWPROstruenVWDijH7ZZGY"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWB1CACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQxA/+O0cDt/1wDCBMpYWmb5pw0X998PN57yfEMt6wYisVgy+Mp+rs\r\nLENmRwcbKb/5tMlXWQ+4Wdp2ic6vnsYMiACmFSfOqaAndF8RAqe4fzr5kvEs\r\noJvScHvhWAQmkOcRtKzf4rPF+73ZV/3LueEmvzd5RrI7tftkV1nAboGzKdhP\r\ngURkGotTgET5z5UPWF4I5PdWWFajG6jayIBnLpfEz0i9sTcB/NBz/mzeG0sa\r\nlkO+x79bhur7PiOpPUsrHM/CS8rQaeJftVaSMTGySHYW9qnPcXHiOVh2X/Jv\r\nukXFbhuCsg+AhBNfsrTp7J1RYrlNy0NXldZiWRf8NxMJMDNF354Vwu6IvU/9\r\n1j9QW05qotzeTr3vYjuiQBdsCxSu55ip5I5I9IOzJ+yPHV1YKhYnrfDA43TB\r\n7TCfNC3SPa+sMFMf2oEYPYSP5Bj+dbFzXjc1vl7d/erAm0gSJSRlaYk+QwrJ\r\nAKiZKoF7G88NULXuLMGDpVlRw2248zxwgzA8GIr6ICRSgHVCV7XHpUuFIPY8\r\nHB7Gqmz4VkBQ04bj7knZMdsTi+gAbievFAscIMDciTYQ9Y2QW5roR1qnzaH+\r\n+iz3FEJLdPemWJot+blLjbayQJK7nNrxyAXTd7Ue8PNm3w16HdnuoaIrdYfD\r\n39QePCFRpPbVmMsF4DNI6NiGcSrN2IMqOtw=\r\n=NBO4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlos-bologna","email":"contact@carlosbologna.me"},"directories":{},"maintainers":[{"name":"carlos-bologna","email":"contact@carlosbologna.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scaffolder-backend-module-azure-pipelines_0.4.5_1666719042259_0.24140431721873346"},"_hasShrinkwrap":false},"0.4.6":{"name":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","version":"0.4.6","description":"A collection of Backstage scaffolder backend modules for Azure pipelines.","main":"dist/index.cjs.js","types":"dist/index.d.ts","publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin-module"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"repository":{"type":"git","url":"git+https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines.git"},"keywords":["backstage","azure-devops","azure-pipelines","backstage-plugin","backstage-template"],"author":{"name":"Parfümerie Douglas GmbH"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines/issues"},"homepage":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines#readme","dependencies":{"@backstage/backend-common":"^0.15.2","@backstage/errors":"^1.1.2","@backstage/integration":"^1.3.1","@backstage/plugin-scaffolder-backend":"^1.6.0","@backstage/types":"^1.0.0","@types/node-fetch":"^2.6.2","node-fetch":"2"},"devDependencies":{"@backstage/cli":"^0.20.0"},"gitHead":"ddab02182b2836405bb6767dd826e027a57cd872","_id":"@carlos-bologna/scaffolder-backend-module-azure-pipelines@0.4.6","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-4Q+5UGgoKXcdDWj8Larbku909tFNykCNXXhBl1QODQGbM3bC8itzgLSOwVriEisgqkeIBIbXhpnWtEV02rQ2gA==","shasum":"f82d944621209c84a5da0192d2b0f8562cd4e4b5","tarball":"https://registry.npmjs.org/@carlos-bologna/scaffolder-backend-module-azure-pipelines/-/scaffolder-backend-module-azure-pipelines-0.4.6.tgz","fileCount":6,"unpackedSize":59170,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcWHyz6qmivNv5RLSXei+lPo3rgs5bSP/b8ngPBcUQQwIgWfqbZFp5iIU1MBEyKS8H91HF8xPFl5LWAf0Zh2b13UY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWCOCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpjUA//a5Bf3ltRAVpsCvKTFu0ueCZdkdnMJ1LXRttuJoamnfla6hGO\r\nYDtMBErRz1R9M6kS3MeFHE1mCieKEAxJRxxT0nyja65lmUEHF/b840IZpTw3\r\nxdyZ3fzKw5MEwBl9Xt1MjUIcudj1iuv9OzNtRUIRIZnq3pbpuzCrjiA5Ui3L\r\nhC3ki8AvBdSFHGulRAhxEWr8SDEw3gEQ65M21u9T0IGxMcIX5kB2gn7yS5QO\r\nCFZ2fI2kp4OkQWq4tE12un/mLuhTBqR4BRZvgWzLSzD75233fbODumB0lf2t\r\nVLvWD0k9bK2QD5rqdBCK4tmX8gtnJzqgXJCefjjdUeyeZHYe+dkmp7gxv+Bv\r\nIRFIuDbvB8Vkc11vrNI4cxO+vsLDvCXhBeKnprFO7UQ9P/wSEfbsAaI/qDGu\r\nmS092WxZenZOeXAIYMGt6pr6q4gIyjoCm/7aKUfJhLTT37DQ+lX4D+QrZQf1\r\nCyf7jy8VdR4c2hP7IjLI1+e2+ZeX0OT928A07XU8SaS9x+hYdkosq4gLyvsj\r\ncP5E9hZMRl1U3BicsIBSHapqlMm8dWK4KtQl9RSqRZ2cDwtNXgi9x3jfYI36\r\nCsM4a9KgrYUF4dTbypfm0zpAFgW9SRsOvfUvf9P/ndHeRl+sFa406LVo44y5\r\nl8ae+U0WjUp111TDcvps1NxQO+Jq/hRnZh8=\r\n=qsPU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlos-bologna","email":"contact@carlosbologna.me"},"directories":{},"maintainers":[{"name":"carlos-bologna","email":"contact@carlosbologna.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scaffolder-backend-module-azure-pipelines_0.4.6_1666720641945_0.7995504165886516"},"_hasShrinkwrap":false},"0.4.7":{"name":"@carlos-bologna/scaffolder-backend-module-azure-pipelines","version":"0.4.7","description":"A collection of Backstage scaffolder backend modules for Azure pipelines.","main":"dist/index.cjs.js","types":"dist/index.d.ts","publishConfig":{"access":"public","main":"dist/index.cjs.js","types":"dist/index.d.ts"},"backstage":{"role":"backend-plugin-module"},"scripts":{"start":"backstage-cli package start","build":"backstage-cli package build","lint":"backstage-cli package lint","test":"backstage-cli package test","clean":"backstage-cli package clean","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"repository":{"type":"git","url":"git+https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines.git"},"keywords":["backstage","azure-devops","azure-pipelines","backstage-plugin","backstage-template"],"author":{"name":"Parfümerie Douglas GmbH"},"license":"Apache-2.0","bugs":{"url":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines/issues"},"homepage":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines#readme","dependencies":{"@backstage/backend-common":"^0.15.2","@backstage/errors":"^1.1.2","@backstage/integration":"^1.3.1","@backstage/plugin-scaffolder-backend":"^1.6.0","@backstage/types":"^1.0.0","@types/node-fetch":"^2.6.2","node-fetch":"2"},"devDependencies":{"@backstage/cli":"^0.20.0"},"gitHead":"ddab02182b2836405bb6767dd826e027a57cd872","_id":"@carlos-bologna/scaffolder-backend-module-azure-pipelines@0.4.7","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qxKAC0DohthiNag5+vX06zR2/mvVn3WURasGDHn06j80iE2ZtkSb83f+gXiAFuh0T3nN2iyw99P8yCDqM3OBKQ==","shasum":"0a2069688713f78c6b4824a46a06769d30f6cd3e","tarball":"https://registry.npmjs.org/@carlos-bologna/scaffolder-backend-module-azure-pipelines/-/scaffolder-backend-module-azure-pipelines-0.4.7.tgz","fileCount":6,"unpackedSize":59845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICFT3C1maZsSlWId2YjAg7XEOSu/cDVJU5fNjBny5rntAiBvA4qiGqoaJwW+Xo7NmOMjhI+O05dEEg59CXetaIWTwQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjWD5QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZLw/5AJasqEtAcmtoEw/ZNIHaVz91rb7jzeMm8o6Bva92hoy7RY9r\r\n0kLG73kC69gY03WpbB6MC0gq5zGdfm8Gc/GlvRPV+4x3OYk5kA7+D4Oz728T\r\nTItNa12+WD/XPb+5U4b+JBDSPJrnxuQ3P1t+bBzoMOnkV9VA2U5jo7TBxrDq\r\n21oZuxrVO0jAy6eFpowGFG6b9u5FTCQlOF7VKev40KCIxFkb3HzQdjVfy/2B\r\nYMQrKteug4s+uHHjnuhuCc6uK9z9wP/We3dZtXuv395JfddmD4perr+b8ZEU\r\n15fjk5ucPC9er/D7LOAlKROg7G4pKUAPLRLJUWwmKIWt4UVfGKTuD3IE7LSj\r\nSjHMdZyUDoMGlGeqdkXyW84G8FUDVYhDD8JMinIeGSgin7E+CzQhfWbQOPIG\r\nXYi4nmxEeoV9O5OkVr5N0FTG39iPAcrhlBYDXq+z/6uOUYbGGNRn+hgt106Q\r\n1cAFyTrEgYDA+a9bY0Pnyj8fW4h4eE2IjbkCww7v1qmuVFMnLgYdFWKtKdHz\r\nKcHkriQktm1xGtLhriyy6Idxs/JBk8P1Ercy8CTiBkriImAz5+5dyMR0Rj+O\r\n31jVQyCspDue3Kr6s579jx6Y+SVSDOMZ3PLiCATLCfzLhVXMDueW1stG7wjt\r\nDgibM43RQ2uZA0lVbM5jZc+9iE4syNvffHA=\r\n=Osw2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"carlos-bologna","email":"contact@carlosbologna.me"},"directories":{},"maintainers":[{"name":"carlos-bologna","email":"contact@carlosbologna.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/scaffolder-backend-module-azure-pipelines_0.4.7_1666727503769_0.8011897050637837"},"_hasShrinkwrap":false}},"time":{"created":"2022-10-25T14:02:04.889Z","0.4.3":"2022-10-25T14:02:05.268Z","modified":"2022-10-25T19:51:44.072Z","0.4.4":"2022-10-25T14:52:41.633Z","0.4.5":"2022-10-25T17:30:42.458Z","0.4.6":"2022-10-25T17:57:22.130Z","0.4.7":"2022-10-25T19:51:43.999Z"},"maintainers":[{"name":"carlos-bologna","email":"contact@carlosbologna.me"}],"description":"A collection of Backstage scaffolder backend modules for Azure pipelines.","homepage":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines#readme","keywords":["backstage","azure-devops","azure-pipelines","backstage-plugin","backstage-template"],"repository":{"type":"git","url":"git+https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines.git"},"author":{"name":"Parfümerie Douglas GmbH"},"bugs":{"url":"https://github.com/Parfuemerie-Douglas/scaffolder-backend-module-azure-pipelines/issues"},"license":"Apache-2.0","readme":"# scaffolder-backend-module-azure-pipelines\n\nWelcome to the Microsoft Azure pipeline actions for the `scaffolder-backend`.\n\nThis plugin contains a collection of actions:\n\n- `azure:pipeline:create`\n- `azure:pipeline:run`\n- `azure:pipeline:permit`\n\nIt utilizes Azure DevOps REST APIs to\n[create](https://docs.microsoft.com/en-us/rest/api/azure/devops/pipelines/pipelines/create?view=azure-devops-rest-6.1),\n[run](https://docs.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/run-pipeline?view=azure-devops-rest-6.1),\nand\n[authorize](https://docs.microsoft.com/en-us/rest/api/azure/devops/approvalsandchecks/pipeline-permissions/update-pipeline-permisions-for-resource?view=azure-devops-rest-7.1)\nAzure pipelines.\n\n## Getting started\n\nCreate your Backstage application using the Backstage CLI as described here:\n<https://backstage.io/docs/getting-started/create-an-app>.\n\n> Note: If you are using this plugin in a Backstage monorepo that contains the\n> code for `@backstage/plugin-scaffolder-backend`, you need to modify your\n> internal build processes to transpile files from the `node_modules` folder as\n> well.\n\nYou need to configure the actions in your backend:\n\n## From your Backstage root directory\n\n```sh\n# From your Backstage root directory\nyarn add --cwd packages/backend @parfuemerie-douglas/scaffolder-backend-module-azure-pipelines\n```\n\nConfigure the actions (you can check the\n[docs](https://backstage.io/docs/features/software-templates/writing-custom-actions#registering-custom-actions)\nto see all options):\n\n```typescript\n// packages/backend/src/plugins/scaffolder.ts\n\nimport {\n  createAzurePipelineAction,\n  permitAzurePipelineAction,\n  runAzurePipelineAction,\n} from \"@parfuemerie-douglas/scaffolder-backend-module-azure-pipelines\";\n\nconst actions = [\n  createAzurePipelineAction({ integrations }),\n  permitAzurePipelineAction({ integrations }),\n  runAzurePipelineAction({ integrations }),\n  ...createBuiltInActions({\n    containerRunner,\n    catalogClient,\n    integrations,\n    config: env.config,\n    reader: env.reader,\n  }),\n];\n\nreturn await createRouter({\n  containerRunner,\n  catalogClient,\n  actions,\n  logger: env.logger,\n  config: env.config,\n  database: env.database,\n  reader: env.reader,\n});\n```\n\nThe Azure pipeline actions use an [Azure PAT (personal access\ntoken)](https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate)\nfor authorization. The PAT requires `Read & execute` permission for `Build` for\nthe `azure:pipeline:create` and `azure:pipeline:run` actions. For the\n`azure:pipeline:permit` action the PAT requires `Read, query, & manage`\npermission for `Service Connections`. Simply add the PAT to your\n`app-config.yaml`:\n\n```yaml\n# app-config.yaml\n\nintegrations:\n  azure:\n    - host: dev.azure.com\n      token: ${AZURE_TOKEN}\n```\n\nRead more on integrations in Backstage in the [Integrations\ndocumentation](https://backstage.io/docs/integrations/).\n\n## Using the template\n\nAfter loading and configuring the Azure pipeline template actions, you can use\nthe actions in your template:\n\n```yaml\n# template.yaml\n\napiVersion: scaffolder.backstage.io/v1beta3\nkind: Template\nmetadata:\n  name: create-azure-pipeline-demo\n  title: Create Azure Pipeline Test\n  description: Create Azure pipeline example\nspec:\n  owner: parfuemerie-douglas\n  type: service\n\n  parameters:\n    - title: Fill in some steps\n      required:\n        - name\n        - owner\n      properties:\n        name:\n          title: Project name\n          type: string\n          description: Choose a unique project name.\n          ui:field: EntityNamePicker\n          ui:autofocus: true\n        owner:\n          title: Owner\n          type: string\n          description: Select an owner for the Backstage component.\n          ui:field: OwnerPicker\n          ui:options:\n            allowedKinds:\n              - Group\n    - title: Choose a location\n      description: >-\n        Organization is an Azure DevOps organization. Owner is an Azure DevOps project.\n        Repository is the name of the repository Backstage will create for you.\n      required:\n        - repoUrl\n      properties:\n        repoUrl:\n          title: Repository Location\n          type: string\n          ui:field: RepoUrlPicker\n          ui:options:\n            allowedHosts:\n              - dev.azure.com\n\n  steps:\n    - id: fetch\n      name: Template Skeleton\n      action: fetch:template\n      input:\n        url: ./skeleton\n        values:\n          name: ${{ parameters.name }}\n          destination: ${{ parameters.repoUrl | parseRepoUrl }}\n          owner: ${{ parameters.owner }}\n\n    - id: publish\n      name: Publish\n      action: publish:azure\n      input:\n        allowedHosts: [\"dev.azure.com\"]\n        description: This is ${{ parameters.name }}\n        repoUrl: ${{ parameters.repoUrl }}\n\n    - id: createAzurePipeline\n      name: Create Azure Pipeline\n      action: azure:pipeline:create\n      input:\n        organization: ${{ (parameters.repoUrl | parseRepoUrl)['organization'] }}\n        project: ${{ (parameters.repoUrl | parseRepoUrl)['owner'] }}\n        folder: \"my-azure-pipelines-folder\"\n        name: ${{ parameters.name }}\n        repositoryId: ${{ steps.publish.output.repositoryId }}\n        repositoryName: ${{ (parameters.repoUrl | parseRepoUrl)['repo'] }}\n        yamlPath: <optional value to your azure pipelines yaml file, defaults to ./azure-pipelines.yaml>\n\n    - id: runAzurePipeline\n      name: Run Azure Pipeline\n      action: azure:pipeline:run\n      input:\n        organization: ${{ (parameters.repoUrl | parseRepoUrl)['organization'] }}\n        pipelineId: ${{ steps.createAzurePipeline.output.pipelineId }}\n        project: ${{ (parameters.repoUrl | parseRepoUrl)['owner'] }}\n\n    - id: permitAzurePipeline\n      name: Change Azure Pipeline Permissions\n      action: azure:pipeline:permit\n      input:\n        organization: ${{ (parameters.repoUrl | parseRepoUrl)['organization'] }}\n        project: ${{ (parameters.repoUrl | parseRepoUrl)['owner'] }}\n        resourceId: <serviceEndpointId>\n        resourceType: endpoint\n        authorized: true\n        pipelineId: ${{ steps.createAzurePipeline.output.pipelineId }}\n\n    - id: register\n      name: Register\n      action: catalog:register\n      input:\n        repoContentsUrl: ${{ steps.publish.output.repoContentsUrl }}\n        catalogInfoPath: \"/catalog-info.yaml\"\n\n  output:\n    links:\n      - title: Repository\n        url: ${{ steps.publish.output.remoteUrl }}\n      - title: Pipeline\n        url: ${{ steps.createAzurePipeline.output.pipelineUrl }}\n      - title: Open in catalog\n        icon: catalog\n        entityRef: ${{ steps.register.output.entityRef }}\n```\n\n**_Note_**: The `azure:pipeline:permit` action authorizes/unauthorizes a\npipeline for a given resource. To authorize a pipeline for a [service\nendpoint](https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoints-overview)\nset `resourceType` to `endpoint`, provide `resourceId` with the service endpoint\nID (replace `<serviceEndpointId>` in the example code above), and set authorized\nto `true`.\n\nYou can find a list of all registred actions including their parameters at the\n`/create/actions` route in your Backstage application.\n","readmeFilename":"README.md"}