{"id":13425,"date":"2017-08-15T10:55:35","date_gmt":"2017-08-15T18:55:35","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/?p=13425"},"modified":"2019-02-18T12:37:57","modified_gmt":"2019-02-18T19:37:57","slug":"psswagger-automatically-generate-powershell-cmdlets-from-openapi-f-k-a-swagger-specification","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/psswagger-automatically-generate-powershell-cmdlets-from-openapi-f-k-a-swagger-specification\/","title":{"rendered":"PSSwagger &#8211; Automatically generate PowerShell cmdlets from OpenAPI (f.k.a Swagger) specification"},"content":{"rendered":"<p>As a PowerShell enthusiast or DevOps professional, have you ever thought of having a tool that automatically generates PowerShell cmdlets to manage or access a RESTful Web Service? We are happy to share <a href=\"https:\/\/github.com\/PowerShell\/PSSwagger\">PSSwagger <\/a>&#8211; the PowerShell Cmdlet generator for OpenAPI based web services. At <a href=\"http:\/\/www.psconf.eu\/\">PowerShell Conference Europe 2017<\/a>, Jeffrey first <a href=\"https:\/\/youtu.be\/myQkHM_je70?t=4m5s\">showcased PSSwagger<\/a>, and today we are open-sourcing the PSSwagger module and releasing its preview version to the <a href=\"https:\/\/www.powershellgallery.com\/packages\/PSSwagger\">PowerShell Gallery<\/a>!<\/p>\n<p>Some of the benefits of PSSwagger are:\n<strong>\u2022 One module that works cross-platform<\/strong> &#8211; generated modules supports both <a href=\"https:\/\/github.com\/powerShell\/PowerShell\">PowerShell Core<\/a> and Windows PowerShell 5.1.\n<strong>\u2022 Consistent user experience<\/strong> &#8211; the generated PowerShell commands automatically follow the PowerShell cmdlet guidelines and best practices.\n<strong>\u2022 Get additional features for free<\/strong> &#8211; paging and asynchronous execution of long running operations.\n\u2022 Web Service owners can minimize the effort to author PowerShell commands to manage or access their web service.\n\u2022 Ability to load multiple different versions of a generated module into the same process.<\/p>\n<p>Please refer to the PSSwagger <a href=\"https:\/\/github.com\/PowerShell\/PSSwagger\/blob\/developer\/README.md\">Readme <\/a>for more details on installing and using it.\nYou can start using and contributing to <a href=\"https:\/\/github.com\/powerShell\/psswagger\">PSSwagger <\/a>today. For any questions or feedback, please let us know on the <a href=\"https:\/\/github.com\/powerShell\/psswagger\/issues\">PSSwagger GitHub <\/a>or <a href=\"https:\/\/gitter.im\/PowerShell\/PSSwagger\">Gitter Channel<\/a>.<\/p>\n<p>Looking forward!!\nPowerShell team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As a PowerShell enthusiast or DevOps professional, have you ever thought of having a tool that automatically generates PowerShell cmdlets to manage or access a RESTful Web Service? We are happy to share PSSwagger &#8211; the PowerShell Cmdlet generator for OpenAPI based web services. At PowerShell Conference Europe 2017, Jeffrey first showcased PSSwagger, and today [&hellip;]<\/p>\n","protected":false},"author":615,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-13425","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell"],"acf":[],"blog_post_summary":"<p>As a PowerShell enthusiast or DevOps professional, have you ever thought of having a tool that automatically generates PowerShell cmdlets to manage or access a RESTful Web Service? We are happy to share PSSwagger &#8211; the PowerShell Cmdlet generator for OpenAPI based web services. At PowerShell Conference Europe 2017, Jeffrey first showcased PSSwagger, and today [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/13425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/615"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=13425"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/13425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=13425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=13425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=13425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}