diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 1c654df..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.secrets.baseline b/.secrets.baseline deleted file mode 100644 index 6349a35..0000000 --- a/.secrets.baseline +++ /dev/null @@ -1,85 +0,0 @@ -{ - "exclude": { - "files": "^.secrets.baseline$", - "lines": null - }, - "generated_at": "2025-01-29T07:47:44Z", - "plugins_used": [ - { - "name": "AWSKeyDetector" - }, - { - "name": "ArtifactoryDetector" - }, - { - "name": "AzureStorageKeyDetector" - }, - { - "base64_limit": 4.5, - "name": "Base64HighEntropyString" - }, - { - "name": "BasicAuthDetector" - }, - { - "name": "BoxDetector" - }, - { - "name": "CloudantDetector" - }, - { - "ghe_instance": "github.ibm.com", - "name": "GheDetector" - }, - { - "name": "GitHubTokenDetector" - }, - { - "hex_limit": 3, - "name": "HexHighEntropyString" - }, - { - "name": "IbmCloudIamDetector" - }, - { - "name": "IbmCosHmacDetector" - }, - { - "name": "JwtTokenDetector" - }, - { - "keyword_exclude": null, - "name": "KeywordDetector" - }, - { - "name": "MailchimpDetector" - }, - { - "name": "NpmDetector" - }, - { - "name": "PrivateKeyDetector" - }, - { - "name": "SlackDetector" - }, - { - "name": "SoftlayerDetector" - }, - { - "name": "SquareOAuthDetector" - }, - { - "name": "StripeDetector" - }, - { - "name": "TwilioKeyDetector" - } - ], - "results": {}, - "version": "0.13.1+ibm.62.dss", - "word_list": { - "file": null, - "hash": null - } -} diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md index 99d5e5e..26adb8b 100644 --- a/README.md +++ b/README.md @@ -1,201 +1,2 @@ -# DevOps for webMethods.IO Integration - - This article shows how to design and setup an automated CI/CD process and framework for webMethods.io - using the inbuilt APIs (or CLI). Here we have used Azure DevOps as our orchestration platform, - GitHub as repository platform and Postman/Newman as test framework. - -# Use-case -When organizations start using webMethods.io Integration for business use-cases, the need for having a continuous integration and delivery process becomes very important. These processes will enable the business to have a "Faster release rate", "More Test reliability" & "Faster to Market". - -This use-case will highlight a solution utilizing webMethods.io import & export APIs (or CLI) and Azure Devops to extract and store the code assets in repository (GitHub). By integrating repository workflows and azure pipelines, this process will automate the promotion of assets to different stages/environment as per the organizations promotion workflow. This will also showcase how to automate the test framework for respective stages/environments. - -![](./images/markdown/delivery.png) ![](./images/markdown/overview.png) - -The automation around webMethods.io Integration APIs have been implemented using scripts, which will make customization easier if the organization chooses to adopt an alternative orchestration platform. - -# Assumptions / Scope / Prerequisite -1. 4 Environments: Play/build, Dev, QA & Prod. -2. Azure DevOps as Orchestration Platform -3. GitHub: as the code repository -4. GitHub Enterprise: For Pipelines/Scripts -5. Postman/Newman as test framework - -# Git Workflow -We will assume that the organization is following the below GIT Workflows. - -![](./images/markdown/SingleFeature.png) ![](./images/markdown/MultiFeature.png) - -# Steps -1. **Initialize** - 1. Developer starts by executing *Initialize Pipeline* (Automation) - 2. This checks if the request is for an existing asset or a new implementation - 3. If new, automation will - 1. Initialize a repository - 2. Create standardized branches, including requested Feature Branch - 3. Create a project in Play/Build environment - 4. If existing, automation will - 1. Clone the Prod branch to Feature branch - 2. Import asset to Play/Build environment - -![](./images/markdown/Initialize.png) - -       **API's Used** - * /projects/{{*projectName*}}, - * /projects/{{*projectName*}}/workflow-import, - * /projects/{{*projectName*}}/flow-import, - * /ut-flow/referencedata/{{*projectUID*}}/{{*referenceDataName*}}, - * /ut-flow/referencedata/create/{{*projectUID*}}, - * /ut-flow/referencedata/update/{{*projectUID*}}/{{*referenceDataName*}}, - * /projects/{{*projectName*}}/params/{{*parameterUID*}}, - * /projects/{{*projectName*}}/params -
-
-
- - -2. **Develop & Commit** - 1. Developer starts developing - 2. After completion they will execute synchronizeToFeature Pipeline (Automation) - 3. Automation will - 1. Export the asset - 2. Commit the asset to Feature Branch - -![](,/../images/markdown/synchronizeToFeature.png) - -       **API's Used** - * /projects/{{*projectName*}}/workflows/{{*assetID*}}/export, - * /projects/{{*projectName*}}/flows/{{*assetID*}}/export, - * /projects/{{*projectName*}}/assets, - * /projects/{{*projectName*}}/accounts, - * /ut-flow/referencedata/{{*projectUID*}}, - * /ut-flow/referencedata/{{*projectUID*}}/{{*referenceDataName*}}, - * /projects/{{*projectName*}}/params/{{*parameterUID*}}, - * /projects/{{*projectName*}}/params -
-
-
- -3. **Deliver / Promote to DEV** - 1. Once the implementation is finished, developer manually creates a Pull Request from Feature Branch to DEV - 2. This will trigger the synchronizeToDev pipeline (Automation) - 3. Automation will - 1. Checkout the DEV branch - 2. Import the asset to DEV environment - 3. And then kicks off automated test for the associated project/repo with data/assertions specific to DEV - 4. On failure, developer needs to fix/re-develop the asset (Step 2). - -![](./images/markdown/synchronizeToDev.png) - -       **API's Used** - * /projects/{{*projectName*}}, - * /projects/{{*projectName*}}/workflow-import, - * /projects/{{*projectName*}}/flow-import, - * /ut-flow/referencedata/{{*projectUID*}}/{{*referenceDataName*}}, - * /ut-flow/referencedata/create/{{*projectUID*}}, - * /ut-flow/referencedata/update/{{*projectUID*}}/{{*referenceDataName*}}, - * /projects/{{*projectName*}}/params/{{*parameterUID*}}, - * /projects/{{*projectName*}}/params - * /projects/{{*projectName*}}/workflows/{{*assetID*}}/run - * /projects/{{*projectName*}}/flows/{{*assetName*}}/run -
-
-
- -4. **Deliver / Promote to QA** - 1. After Dev cycle is complete, developer manually creates a Pull Request from Feature Branch to QA. - 2. This will trigger the synchronizeToQA pipeline (Automation) - 3. Automation will - 1. Checkout the QA branch - 2. Import the asset to QA environment - 3. And then kicks off automated test for the associated project/repo with data/assertions specific to QA - 4. On failure, developer needs to fix/re-develop the asset (Step 2). - -![](./images/markdown/synchronizeToQA.png) - -      **API's Used:** ***SAME AS STEP 3*** -
-
-
- -5. **Deliver / Promote to PROD** - 1. Once the automated test and UAT is successfully finished, developer manually creates a Pull Request from Feature Branch to PROD. PROD deployment may have different approval cycle. - 2. Respective operations team will manually trigger the synchronizeToPROD pipeline (Automation) - 3. Automation will - 1. Checkout the PROD branch - 2. Create a release - 3. Import the asset to PROD environment - 4. And then kicks off automated Smoke test, if any for PROD. - 4. On failure, developer needs to fix/re-develop the asset (Step 2). And release will be rolled back. - -![](./images/markdown/synchronizeToPROD.png) - -      **API's Used:** ***SAME AS STEP 3*** -
-
-
- -# Downloads / Assets / References -1. Repository for automation, scripts & sample assets. Github: https://github.com/IBM/webmethods-io-int-cicd -2. Presentation: https://github.com/IBM/webmethods-io-int-cicd/blob/main/presentation/webMethodsIO_Integration_CICD.pptx -3. Demo recording: -4. API Documentation: https://docs.webmethods.io/integration/apis/webmethods_api_ref/#reference-data-apis -5. CLI Repository: https://github.com/SoftwareAG/webmethods-io-integration-apicli - -# Next Steps -1. Incorporate design for Hybrid use-case -2. Extend testing framework -3. Incorporate design for code review - -## How to use/test -1. Clone / Fork the automation repo -2. Adjust the environment configs -3. Configure your Azure DevOps tenant - 1. Create Project - 2. Link automation repo to get the pipelines - 3. In project settings, create Service Connections for Automation repository and Code Repository -4. Start the "*Initialize*" pipeline -5. Check that the respective repo and webMethods.io project is created -6. Import sample assets from automation repo -7. Start "*synchronizeToFeature*" pipeline -8. Check whether new assets have been committed to feature branch -9. Adjust the test cases for each environment from automation repo and commit it code repo feature branch created above. *Note: Follow the folder structure documented* -10. Create a Pull Request in code repository from Feature Branch to DEV -11. Start "*synchronizeToDev*" pipeline. (This has been automated for Github, please refer to Github automation document). -12. Check code has been Imported/Promoted to Dev environment -13. Check whether Test has been automatically triggered. - -# Useful links - -📘 Explore the Knowledge Base -Dive into a wealth of webMethods tutorials and articles in our [Tech Community Knowledge Base](https://community.ibm.com/community/user/integration/communities/community-home/all-news?communitykey=82b75916-ed06-4a13-8eb6-0190da9f1bfa&LibraryFolderKey=&DefaultView=&8e5b3238-cf51-4036-aa29-601a6cd3e1b3=eyJ2aWV3dHlwZSI6ImNhcmQifQ%3D%3D). - -💡 Get Expert Answers -Stuck or just curious? Ask the webMethods experts directly on our [Forum](https://community.ibm.com/community/user/integration/communities/community-home?communitykey=82b75916-ed06-4a13-8eb6-0190da9f1bfa). - -🚀 Try webMethods -See webMethods in action with a [Free Trial IPaaS](https://www.ibm.com/products/webmethods-integration).[Free Trial On Premise](https://community.ibm.com/community/user/integration/viewdocument/guide-to-downloading-and-installing?CommunityKey=82b75916-ed06-4a13-8eb6-0190da9f1bfa&tab=librarydocuments). - - -More to discover -* [DevOps for webMethods.io Integration](https://community.ibm.com/community/user/integration/viewdocument/devops-for-webmethodsio-integratio?CommunityKey=82b75916-ed06-4a13-8eb6-0190da9f1bfa&tab=librarydocuments) -* [webMethods DevOps](https://tech.forums.softwareag.com/t/recording-webmethods-virtual-meetup-may-19th-2023-webmethods-devops/278975) - -# Contribution - -## How to Contribute -This is an open-source project and requires community contributions to remain useful. Anyone can contribute to the project in the following ways: -1. Fork this repository. -2. Make your enhancements/ changes. -3. Create a Pull Request. -4. Finally, development team will evaluate the Pull Request and merge it to the source code. - -## Raising Issues / Bugs - -In case of Bugs, please create an issue with following details -1. Version -2. Detailed description (with images if needed) -3. Error stacktace (log snippets) - -# Disclaimer -## IBM Public Repository Disclosure -All content in these repositories including code has been provided by IBM under the associated open source software license and IBM is under no obligation to provide enhancements, updates, or support. IBM developers produced this code as an open source project (not as an IBM product), and IBM makes no assertions as to the level of quality nor security, and will not be maintaining this code going forward. +# wmiocicdadityademo +wmio-ipass-cicd-demo purpose diff --git a/Release.txt b/Release.txt deleted file mode 100644 index 3089bf7..0000000 --- a/Release.txt +++ /dev/null @@ -1,28 +0,0 @@ -##### Jan 2025 Release ######## -1. IBM Template and URL updates -2. Repo Moved from SoftwareAG Org to IBM - -##### July 2024 Release ######## -1. Support for API -2. Support for Parameters (with environment specific values) -3. Environemnt specific configs filenames aligned from environment config yaml. -4. Bug fixes - -##### January 2024 Release ######## -1. External Test Credentials from post environment files -2. Project ID fix: Create a temp flow to export import project to maintain id in all environment. - -##### November 2023 Release ######## -1. Public Apis for Reference Data -2. Github action using HTTP/REST -3. Bug fixes - -##### September 2023 Release ######## -1. Workflow Overwrite Feature added -2. Reference Data as assetType -3. Bug fixes - - - - - diff --git a/apis/wMIO_OpenAPI_Spec.yaml b/apis/wMIO_OpenAPI_Spec.yaml deleted file mode 100644 index 2202cc9..0000000 --- a/apis/wMIO_OpenAPI_Spec.yaml +++ /dev/null @@ -1,2933 +0,0 @@ ---- -openapi: 3.0.1 -info: - title: WMIO Open API - description: 'This is WMIO Open API ' - version: 1.0.0 -servers: -- url: https://awstag2003.stag-int-aws-us.webmethods.io -security: -- basicAuth: [] -paths: - /apis/v1/rest/projects: - get: - tags: - - Project - summary: Get a list of projects. - responses: - "200": - description: List of all valid projects - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectListResponseBody' - "400": - description: Bad request - content: {} - x-codegen-request-body-name: body - post: - tags: - - Project - summary: Create new project. - requestBody: - description: Project data. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}: - get: - tags: - - Project - summary: Get a single project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Project - summary: Updates a project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project data. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Project - summary: Deletes a project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Deletes a valid projects - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad request - content: {} - /apis/v1/rest/projects/{project}/assets: - get: - tags: - - Project - summary: Get a list of valid assets of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides valid assetes of project. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectAssetsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/push: - post: - tags: - - Project - summary: Publish project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project Publish. - content: - application/json: - schema: - $ref: '#/components/schemas/PushRequestBody' - required: true - responses: - "200": - description: Provides a project Publish call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/PushProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/deploy: - post: - tags: - - Project - summary: Deploy Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project Deploy. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectReqBody' - required: true - responses: - "200": - description: Deploy a Project. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/params: - post: - tags: - - Project - summary: Create Project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Create Project Parameter. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateRequestBody' - required: true - responses: - "201": - description: Provides a create project parameter call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - get: - tags: - - Project - summary: Get a list Project Parameters of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/params/{Param}: - put: - tags: - - Project - summary: Update a project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a Updated project parameter values. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateRequestBody' - required: true - responses: - "200": - description: Provides a update project parameter call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - get: - tags: - - Project - summary: Get Parameters details. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter details. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Project - summary: Delete Project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}/export: - post: - tags: - - Workflow - summary: Export a workflow with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Name and Description for Import workflow. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a list of dependent assets. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportResponse' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflow-import: - post: - tags: - - Workflow - summary: Import a workflow in a project with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Creates a new workflow in mentioned project. - content: - application/json: - schema: - $ref: '#/components/schemas/ImportResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}/run: - post: - tags: - - Workflow - summary: Run/Executes a workflow. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides information about workflow run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflow-run/run_id: - get: - tags: - - Workflow - summary: Provides Run/Executes status of a workflow. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides all information about workflow run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunStatusResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}: - delete: - tags: - - Workflow - summary: Delets a workflow with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a workflow deletion message. - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows: - get: - tags: - - Workflow - summary: Get a list Webhook Enabled workflows of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Webhook enabled workflows list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows/{workflow}/reset: - put: - tags: - - Workflow - summary: Reset Webhook URL. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Workflow Webhook URL Reset Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ResetWebhookURLResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows/{workflow}/auth: - post: - tags: - - Workflow - summary: Set Webhook Auth. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Authentication type of webhook. - content: - application/json: - schema: - $ref: '#/components/schemas/SetWebhookAuthRequestBody' - required: true - responses: - "200": - description: Set Webhook Authentication Type. - content: - application/json: - schema: - $ref: '#/components/schemas/SetWebhookAuthResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows: - post: - tags: - - Workflow - summary: Create Empty Workflow - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a workflow meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowRequestBody' - required: true - responses: - "200": - description: Provides information Newly Created Workflow. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/recipes: - get: - tags: - - Recipe - summary: Get a list of recipes. - responses: - "200": - description: Provides a list of recipes. - content: - application/json: - schema: - $ref: '#/components/schemas/GetAllRecipesResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Recipe - summary: Upload Workflow in Recpie. - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Upload workflow in Recipe Section. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateRecipeResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/recipes/{Recipe}: - get: - tags: - - Recipe - summary: Get recipe details. - parameters: - - name: Recipe - in: path - description: Recipe Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a recipe details. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateRecipeResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Recipe - summary: Delete Non Global Recipe. - parameters: - - name: Recipe - in: path - description: Recipe Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Delete Recipe call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}/export: - post: - tags: - - Flowservice - summary: Export a flowservice with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Flowservice name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides download link. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flow-import: - post: - tags: - - Flowservice - summary: Import a flowservice in a project with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Creates/overrides flowservice in mentioned project. - content: - application/json: - schema: - $ref: '#/components/schemas/ImportFlowserviceResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}/run: - post: - tags: - - Flowservice - summary: Run/Executes a flowservice. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Workservice name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Executes flowservice run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}: - delete: - tags: - - Flowservice - summary: Delets a flowservice with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a flowservice deletion message. - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - /apis/v1/rest/themes/defaultvalues: - get: - tags: - - White Labeling - summary: Get a Default Values Theme. - responses: - "200": - description: Provides a default values of default theme. - content: - application/json: - schema: - $ref: '#/components/schemas/GetDefaultThemeValueResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes: - post: - tags: - - White Labeling - summary: Create a New Theme. - requestBody: - description: Create Theme. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemeRequestBody' - required: true - responses: - "201": - description: Provide Create Theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - get: - tags: - - White Labeling - summary: Get list of Theme. - responses: - "200": - description: Provides a List Themes call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ListAllThemesResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}: - put: - tags: - - White Labeling - summary: Updates a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a updated theme values. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemeRequestBody' - required: true - responses: - "200": - description: Provides a update theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - get: - tags: - - White Labeling - summary: Get a Theme Details. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get theme details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - White Labeling - summary: Delete a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a delete theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}/activate: - put: - tags: - - White Labeling - summary: Activate a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a activate theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeactivateResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}/deactivate: - put: - tags: - - White Labeling - summary: Deactivate a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a deactivate theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeactivateResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/trigger-flows: - get: - tags: - - Trigger Operations - summary: Get a list Trigger Enabled workflows of a Project. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Trigger enabled workflows list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/triggers/{trigger}: - delete: - tags: - - Trigger Operations - summary: Delete Trigger. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - - name: trigger - in: path - description: Trigger uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Trigger delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/accounts: - get: - tags: - - Account Operations - summary: Get a list User Created Accounts of a Project. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a list of User Created Accounts of project. - content: - application/json: - schema: - $ref: '#/components/schemas/GetUserAccountsResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/configs/{ConfigUid}: - put: - tags: - - Account Operations - summary: Update Account of Particular Action in Workflow. - parameters: - - name: project - in: path - description: Project name or Uid. - required: true - style: simple - explode: false - schema: - type: string - - name: ConfigUid - in: path - description: Config uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a Account Uid. - content: - application/json: - schema: - $ref: '#/components/schemas/updateAccountRequestBody' - required: true - responses: - "200": - description: Provides a Update Configs call response. - content: - application/json: - schema: - $ref: '#/components/schemas/updateAccountResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/accounts/{AccountUid}: - delete: - tags: - - Account Operations - summary: Account Trigger. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - - name: AccountUid - in: path - description: Account uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Account delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/monitor/summary: - post: - tags: - - Metrics Operations - summary: Fetch Execution Summary based on the provided search parameters. - parameters: - - in: query - name: skip - schema: - type: integer - description: The number of items to skip. - - in: query - name: limit - schema: - type: integer - description: The number of items per page limit. - requestBody: - description: Provides Required details. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutionSummaryRequestBody' - required: true - responses: - "200": - description: Provides a Workflow Execution Summary. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/monitor/workflow-execution/logs/{BillUid}: - get: - tags: - - Metrics Operations - summary: Get Details of Particular Execution. - parameters: - - name: BillUid - in: path - description: Execution Bill uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Execution Details of Particular Bill. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutiondetailsResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/roles: - post: - tags: - - Roles and Permission - summary: Create a New Role. - requestBody: - description: Create Role. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleRequestBody' - required: true - responses: - "201": - description: Provide Create Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - get: - tags: - - Roles and Permission - summary: Get a List of Roles. - responses: - "200": - description: Provides a Get List of Roles call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getListofRolesResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/roles/{RoleUid}: - put: - tags: - - Roles and Permission - summary: Updates a Role. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a updated Role values. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleRequestBody' - required: true - responses: - "200": - description: Provides a update Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - get: - tags: - - Roles and Permission - summary: Get a Role Details. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get Role details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Roles and Permission - summary: Delete a Role. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a delete Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/users: - get: - tags: - - Roles and Permission - summary: Get a List of Users. - responses: - "200": - description: Provides a Get List of user call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getListofUserResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/users/{UserUid}: - get: - tags: - - Roles and Permission - summary: Get a List of Users. - parameters: - - name: UserUid - in: path - description: User Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get user details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getUserDetailsResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/assign-roles: - put: - tags: - - Roles and Permission - summary: Assign a Role to user. - requestBody: - description: Provides a value to assign Role. - content: - application/json: - schema: - $ref: '#/components/schemas/assignRoleRequestBody' - required: true - responses: - "200": - description: Provides a update Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/assignRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - - -components: - schemas: - ExportRequestBody: - type: object - properties: - name: - type: string - description: - type: string - ExportResponse: - type: object - properties: - download_link: - type: string - valid_till: - type: string - ImportRequestBody: - type: object - properties: - recipe: - type: string - format: file - ImportResponseBody: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - refid: - type: string - sid: - type: string - tenant_uid: - type: string - project_uid: - type: string - WorkFlowRunResponseBody: - type: object - properties: - run_id: - type: string - response: - type: string - status: - type: string - workflow_uid: - type: string - tenant_uid: - type: string - project_uid: - type: string - WorkFlowRunStatusResponseBody: - type: array - items: - $ref: '#/components/schemas/WorkFlowRunStatusResponseBody_inner' - DeleteWorkFlowResponse: - type: object - properties: - uid: - type: string - ProjectListResponseBody: - type: array - items: - $ref: '#/components/schemas/ProjectListResponseBody_inner' - ProjectResponseBody: - type: object - properties: - uid: - type: string - name: - type: string - workflow_count: - type: string - flowservice_count: - type: string - DependentAssetsList: - type: object - properties: - workflows: - type: array - items: - type: string - flows: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows_1' - rest: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - soap: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - ProjectAssetsListResponse: - type: object - properties: - output: - type: object - properties: - workflows: - type: array - items: - type: string - flows: - type: array - items: - type: string - rest: - type: array - items: - type: string - soap: - type: array - items: - type: string - listener: - type: array - items: - type: string - messaging: - type: array - items: - type: string - ImportFlowserviceResponseBody: - type: object - properties: - name: - type: string - assemblyType: - type: string - serviceFullName: - type: string - tenant_uid: - type: string - project_uid: - type: string - PushRequestBody: - type: object - properties: - name: - type: string - description: - type: string - destination_tenant_detail: - type: object - properties: - username: - type: string - password: - type: string - url: - type: string - workflows: - type: array - items: - type: string - flows: - type: array - items: - type: string - rest_api: - type: array - items: - type: string - soap_api: - type: array - items: - type: string - messaging: - type: array - items: - type: string - DeployProjectReqBody: - type: object - properties: - version: - type: number - DeployProjectResponse: - type: object - properties: - output: - type: object - properties: - status: - type: string - DeployProjectRequestBody: - type: object - properties: - deployment_version: - type: string - data: - $ref: '#/components/schemas/DeployProjectRequestBody_data' - flow: - $ref: '#/components/schemas/DeployProjectRequestBody_flow' - rest: - $ref: '#/components/schemas/DeployProjectRequestBody_rest' - soap: - $ref: '#/components/schemas/DeployProjectRequestBody_soap' - schema: - $ref: '#/components/schemas/SchemaObj' - params: - $ref: '#/components/schemas/ParamsObj' - ParamsObj: - type: object - properties: - newParams: - type: array - items: - type: object - diffParams: - type: array - items: - type: object - SchemaObj: - type: object - properties: - trigger: - $ref: '#/components/schemas/SchemaObj_trigger' - account: - $ref: '#/components/schemas/SchemaObj_trigger' - PushProjectResponse: - type: object - properties: - output: - type: object - properties: - uid: - type: string - version: - type: string - name: - type: string - description: - type: string - project_name: - type: string - project_uid: - type: string - tenant_uid: - type: string - to_tenant: - type: string - from_tenant: - type: string - cross_environment: - type: boolean - contains_asset: - type: object - properties: - sap_assets: - type: boolean - messaging_assets: - type: boolean - custom_connector_list: - type: object - properties: - cloudstream: - type: array - items: - type: string - nodejs: - type: array - items: - type: string - ApiResponse: - type: object - properties: - code: - type: integer - format: int32 - type: - type: string - message: - type: string - WorkFlowRunStatusResponseBody_inner: - type: object - properties: - run_id: - type: string - workflow_uid: - type: string - project_uid: - type: string - status: - type: string - ProjectListResponseBody_inner: - type: object - properties: - uid: - type: string - name: - type: string - workflow_count: - type: string - flowservice_count: - type: string - DependentAssetsList_flows: - type: object - properties: - serviceName: - type: string - serviceFullName: - type: string - example: null - DependentAssetsList_assets: - type: object - properties: - name: - type: string - serviceFullName: - type: string - example: null - DependentAssetsList_flows_1: - type: object - properties: - flows: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - assets: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_assets' - example: null - DeployProjectRequestBody_data: - type: object - properties: - trigger: - type: object - account: - type: object - example: null - DeployProjectRequestBody_flow_flowBody: - type: object - properties: - serviceFullName: - type: string - serviceName: - type: string - example: null - DeployProjectRequestBody_flow: - type: object - properties: - integrations: - type: object - uniqueId: - type: string - flowBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - example: null - DeployProjectRequestBody_rest: - type: object - properties: - uniqueId: - type: string - restBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - example: null - DeployProjectRequestBody_soap: - type: object - properties: - uniqueId: - type: string - soapBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - example: null - SchemaObj_trigger: - type: object - properties: - newSchema: - type: object - example: null - ProjectParamCreateRequestBody: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - ProjectParamCreateResponse: - type: object - properties: - output: - type: object - properties: - uid: - type: string - param: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - hasError: - type: boolean - project_uid: - type: string - tenant_uid: - type: string - ProjectParamDeleteResponse: - type: object - properties: - output: - type: object - properties: - message: - type: string - ProjectParamsListResponse: - type: object - properties: - output: - type: array - items: - type: object - properties: - uid: - type: string - param: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - hasError: - type: boolean - project_uid: - type: string - tenant_uid: - type: string - WebhookEnabledworkflowsListResponse: - type: object - properties: - output: - type: object - properties: - objects: - type: array - items: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_settings: - type: object - properties: - auth_type: - type: string - webhook_auth: - type: object - properties: - type: - type: string - auth: - type: object - properties: - user_name: - type: string - password: - type: string - webhook_token: - type: object - properties: - type: - type: string - auth: - type: object - properties: - token: - type: string - show_auth: - type: boolean - url_execution: - type: boolean - count: - type: number - ResetWebhookURLResponse: - type: object - properties: - output: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_url: - type: string - SetWebhookAuthRequestBody: - type: object - properties: - auth: - type: string - SetWebhookAuthResponseBody: - type: object - properties: - output: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_settings: - type: object - properties: - auth_type: - type: string - webhook_auth: - type: object - properties: - type: - type: string - auth: - type: object - properties: - user_name: - type: string - password: - type: string - webhook_token: - type: object - properties: - type: - type: string - auth: - type: object - properties: - token: - type: string - show_auth: - type: boolean - url_execution: - type: boolean - CreateWorkflowRequestBody: - type: object - properties: - name: - type: string - description: - type: string - CreateWorkflowResponseBody: - type: object - properties: - output: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - CreateRecipeResponseBody: - type: object - properties: - output: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - GetAllRecipesResponseBody: - type: object - properties: - output: - type: object - properties: - recipes: - type: array - items: - type: object - properties: - download: - type: number - published: - type: boolean - name: - type: string - description: - type: string - uid: - type: string - count: - type: number - GetDefaultThemeValueResponse: - type: object - properties: - output: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - footerContent: - type: string - aboutPageContent: - type: string - CreateThemeRequestBody: - type: object - properties: - name: - type: string - description: - type: string - theme: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - footerContent: - type: string - aboutPageContent: - type: string - CreateThemenResponseBody: - type: object - properties: - output: - type: object - properties: - name: - type: string - uid: - type: string - settings: - type: object - properties: - description: - type: string - theme: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - footerContent: - type: string - aboutPageContent: - type: string - active: - type: boolean - ThemeactivateResponseBody: - type: object - properties: - output: - type: object - properties: - name: - type: string - uid: - type: string - active: - type: boolean - ListAllThemesResponse: - type: object - properties: - output: - type: array - items: - type: object - properties: - name: - type: string - uid: - type: string - settings: - type: object - properties: - description: - type: string - theme: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - footerContent: - type: string - aboutPageContent: - type: string - active: - type: boolean - TriggerEnabledworkflowsListResponse: - type: object - properties: - output: - type: object - properties: - objects: - type: array - items: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - trigger: - type: object - properties: - provider: - type: string - label: - type: string - title: - type: string - uid: - type: string - count: - type: number - GetUserAccountsResponse: - type: object - properties: - output: - type: object - properties: - configs: - type: object - properties: - provider_name: - type: array - items: - type: object - properties: - name: - type: string - flow_version: - type: integer - flow_uid: - type: string - activity_id: - type: string - action: - type: string - version: - type: string - service: - type: string - auth: - type: string - uid: - type: string - accounts: - type: object - properties: - connections: - type: object - properties: - provider_name: - type: array - items: - type: object - properties: - icon: - type: string - label: - type: string - title: - type: string - uid: - type: string - auths: - type: object - properties: - provider_name: - type: array - items: - type: object - properties: - icon: - type: string - label: - type: string - title: - type: string - uid: - type: string - updateAccountRequestBody: - type: object - properties: - account: - type: string - updateAccountResponseBody: - type: object - properties: - output: - type: object - properties: - name: - type: string - type: - type: string - flow_version: - type: integer - flow_uid: - type: string - tenant_uid: - type: string - project_uid: - type: string - activity_id: - type: string - action: - type: string - version: - type: string - service: - type: string - provider: - type: string - auth/connection: - type: string - uid: - type: string - fetchExecutionSummaryRequestBody: - type: object - properties: - start_date: - type: string - end_date: - type: string - projects: - type: array - items: - type: string - workflows: - type: array - items: - type: string - execution_status: - type: array - items: - type: string - fetchExecutionSummaryResponseBody: - type: object - properties: - output: - type: object - properties: - summary: - type: object - properties: - success: - type: string - running: - type: string - stopped: - type: string - failed: - type: string - timeout: - type: string - pending: - type: string - hold: - type: string - graph: - type: object - properties: - count: - type: integer - logs: - type: array - items: - type: object - properties: - uid: - type: string - execution_status: - type: string - flow_name: - type: string - flow_uid: - type: string - project_uid: - type: string - restarted: - type: string - requested_at: - type: string - project_name: - type: string - execution_source: - type: string - fetchExecutiondetailsResponseBody: - type: object - properties: - output: - type: object - properties: - uid: - type: string - duration: - type: string - executed_by: - type: string - execution_status: - type: string - flow_name: - type: string - manual_run: - type: string - project_uid: - type: string - queue: - type: string - trigger: - type: string - start_time: - type: string - stop_time: - type: string - requested_at: - type: string - project_name: - type: string - transaction_count: - type: integer - createRoleRequestBody: - type: object - properties: - name: - type: string - description: - type: string - projects: - type: array - items: - type: object - properties: - project_name: - type: array - items: - type: string - createRoleResponseBody: - type: object - properties: - output: - type: object - properties: - name: - type: string - uid: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - type: object - properties: - project_uid: - type: string - access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - created_at: - type: string - updated_at: - type: string - getListofRolesResponseBody: - type: object - properties: - output: - type: object - properties: - count: - type: number - objects: - type: array - items: - type: object - properties: - name: - type: string - ic_role_name: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - type: object - properties: - access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - project_uid: - type: string - name: - type: string - description: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getListofUserResponseBody: - type: object - properties: - output: - type: object - properties: - objects: - type: array - items: - type: object - properties: - uid: - type: string - email: - type: string - first_name: - type: string - last_name: - type: string - roles: - type: array - items: - type: object - properties: - name: - type: string - ic_role_name: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - type: object - properties: - access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - project_uid: - type: string - description: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - wmic_username: - type: string - is_admin: - type: string - is_developer: - type: string - is_owner: - type: string - count: - type: number - getUserDetailsResponseBody: - type: object - properties: - output: - type: object - properties: - uid: - type: string - first_name: - type: string - last_name: - type: string - email: - type: string - roles: - type: array - items: - type : object - properties: - name: - type: string - ic_role_name: - type: string - description: - type: string - permissions: - type: array - items: - type: object - properties: - access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - project_uid: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - is_admin: - type: boolean - is_developer: - type: boolean - is_owner: - type: boolean - assignRoleRequestBody: - type: object - properties: - username: - type: string - roles: - type: array - items: - type: string - assignRoleResponseBody: - type: object - properties: - output: - type: object - properties: - uid: - type: string - email: - type: string - wmic_username: - type: string - roles: - type: array - items: - type: object - properties: - name: - type: string - ic_role_name: - type: string - description: - type: string - permissions: - type: array - items: - type: object - properties: - access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - project_uid: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - is_admin: - type: boolean - is_developer: - type: boolean - is_owner: - type: boolean - securitySchemes: - basicAuth: - type: http - scheme: basic \ No newline at end of file diff --git a/apis/wMIO_OpenAPI_Spec_v2.yaml b/apis/wMIO_OpenAPI_Spec_v2.yaml deleted file mode 100644 index 70b0b9c..0000000 --- a/apis/wMIO_OpenAPI_Spec_v2.yaml +++ /dev/null @@ -1,2812 +0,0 @@ ---- -openapi: 3.0.1 -info: - title: WMIO Open API - description: 'This is WMIO Open API ' - version: 1.0.0 -servers: -- url: https://awstag2003.stag-int-aws-us.webmethods.io -security: -- basicAuth: [] -paths: - /apis/v1/rest/projects: - get: - tags: - - Project - summary: Get a list of projects. - responses: - "200": - description: List of all valid projects - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectListResponseBody' - "400": - description: Bad request - content: {} - x-codegen-request-body-name: body - post: - tags: - - Project - summary: Create new project. - requestBody: - description: Project data. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}: - get: - tags: - - Project - summary: Get a single project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Project - summary: Updates a project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project data. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Project - summary: Deletes a project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Deletes a valid projects - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad request - content: {} - /apis/v1/rest/projects/{project}/assets: - get: - tags: - - Project - summary: Get a list of valid assets of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides valid assetes of project. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectAssetsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/push: - post: - tags: - - Project - summary: Publish project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project Publish. - content: - application/json: - schema: - $ref: '#/components/schemas/PushRequestBody' - required: true - responses: - "200": - description: Provides a project Publish call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/PushProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/deploy: - post: - tags: - - Project - summary: Deploy Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project Deploy. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectReqBody' - required: true - responses: - "200": - description: Deploy a Project. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/params: - get: - tags: - - Project - summary: Get a list Project Parameters of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Project - summary: Create Project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Create Project Parameter. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateRequestBody' - required: true - responses: - "201": - description: Provides a create project parameter call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/params/{Param}: - get: - tags: - - Project - summary: Get Parameters details. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter details. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Project - summary: Update a project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a Updated project parameter values. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateRequestBody' - required: true - responses: - "200": - description: Provides a update project parameter call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Project - summary: Delete Project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}/export: - post: - tags: - - Workflow - summary: Export a workflow with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Name and Description for Import workflow. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a list of dependent assets. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportResponse' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflow-import: - post: - tags: - - Workflow - summary: Import a workflow in a project with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Creates a new workflow in mentioned project. - content: - application/json: - schema: - $ref: '#/components/schemas/ImportResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}/run: - post: - tags: - - Workflow - summary: Run/Executes a workflow. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides information about workflow run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflow-run/run_id: - get: - tags: - - Workflow - summary: Provides Run/Executes status of a workflow. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides all information about workflow run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunStatusResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}: - delete: - tags: - - Workflow - summary: Delets a workflow with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a workflow deletion message. - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows: - get: - tags: - - Workflow - summary: Get a list Webhook Enabled workflows of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Webhook enabled workflows list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows/{workflow}/reset: - put: - tags: - - Workflow - summary: Reset Webhook URL. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Workflow Webhook URL Reset Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ResetWebhookURLResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows/{workflow}/auth: - post: - tags: - - Workflow - summary: Set Webhook Auth. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Authentication type of webhook. - content: - application/json: - schema: - $ref: '#/components/schemas/SetWebhookAuthRequestBody' - required: true - responses: - "200": - description: Set Webhook Authentication Type. - content: - application/json: - schema: - $ref: '#/components/schemas/SetWebhookAuthResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows: - post: - tags: - - Workflow - summary: Create Empty Workflow - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a workflow meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowRequestBody' - required: true - responses: - "200": - description: Provides information Newly Created Workflow. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/recipes: - get: - tags: - - Recipe - summary: Get a list of recipes. - responses: - "200": - description: Provides a list of recipes. - content: - application/json: - schema: - $ref: '#/components/schemas/GetAllRecipesResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Recipe - summary: Upload Workflow in Recpie. - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Upload workflow in Recipe Section. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateRecipeResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/recipes/{Recipe}: - get: - tags: - - Recipe - summary: Get recipe details. - parameters: - - name: Recipe - in: path - description: Recipe Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a recipe details. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateRecipeResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Recipe - summary: Delete Non Global Recipe. - parameters: - - name: Recipe - in: path - description: Recipe Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Delete Recipe call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}/export: - post: - tags: - - Flowservice - summary: Export a flowservice with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Flowservice name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides download link. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flow-import: - post: - tags: - - Flowservice - summary: Import a flowservice in a project with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Creates/overrides flowservice in mentioned project. - content: - application/json: - schema: - $ref: '#/components/schemas/ImportFlowserviceResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}/run: - post: - tags: - - Flowservice - summary: Run/Executes a flowservice. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Workservice name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Executes flowservice run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}: - delete: - tags: - - Flowservice - summary: Delets a flowservice with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a flowservice deletion message. - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - /apis/v1/rest/themes/defaultvalues: - get: - tags: - - White Labeling - summary: Get a Default Values Theme. - responses: - "200": - description: Provides a default values of default theme. - content: - application/json: - schema: - $ref: '#/components/schemas/GetDefaultThemeValueResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes: - get: - tags: - - White Labeling - summary: Get list of Theme. - responses: - "200": - description: Provides a List Themes call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ListAllThemesResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - White Labeling - summary: Create a New Theme. - requestBody: - description: Create Theme. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemeRequestBody' - required: true - responses: - "201": - description: Provide Create Theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}: - get: - tags: - - White Labeling - summary: Get a Theme Details. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get theme details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - White Labeling - summary: Updates a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a updated theme values. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemeRequestBody' - required: true - responses: - "200": - description: Provides a update theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - White Labeling - summary: Delete a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a delete theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}/activate: - put: - tags: - - White Labeling - summary: Activate a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a activate theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeactivateResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}/deactivate: - put: - tags: - - White Labeling - summary: Deactivate a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a deactivate theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeactivateResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/trigger-flows: - get: - tags: - - Trigger Operations - summary: Get a list Trigger Enabled workflows of a Project. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Trigger enabled workflows list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/triggers/{trigger}: - delete: - tags: - - Trigger Operations - summary: Delete Trigger. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - - name: trigger - in: path - description: Trigger uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Trigger delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/accounts: - get: - tags: - - Account Operations - summary: Get a list User Created Accounts of a Project. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a list of User Created Accounts of project. - content: - application/json: - schema: - $ref: '#/components/schemas/GetUserAccountsResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/configs/{ConfigUid}: - put: - tags: - - Account Operations - summary: Update Account of Particular Action in Workflow. - parameters: - - name: project - in: path - description: Project name or Uid. - required: true - style: simple - explode: false - schema: - type: string - - name: ConfigUid - in: path - description: Config uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a Account Uid. - content: - application/json: - schema: - $ref: '#/components/schemas/updateAccountRequestBody' - required: true - responses: - "200": - description: Provides a Update Configs call response. - content: - application/json: - schema: - $ref: '#/components/schemas/updateAccountResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/accounts/{AccountUid}: - delete: - tags: - - Account Operations - summary: Account Trigger. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - - name: AccountUid - in: path - description: Account uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Account delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/monitor/summary: - post: - tags: - - Metrics Operations - summary: Fetch Execution Summary based on the provided search parameters. - parameters: - - name: skip - in: query - description: The number of items to skip. - required: false - style: form - explode: true - schema: - type: integer - - name: limit - in: query - description: The number of items per page limit. - required: false - style: form - explode: true - schema: - type: integer - requestBody: - description: Provides Required details. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutionSummaryRequestBody' - required: true - responses: - "200": - description: Provides a Workflow Execution Summary. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/monitor/workflow-execution/logs/{BillUid}: - get: - tags: - - Metrics Operations - summary: Get Details of Particular Execution. - parameters: - - name: BillUid - in: path - description: Execution Bill uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Execution Details of Particular Bill. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutiondetailsResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/roles: - get: - tags: - - Roles and Permission - summary: Get a List of Roles. - responses: - "200": - description: Provides a Get List of Roles call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getListofRolesResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Roles and Permission - summary: Create a New Role. - requestBody: - description: Create Role. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleRequestBody' - required: true - responses: - "201": - description: Provide Create Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/roles/{RoleUid}: - get: - tags: - - Roles and Permission - summary: Get a Role Details. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get Role details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Roles and Permission - summary: Updates a Role. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a updated Role values. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleRequestBody' - required: true - responses: - "200": - description: Provides a update Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Roles and Permission - summary: Delete a Role. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a delete Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/users: - get: - tags: - - Roles and Permission - summary: Get a List of Users. - responses: - "200": - description: Provides a Get List of user call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getListofUserResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/users/{UserUid}: - get: - tags: - - Roles and Permission - summary: Get a List of Users. - parameters: - - name: UserUid - in: path - description: User Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get user details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getUserDetailsResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/assign-roles: - put: - tags: - - Roles and Permission - summary: Assign a Role to user. - requestBody: - description: Provides a value to assign Role. - content: - application/json: - schema: - $ref: '#/components/schemas/assignRoleRequestBody' - required: true - responses: - "200": - description: Provides a update Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/assignRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body -components: - schemas: - ExportRequestBody: - type: object - properties: - name: - type: string - description: - type: string - ExportResponse: - type: object - properties: - download_link: - type: string - valid_till: - type: string - ImportRequestBody: - type: object - properties: - recipe: - type: string - format: file - ImportResponseBody: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - refid: - type: string - sid: - type: string - tenant_uid: - type: string - project_uid: - type: string - WorkFlowRunResponseBody: - type: object - properties: - run_id: - type: string - response: - type: string - status: - type: string - workflow_uid: - type: string - tenant_uid: - type: string - project_uid: - type: string - WorkFlowRunStatusResponseBody: - type: array - items: - $ref: '#/components/schemas/WorkFlowRunStatusResponseBody_inner' - DeleteWorkFlowResponse: - type: object - properties: - uid: - type: string - ProjectListResponseBody: - type: array - items: - $ref: '#/components/schemas/ProjectListResponseBody_inner' - ProjectResponseBody: - type: object - properties: - uid: - type: string - name: - type: string - workflow_count: - type: string - flowservice_count: - type: string - DependentAssetsList: - type: object - properties: - workflows: - type: array - items: - type: string - flows: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows_1' - rest: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - soap: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - ProjectAssetsListResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ProjectAssetsListResponse_output' - ImportFlowserviceResponseBody: - type: object - properties: - name: - type: string - assemblyType: - type: string - serviceFullName: - type: string - tenant_uid: - type: string - project_uid: - type: string - PushRequestBody: - type: object - properties: - name: - type: string - description: - type: string - destination_tenant_detail: - $ref: '#/components/schemas/PushRequestBody_destination_tenant_detail' - workflows: - type: array - items: - type: string - flows: - type: array - items: - type: string - rest_api: - type: array - items: - type: string - soap_api: - type: array - items: - type: string - messaging: - type: array - items: - type: string - DeployProjectReqBody: - type: object - properties: - version: - type: number - DeployProjectResponse: - type: object - properties: - output: - $ref: '#/components/schemas/DeployProjectResponse_output' - DeployProjectRequestBody: - type: object - properties: - deployment_version: - type: string - data: - $ref: '#/components/schemas/DeployProjectRequestBody_data' - flow: - $ref: '#/components/schemas/DeployProjectRequestBody_flow' - rest: - $ref: '#/components/schemas/DeployProjectRequestBody_rest' - soap: - $ref: '#/components/schemas/DeployProjectRequestBody_soap' - schema: - $ref: '#/components/schemas/SchemaObj' - params: - $ref: '#/components/schemas/ParamsObj' - ParamsObj: - type: object - properties: - newParams: - type: array - items: - type: object - diffParams: - type: array - items: - type: object - SchemaObj: - type: object - properties: - trigger: - $ref: '#/components/schemas/SchemaObj_trigger' - account: - $ref: '#/components/schemas/SchemaObj_trigger' - PushProjectResponse: - type: object - properties: - output: - $ref: '#/components/schemas/PushProjectResponse_output' - ApiResponse: - type: object - properties: - code: - type: integer - format: int32 - type: - type: string - message: - type: string - WorkFlowRunStatusResponseBody_inner: - type: object - properties: - run_id: - type: string - workflow_uid: - type: string - project_uid: - type: string - status: - type: string - ProjectListResponseBody_inner: - type: object - properties: - uid: - type: string - name: - type: string - workflow_count: - type: string - flowservice_count: - type: string - DependentAssetsList_flows: - type: object - properties: - serviceName: - type: string - serviceFullName: - type: string - DependentAssetsList_assets: - type: object - properties: - name: - type: string - serviceFullName: - type: string - DependentAssetsList_flows_1: - type: object - properties: - flows: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - assets: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_assets' - DeployProjectRequestBody_data: - type: object - properties: - trigger: - type: object - account: - type: object - DeployProjectRequestBody_flow_flowBody: - type: object - properties: - serviceFullName: - type: string - serviceName: - type: string - DeployProjectRequestBody_flow: - type: object - properties: - integrations: - type: object - uniqueId: - type: string - flowBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - DeployProjectRequestBody_rest: - type: object - properties: - uniqueId: - type: string - restBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - DeployProjectRequestBody_soap: - type: object - properties: - uniqueId: - type: string - soapBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - SchemaObj_trigger: - type: object - properties: - newSchema: - type: object - ProjectParamCreateRequestBody: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - ProjectParamCreateResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ProjectParamCreateResponse_output' - ProjectParamDeleteResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ProjectParamDeleteResponse_output' - ProjectParamsListResponse: - type: object - properties: - output: - type: array - items: - $ref: '#/components/schemas/ProjectParamCreateResponse_output' - WebhookEnabledworkflowsListResponse: - type: object - properties: - output: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output' - ResetWebhookURLResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ResetWebhookURLResponse_output' - SetWebhookAuthRequestBody: - type: object - properties: - auth: - type: string - SetWebhookAuthResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_objects' - CreateWorkflowRequestBody: - type: object - properties: - name: - type: string - description: - type: string - CreateWorkflowResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/CreateWorkflowResponseBody_output' - CreateRecipeResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/CreateWorkflowResponseBody_output' - GetAllRecipesResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/GetAllRecipesResponseBody_output' - GetDefaultThemeValueResponse: - type: object - properties: - output: - $ref: '#/components/schemas/GetDefaultThemeValueResponse_output' - CreateThemeRequestBody: - type: object - properties: - name: - type: string - description: - type: string - theme: - $ref: '#/components/schemas/CreateThemeRequestBody_theme' - footerContent: - type: string - aboutPageContent: - type: string - CreateThemenResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/CreateThemenResponseBody_output' - ThemeactivateResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/ThemeactivateResponseBody_output' - ListAllThemesResponse: - type: object - properties: - output: - type: array - items: - $ref: '#/components/schemas/CreateThemenResponseBody_output' - TriggerEnabledworkflowsListResponse: - type: object - properties: - output: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse_output' - GetUserAccountsResponse: - type: object - properties: - output: - $ref: '#/components/schemas/GetUserAccountsResponse_output' - updateAccountRequestBody: - type: object - properties: - account: - type: string - updateAccountResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/updateAccountResponseBody_output' - fetchExecutionSummaryRequestBody: - type: object - properties: - start_date: - type: string - end_date: - type: string - projects: - type: array - items: - type: string - workflows: - type: array - items: - type: string - execution_status: - type: array - items: - type: string - fetchExecutionSummaryResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output' - fetchExecutiondetailsResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/fetchExecutiondetailsResponseBody_output' - createRoleRequestBody: - type: object - properties: - name: - type: string - description: - type: string - projects: - type: array - items: - $ref: '#/components/schemas/createRoleRequestBody_projects' - createRoleResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/createRoleResponseBody_output' - getListofRolesResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/getListofRolesResponseBody_output' - getListofUserResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/getListofUserResponseBody_output' - getUserDetailsResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/getUserDetailsResponseBody_output' - assignRoleRequestBody: - type: object - properties: - username: - type: string - roles: - type: array - items: - type: string - assignRoleResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/assignRoleResponseBody_output' - ProjectAssetsListResponse_output: - type: object - properties: - workflows: - type: array - items: - type: string - flows: - type: array - items: - type: string - rest: - type: array - items: - type: string - soap: - type: array - items: - type: string - listener: - type: array - items: - type: string - messaging: - type: array - items: - type: string - PushRequestBody_destination_tenant_detail: - type: object - properties: - username: - type: string - password: - type: string - url: - type: string - DeployProjectResponse_output: - type: object - properties: - status: - type: string - PushProjectResponse_output_contains_asset: - type: object - properties: - sap_assets: - type: boolean - messaging_assets: - type: boolean - PushProjectResponse_output_custom_connector_list: - type: object - properties: - cloudstream: - type: array - items: - type: string - nodejs: - type: array - items: - type: string - PushProjectResponse_output: - type: object - properties: - uid: - type: string - version: - type: string - name: - type: string - description: - type: string - project_name: - type: string - project_uid: - type: string - tenant_uid: - type: string - to_tenant: - type: string - from_tenant: - type: string - cross_environment: - type: boolean - contains_asset: - $ref: '#/components/schemas/PushProjectResponse_output_contains_asset' - custom_connector_list: - $ref: '#/components/schemas/PushProjectResponse_output_custom_connector_list' - ProjectParamCreateResponse_output_param: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - hasError: - type: boolean - ProjectParamCreateResponse_output: - type: object - properties: - uid: - type: string - param: - $ref: '#/components/schemas/ProjectParamCreateResponse_output_param' - project_uid: - type: string - tenant_uid: - type: string - ProjectParamDeleteResponse_output: - type: object - properties: - message: - type: string - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth_auth: - type: object - properties: - user_name: - type: string - password: - type: string - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth: - type: object - properties: - type: - type: string - auth: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth_auth' - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token_auth: - type: object - properties: - token: - type: string - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token: - type: object - properties: - type: - type: string - auth: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token_auth' - WebhookEnabledworkflowsListResponse_output_webhook_settings: - type: object - properties: - auth_type: - type: string - webhook_auth: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth' - webhook_token: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token' - show_auth: - type: boolean - url_execution: - type: boolean - WebhookEnabledworkflowsListResponse_output_objects: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_settings: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings' - WebhookEnabledworkflowsListResponse_output: - type: object - properties: - objects: - type: array - items: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_objects' - count: - type: number - ResetWebhookURLResponse_output: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_url: - type: string - CreateWorkflowResponseBody_output: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - GetAllRecipesResponseBody_output_recipes: - type: object - properties: - download: - type: number - published: - type: boolean - name: - type: string - description: - type: string - uid: - type: string - GetAllRecipesResponseBody_output: - type: object - properties: - recipes: - type: array - items: - $ref: '#/components/schemas/GetAllRecipesResponseBody_output_recipes' - count: - type: number - GetDefaultThemeValueResponse_output: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - footerContent: - type: string - aboutPageContent: - type: string - CreateThemeRequestBody_theme: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - CreateThemenResponseBody_output_settings: - type: object - properties: - description: - type: string - theme: - $ref: '#/components/schemas/GetDefaultThemeValueResponse_output' - CreateThemenResponseBody_output: - type: object - properties: - name: - type: string - uid: - type: string - settings: - $ref: '#/components/schemas/CreateThemenResponseBody_output_settings' - active: - type: boolean - ThemeactivateResponseBody_output: - type: object - properties: - name: - type: string - uid: - type: string - active: - type: boolean - TriggerEnabledworkflowsListResponse_output_trigger: - type: object - properties: - provider: - type: string - label: - type: string - title: - type: string - uid: - type: string - TriggerEnabledworkflowsListResponse_output_objects: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - trigger: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse_output_trigger' - TriggerEnabledworkflowsListResponse_output: - type: object - properties: - objects: - type: array - items: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse_output_objects' - count: - type: number - GetUserAccountsResponse_output_configs_provider_name: - type: object - properties: - name: - type: string - flow_version: - type: integer - flow_uid: - type: string - activity_id: - type: string - action: - type: string - version: - type: string - service: - type: string - auth: - type: string - uid: - type: string - GetUserAccountsResponse_output_configs: - type: object - properties: - provider_name: - type: array - items: - $ref: '#/components/schemas/GetUserAccountsResponse_output_configs_provider_name' - GetUserAccountsResponse_output_accounts_connections_provider_name: - type: object - properties: - icon: - type: string - label: - type: string - title: - type: string - uid: - type: string - GetUserAccountsResponse_output_accounts_connections: - type: object - properties: - provider_name: - type: array - items: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts_connections_provider_name' - GetUserAccountsResponse_output_accounts: - type: object - properties: - connections: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts_connections' - auths: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts_connections' - GetUserAccountsResponse_output: - type: object - properties: - configs: - $ref: '#/components/schemas/GetUserAccountsResponse_output_configs' - accounts: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts' - updateAccountResponseBody_output: - type: object - properties: - name: - type: string - type: - type: string - flow_version: - type: integer - flow_uid: - type: string - tenant_uid: - type: string - project_uid: - type: string - activity_id: - type: string - action: - type: string - version: - type: string - service: - type: string - provider: - type: string - auth/connection: - type: string - uid: - type: string - fetchExecutionSummaryResponseBody_output_summary: - type: object - properties: - success: - type: string - running: - type: string - stopped: - type: string - failed: - type: string - timeout: - type: string - pending: - type: string - hold: - type: string - fetchExecutionSummaryResponseBody_output_graph_logs: - type: object - properties: - uid: - type: string - execution_status: - type: string - flow_name: - type: string - flow_uid: - type: string - project_uid: - type: string - restarted: - type: string - requested_at: - type: string - project_name: - type: string - execution_source: - type: string - fetchExecutionSummaryResponseBody_output_graph: - type: object - properties: - count: - type: integer - logs: - type: array - items: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output_graph_logs' - fetchExecutionSummaryResponseBody_output: - type: object - properties: - summary: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output_summary' - graph: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output_graph' - fetchExecutiondetailsResponseBody_output: - type: object - properties: - uid: - type: string - duration: - type: string - executed_by: - type: string - execution_status: - type: string - flow_name: - type: string - manual_run: - type: string - project_uid: - type: string - queue: - type: string - trigger: - type: string - start_time: - type: string - stop_time: - type: string - requested_at: - type: string - project_name: - type: string - transaction_count: - type: integer - createRoleRequestBody_projects: - type: object - properties: - project_name: - type: array - items: - type: string - createRoleResponseBody_output_access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - createRoleResponseBody_output_permissions: - type: object - properties: - project_uid: - type: string - access_list: - $ref: '#/components/schemas/createRoleResponseBody_output_access_list' - createRoleResponseBody_output: - type: object - properties: - name: - type: string - uid: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/createRoleResponseBody_output_permissions' - created_at: - type: string - updated_at: - type: string - getListofRolesResponseBody_output_permissions: - type: object - properties: - access_list: - $ref: '#/components/schemas/createRoleResponseBody_output_access_list' - project_uid: - type: string - name: - type: string - getListofRolesResponseBody_output_objects: - type: object - properties: - name: - type: string - ic_role_name: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/getListofRolesResponseBody_output_permissions' - description: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getListofRolesResponseBody_output: - type: object - properties: - count: - type: number - objects: - type: array - items: - $ref: '#/components/schemas/getListofRolesResponseBody_output_objects' - getListofUserResponseBody_output_permissions: - type: object - properties: - access_list: - $ref: '#/components/schemas/createRoleResponseBody_output_access_list' - project_uid: - type: string - getListofUserResponseBody_output_roles: - type: object - properties: - name: - type: string - ic_role_name: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_permissions' - description: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getListofUserResponseBody_output_objects: - type: object - properties: - uid: - type: string - email: - type: string - first_name: - type: string - last_name: - type: string - roles: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_roles' - wmic_username: - type: string - is_admin: - type: string - is_developer: - type: string - is_owner: - type: string - getListofUserResponseBody_output: - type: object - properties: - objects: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_objects' - count: - type: number - getUserDetailsResponseBody_output_roles: - type: object - properties: - name: - type: string - ic_role_name: - type: string - description: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_permissions' - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getUserDetailsResponseBody_output: - type: object - properties: - uid: - type: string - first_name: - type: string - last_name: - type: string - email: - type: string - roles: - type: array - items: - $ref: '#/components/schemas/getUserDetailsResponseBody_output_roles' - is_admin: - type: boolean - is_developer: - type: boolean - is_owner: - type: boolean - assignRoleResponseBody_output: - type: object - properties: - uid: - type: string - email: - type: string - wmic_username: - type: string - roles: - type: array - items: - $ref: '#/components/schemas/getUserDetailsResponseBody_output_roles' - is_admin: - type: boolean - is_developer: - type: boolean - is_owner: - type: boolean - securitySchemes: - basicAuth: - type: http - scheme: basic diff --git a/apis/wMIO_OpenAPI_Spec_v3.yaml b/apis/wMIO_OpenAPI_Spec_v3.yaml deleted file mode 100644 index da9b5ce..0000000 --- a/apis/wMIO_OpenAPI_Spec_v3.yaml +++ /dev/null @@ -1,2879 +0,0 @@ ---- -openapi: 3.0.1 -info: - title: WMIO Open API - description: 'This is WMIO Open API ' - version: 1.0.0 -servers: -- url: https://awstag2003.stag-int-aws-us.webmethods.io -security: -- basicAuth: [] -paths: - /apis/v1/rest/projects: - get: - tags: - - Project - summary: Get a list of projects. - responses: - "200": - description: List of all valid projects - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectListResponseBody' - "400": - description: Bad request - content: {} - x-codegen-request-body-name: body - post: - tags: - - Project - summary: Create new project. - requestBody: - description: Project data. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}: - get: - tags: - - Project - summary: Get a single project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Project - summary: Updates a project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project data. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a projects meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Project - summary: Deletes a project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Deletes a valid projects - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad request - content: {} - /apis/v1/rest/projects/{project}/assets: - get: - tags: - - Project - summary: Get a list of valid assets of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides valid assetes of project. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectAssetsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/push: - post: - tags: - - Project - summary: Publish project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project Publish. - content: - application/json: - schema: - $ref: '#/components/schemas/PushRequestBody' - required: true - responses: - "200": - description: Provides a project Publish call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/PushProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/deploy: - post: - tags: - - Project - summary: Deploy Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Project Deploy. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectReqBody' - required: true - responses: - "200": - description: Deploy a Project. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/export: - post: - tags: - - Project - summary: Export a project with all valid assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a project export call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/project-import: - post: - tags: - - Project - summary: Import Project. - requestBody: - description: Project Import. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportProjectRequestBody' - required: true - responses: - "200": - description: Import a Project. - content: - application/json: - schema: - $ref: '#/components/schemas/DeployProjectResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/params: - get: - tags: - - Project - summary: Get a list Project Parameters of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Project - summary: Create Project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Create Project Parameter. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateRequestBody' - required: true - responses: - "201": - description: Provides a create project parameter call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/params/{Param}: - get: - tags: - - Project - summary: Get Parameters details. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter details. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Project - summary: Update a project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a Updated project parameter values. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateRequestBody' - required: true - responses: - "200": - description: Provides a update project parameter call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamCreateResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Project - summary: Delete Project Parameter. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: Param - in: path - description: Project Parameter uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Project Parameter delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}/export: - post: - tags: - - Workflow - summary: Export a workflow with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Name and Description for Import workflow. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportRequestBody' - required: true - responses: - "200": - description: Provides a list of dependent assets. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportResponse' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflow-import: - post: - tags: - - Workflow - summary: Import a workflow in a project with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Creates a new workflow in mentioned project. - content: - application/json: - schema: - $ref: '#/components/schemas/ImportResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}/run: - post: - tags: - - Workflow - summary: Run/Executes a workflow. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides information about workflow run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflow-run/run_id: - get: - tags: - - Workflow - summary: Provides Run/Executes status of a workflow. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides all information about workflow run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunStatusResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows/{workflow}: - delete: - tags: - - Workflow - summary: Delets a workflow with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a workflow deletion message. - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows: - get: - tags: - - Workflow - summary: Get a list Webhook Enabled workflows of a Project. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Webhook enabled workflows list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows/{workflow}/reset: - put: - tags: - - Workflow - summary: Reset Webhook URL. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Workflow Webhook URL Reset Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ResetWebhookURLResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/webhook-flows/{workflow}/auth: - post: - tags: - - Workflow - summary: Set Webhook Auth. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: workflow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Authentication type of webhook. - content: - application/json: - schema: - $ref: '#/components/schemas/SetWebhookAuthRequestBody' - required: true - responses: - "200": - description: Set Webhook Authentication Type. - content: - application/json: - schema: - $ref: '#/components/schemas/SetWebhookAuthResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/workflows: - post: - tags: - - Workflow - summary: Create Empty Workflow - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a workflow meta data. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowRequestBody' - required: true - responses: - "200": - description: Provides information Newly Created Workflow. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateWorkflowResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/recipes: - get: - tags: - - Recipe - summary: Get a list of recipes. - responses: - "200": - description: Provides a list of recipes. - content: - application/json: - schema: - $ref: '#/components/schemas/GetAllRecipesResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Recipe - summary: Upload Workflow in Recpie. - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Upload workflow in Recipe Section. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateRecipeResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/recipes/{Recipe}: - get: - tags: - - Recipe - summary: Get recipe details. - parameters: - - name: Recipe - in: path - description: Recipe Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a recipe details. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateRecipeResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Recipe - summary: Delete Non Global Recipe. - parameters: - - name: Recipe - in: path - description: Recipe Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Delete Recipe call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}/export: - post: - tags: - - Flowservice - summary: Export a flowservice with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Flowservice name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides download link. - content: - application/json: - schema: - $ref: '#/components/schemas/ExportResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flow-import: - post: - tags: - - Flowservice - summary: Import a flowservice in a project with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Exported .zip file. - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/ImportRequestBody' - required: true - responses: - "200": - description: Creates/overrides flowservice in mentioned project. - content: - application/json: - schema: - $ref: '#/components/schemas/ImportFlowserviceResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}/run: - post: - tags: - - Flowservice - summary: Run/Executes a flowservice. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Workservice name. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Executes flowservice run. - content: - application/json: - schema: - $ref: '#/components/schemas/WorkFlowRunResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/flows/{flow}: - delete: - tags: - - Flowservice - summary: Delets a flowservice with it's dependent assets. - parameters: - - name: project - in: path - description: Project name. - required: true - style: simple - explode: false - schema: - type: string - - name: flow - in: path - description: Workflow UID. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a flowservice deletion message. - content: - application/json: - schema: - $ref: '#/components/schemas/DeleteWorkFlowResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - /apis/v1/rest/themes/defaultvalues: - get: - tags: - - White Labeling - summary: Get a Default Values Theme. - responses: - "200": - description: Provides a default values of default theme. - content: - application/json: - schema: - $ref: '#/components/schemas/GetDefaultThemeValueResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes: - get: - tags: - - White Labeling - summary: Get list of Theme. - responses: - "200": - description: Provides a List Themes call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ListAllThemesResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - White Labeling - summary: Create a New Theme. - requestBody: - description: Create Theme. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemeRequestBody' - required: true - responses: - "201": - description: Provide Create Theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}: - get: - tags: - - White Labeling - summary: Get a Theme Details. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get theme details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - White Labeling - summary: Updates a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a updated theme values. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemeRequestBody' - required: true - responses: - "200": - description: Provides a update theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateThemenResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - White Labeling - summary: Delete a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a delete theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}/activate: - put: - tags: - - White Labeling - summary: Activate a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a activate theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeactivateResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/themes/{Theme}/deactivate: - put: - tags: - - White Labeling - summary: Deactivate a Theme. - parameters: - - name: Theme - in: path - description: Theme Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a deactivate theme call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeactivateResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/trigger-flows: - get: - tags: - - Trigger Operations - summary: Get a list Trigger Enabled workflows of a Project. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Trigger enabled workflows list of project. - content: - application/json: - schema: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/triggers/{trigger}: - delete: - tags: - - Trigger Operations - summary: Delete Trigger. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - - name: trigger - in: path - description: Trigger uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Trigger delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/accounts: - get: - tags: - - Account Operations - summary: Get a list User Created Accounts of a Project. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a list of User Created Accounts of project. - content: - application/json: - schema: - $ref: '#/components/schemas/GetUserAccountsResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/configs/{ConfigUid}: - put: - tags: - - Account Operations - summary: Update Account of Particular Action in Workflow. - parameters: - - name: project - in: path - description: Project name or Uid. - required: true - style: simple - explode: false - schema: - type: string - - name: ConfigUid - in: path - description: Config uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a Account Uid. - content: - application/json: - schema: - $ref: '#/components/schemas/updateAccountRequestBody' - required: true - responses: - "200": - description: Provides a Update Configs call response. - content: - application/json: - schema: - $ref: '#/components/schemas/updateAccountResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/projects/{project}/accounts/{AccountUid}: - delete: - tags: - - Account Operations - summary: Account Trigger. - parameters: - - name: project - in: path - description: Project name or uid. - required: true - style: simple - explode: false - schema: - type: string - - name: AccountUid - in: path - description: Account uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Account delete call response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/monitor/summary: - post: - tags: - - Metrics Operations - summary: Fetch Execution Summary based on the provided search parameters. - parameters: - - name: skip - in: query - description: The number of items to skip. - required: false - style: form - explode: true - schema: - type: integer - - name: limit - in: query - description: The number of items per page limit. - required: false - style: form - explode: true - schema: - type: integer - requestBody: - description: Provides Required details. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutionSummaryRequestBody' - required: true - responses: - "200": - description: Provides a Workflow Execution Summary. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/monitor/workflow-execution/logs/{BillUid}: - get: - tags: - - Metrics Operations - summary: Get Details of Particular Execution. - parameters: - - name: BillUid - in: path - description: Execution Bill uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Execution Details of Particular Bill. - content: - application/json: - schema: - $ref: '#/components/schemas/fetchExecutiondetailsResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/roles: - get: - tags: - - Roles and Permission - summary: Get a List of Roles. - responses: - "200": - description: Provides a Get List of Roles call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getListofRolesResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - post: - tags: - - Roles and Permission - summary: Create a New Role. - requestBody: - description: Create Role. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleRequestBody' - required: true - responses: - "201": - description: Provide Create Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Invalid input - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/roles/{RoleUid}: - get: - tags: - - Roles and Permission - summary: Get a Role Details. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get Role details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - put: - tags: - - Roles and Permission - summary: Updates a Role. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - requestBody: - description: Provides a updated Role values. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleRequestBody' - required: true - responses: - "200": - description: Provides a update Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/createRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - delete: - tags: - - Roles and Permission - summary: Delete a Role. - parameters: - - name: RoleUid - in: path - description: Role Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a delete Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/ProjectParamDeleteResponse' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/users: - get: - tags: - - Roles and Permission - summary: Get a List of Users. - responses: - "200": - description: Provides a Get List of user call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getListofUserResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/users/{UserUid}: - get: - tags: - - Roles and Permission - summary: Get a List of Users. - parameters: - - name: UserUid - in: path - description: User Uid. - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: Provides a Get user details call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/getUserDetailsResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body - /apis/v1/rest/assign-roles: - put: - tags: - - Roles and Permission - summary: Assign a Role to user. - requestBody: - description: Provides a value to assign Role. - content: - application/json: - schema: - $ref: '#/components/schemas/assignRoleRequestBody' - required: true - responses: - "200": - description: Provides a update Role call Response. - content: - application/json: - schema: - $ref: '#/components/schemas/assignRoleResponseBody' - "400": - description: Bad Request. - content: {} - security: - - basicAuth: [] - x-codegen-request-body-name: body -components: - schemas: - ExportRequestBodyWithOverwrite: - type: object - properties: - name: - type: string - description: - type: string - overwrite: - type: boolean - ExportRequestBody: - type: object - properties: - name: - type: string - description: - type: string - ExportResponse: - type: object - properties: - download_link: - type: string - valid_till: - type: string - ImportProjectRequestBody: - type: object - properties: - project: - type: string - format: file - ImportRequestBody: - type: object - properties: - recipe: - type: string - format: file - ImportResponseBody: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - refid: - type: string - sid: - type: string - tenant_uid: - type: string - project_uid: - type: string - WorkFlowRunResponseBody: - type: object - properties: - run_id: - type: string - response: - type: string - status: - type: string - workflow_uid: - type: string - tenant_uid: - type: string - project_uid: - type: string - WorkFlowRunStatusResponseBody: - type: array - items: - $ref: '#/components/schemas/WorkFlowRunStatusResponseBody_inner' - DeleteWorkFlowResponse: - type: object - properties: - uid: - type: string - ProjectListResponseBody: - type: array - items: - $ref: '#/components/schemas/ProjectListResponseBody_inner' - ProjectResponseBody: - type: object - properties: - uid: - type: string - name: - type: string - workflow_count: - type: string - flowservice_count: - type: string - DependentAssetsList: - type: object - properties: - workflows: - type: array - items: - type: string - flows: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows_1' - rest: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - soap: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - ProjectAssetsListResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ProjectAssetsListResponse_output' - ImportFlowserviceResponseBody: - type: object - properties: - name: - type: string - assemblyType: - type: string - serviceFullName: - type: string - tenant_uid: - type: string - project_uid: - type: string - PushRequestBody: - type: object - properties: - name: - type: string - description: - type: string - destination_tenant_detail: - $ref: '#/components/schemas/PushRequestBody_destination_tenant_detail' - workflows: - type: array - items: - type: string - flows: - type: array - items: - type: string - rest_api: - type: array - items: - type: string - soap_api: - type: array - items: - type: string - messaging: - type: array - items: - type: string - DeployProjectReqBody: - type: object - properties: - version: - type: number - DeployProjectResponse: - type: object - properties: - output: - $ref: '#/components/schemas/DeployProjectResponse_output' - DeployProjectRequestBody: - type: object - properties: - deployment_version: - type: string - data: - $ref: '#/components/schemas/DeployProjectRequestBody_data' - flow: - $ref: '#/components/schemas/DeployProjectRequestBody_flow' - rest: - $ref: '#/components/schemas/DeployProjectRequestBody_rest' - soap: - $ref: '#/components/schemas/DeployProjectRequestBody_soap' - schema: - $ref: '#/components/schemas/SchemaObj' - params: - $ref: '#/components/schemas/ParamsObj' - ParamsObj: - type: object - properties: - newParams: - type: array - items: - type: object - diffParams: - type: array - items: - type: object - SchemaObj: - type: object - properties: - trigger: - $ref: '#/components/schemas/SchemaObj_trigger' - account: - $ref: '#/components/schemas/SchemaObj_trigger' - PushProjectResponse: - type: object - properties: - output: - $ref: '#/components/schemas/PushProjectResponse_output' - ApiResponse: - type: object - properties: - code: - type: integer - format: int32 - type: - type: string - message: - type: string - WorkFlowRunStatusResponseBody_inner: - type: object - properties: - run_id: - type: string - workflow_uid: - type: string - project_uid: - type: string - status: - type: string - ProjectListResponseBody_inner: - type: object - properties: - uid: - type: string - name: - type: string - workflow_count: - type: string - flowservice_count: - type: string - DependentAssetsList_flows: - type: object - properties: - serviceName: - type: string - serviceFullName: - type: string - DependentAssetsList_assets: - type: object - properties: - name: - type: string - serviceFullName: - type: string - DependentAssetsList_flows_1: - type: object - properties: - flows: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_flows' - assets: - type: array - items: - $ref: '#/components/schemas/DependentAssetsList_assets' - DeployProjectRequestBody_data: - type: object - properties: - trigger: - type: object - account: - type: object - DeployProjectRequestBody_flow_flowBody: - type: object - properties: - serviceFullName: - type: string - serviceName: - type: string - DeployProjectRequestBody_flow: - type: object - properties: - integrations: - type: object - uniqueId: - type: string - flowBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - DeployProjectRequestBody_rest: - type: object - properties: - uniqueId: - type: string - restBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - DeployProjectRequestBody_soap: - type: object - properties: - uniqueId: - type: string - soapBody: - type: array - items: - $ref: '#/components/schemas/DeployProjectRequestBody_flow_flowBody' - SchemaObj_trigger: - type: object - properties: - newSchema: - type: object - ProjectParamCreateRequestBody: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - ProjectParamCreateResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ProjectParamCreateResponse_output' - ProjectParamDeleteResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ProjectParamDeleteResponse_output' - ProjectParamsListResponse: - type: object - properties: - output: - type: array - items: - $ref: '#/components/schemas/ProjectParamCreateResponse_output' - WebhookEnabledworkflowsListResponse: - type: object - properties: - output: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output' - ResetWebhookURLResponse: - type: object - properties: - output: - $ref: '#/components/schemas/ResetWebhookURLResponse_output' - SetWebhookAuthRequestBody: - type: object - properties: - auth: - type: string - SetWebhookAuthResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_objects' - CreateWorkflowRequestBody: - type: object - properties: - name: - type: string - description: - type: string - CreateWorkflowResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/CreateWorkflowResponseBody_output' - CreateRecipeResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/CreateWorkflowResponseBody_output' - GetAllRecipesResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/GetAllRecipesResponseBody_output' - GetDefaultThemeValueResponse: - type: object - properties: - output: - $ref: '#/components/schemas/GetDefaultThemeValueResponse_output' - CreateThemeRequestBody: - type: object - properties: - name: - type: string - description: - type: string - theme: - $ref: '#/components/schemas/CreateThemeRequestBody_theme' - footerContent: - type: string - aboutPageContent: - type: string - CreateThemenResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/CreateThemenResponseBody_output' - ThemeactivateResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/ThemeactivateResponseBody_output' - ListAllThemesResponse: - type: object - properties: - output: - type: array - items: - $ref: '#/components/schemas/CreateThemenResponseBody_output' - TriggerEnabledworkflowsListResponse: - type: object - properties: - output: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse_output' - GetUserAccountsResponse: - type: object - properties: - output: - $ref: '#/components/schemas/GetUserAccountsResponse_output' - updateAccountRequestBody: - type: object - properties: - account: - type: string - updateAccountResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/updateAccountResponseBody_output' - fetchExecutionSummaryRequestBody: - type: object - properties: - start_date: - type: string - end_date: - type: string - projects: - type: array - items: - type: string - workflows: - type: array - items: - type: string - execution_status: - type: array - items: - type: string - fetchExecutionSummaryResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output' - fetchExecutiondetailsResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/fetchExecutiondetailsResponseBody_output' - createRoleRequestBody: - type: object - properties: - name: - type: string - description: - type: string - projects: - type: array - items: - $ref: '#/components/schemas/createRoleRequestBody_projects' - createRoleResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/createRoleResponseBody_output' - getListofRolesResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/getListofRolesResponseBody_output' - getListofUserResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/getListofUserResponseBody_output' - getUserDetailsResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/getUserDetailsResponseBody_output' - assignRoleRequestBody: - type: object - properties: - username: - type: string - roles: - type: array - items: - type: string - assignRoleResponseBody: - type: object - properties: - output: - $ref: '#/components/schemas/assignRoleResponseBody_output' - ProjectAssetsListResponse_output: - type: object - properties: - workflows: - type: array - items: - type: string - flows: - type: array - items: - type: string - rest: - type: array - items: - type: string - soap: - type: array - items: - type: string - listener: - type: array - items: - type: string - messaging: - type: array - items: - type: string - PushRequestBody_destination_tenant_detail: - type: object - properties: - username: - type: string - password: - type: string - url: - type: string - DeployProjectResponse_output: - type: object - properties: - status: - type: string - PushProjectResponse_output_contains_asset: - type: object - properties: - sap_assets: - type: boolean - messaging_assets: - type: boolean - PushProjectResponse_output_custom_connector_list: - type: object - properties: - cloudstream: - type: array - items: - type: string - nodejs: - type: array - items: - type: string - PushProjectResponse_output: - type: object - properties: - uid: - type: string - version: - type: string - name: - type: string - description: - type: string - project_name: - type: string - project_uid: - type: string - tenant_uid: - type: string - to_tenant: - type: string - from_tenant: - type: string - cross_environment: - type: boolean - contains_asset: - $ref: '#/components/schemas/PushProjectResponse_output_contains_asset' - custom_connector_list: - $ref: '#/components/schemas/PushProjectResponse_output_custom_connector_list' - ProjectParamCreateResponse_output_param: - type: object - properties: - key: - type: string - value: - type: string - required: - type: boolean - isPassword: - type: boolean - hasError: - type: boolean - ProjectParamCreateResponse_output: - type: object - properties: - uid: - type: string - param: - $ref: '#/components/schemas/ProjectParamCreateResponse_output_param' - project_uid: - type: string - tenant_uid: - type: string - ProjectParamDeleteResponse_output: - type: object - properties: - message: - type: string - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth_auth: - type: object - properties: - user_name: - type: string - password: - type: string - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth: - type: object - properties: - type: - type: string - auth: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth_auth' - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token_auth: - type: object - properties: - token: - type: string - WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token: - type: object - properties: - type: - type: string - auth: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token_auth' - WebhookEnabledworkflowsListResponse_output_webhook_settings: - type: object - properties: - auth_type: - type: string - webhook_auth: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_auth' - webhook_token: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings_webhook_token' - show_auth: - type: boolean - url_execution: - type: boolean - WebhookEnabledworkflowsListResponse_output_objects: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_settings: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_webhook_settings' - WebhookEnabledworkflowsListResponse_output: - type: object - properties: - objects: - type: array - items: - $ref: '#/components/schemas/WebhookEnabledworkflowsListResponse_output_objects' - count: - type: number - ResetWebhookURLResponse_output: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - webhook_url: - type: string - CreateWorkflowResponseBody_output: - type: object - properties: - uid: - type: string - name: - type: string - description: - type: string - GetAllRecipesResponseBody_output_recipes: - type: object - properties: - download: - type: number - published: - type: boolean - name: - type: string - description: - type: string - uid: - type: string - GetAllRecipesResponseBody_output: - type: object - properties: - recipes: - type: array - items: - $ref: '#/components/schemas/GetAllRecipesResponseBody_output_recipes' - count: - type: number - GetDefaultThemeValueResponse_output: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - footerContent: - type: string - aboutPageContent: - type: string - CreateThemeRequestBody_theme: - type: object - properties: - primaryColor: - type: string - primaryHeaderTextColor: - type: string - primaryTextColor: - type: string - linkColor: - type: string - primaryHoverColor: - type: string - backgroundImage: - type: string - logoFileName: - type: string - primaryBtnBgColor: - type: string - primaryBtnColor: - type: string - primaryBtnBrbColor: - type: string - secondaryBtnBgColor: - type: string - secondaryBtnColor: - type: string - secondaryBtnBrbColor: - type: string - favIconImage: - type: string - favIconFileName: - type: string - CreateThemenResponseBody_output_settings: - type: object - properties: - description: - type: string - theme: - $ref: '#/components/schemas/GetDefaultThemeValueResponse_output' - CreateThemenResponseBody_output: - type: object - properties: - name: - type: string - uid: - type: string - settings: - $ref: '#/components/schemas/CreateThemenResponseBody_output_settings' - active: - type: boolean - ThemeactivateResponseBody_output: - type: object - properties: - name: - type: string - uid: - type: string - active: - type: boolean - TriggerEnabledworkflowsListResponse_output_trigger: - type: object - properties: - provider: - type: string - label: - type: string - title: - type: string - uid: - type: string - TriggerEnabledworkflowsListResponse_output_objects: - type: object - properties: - uid: - type: string - sid: - type: string - name: - type: string - tenant_uid: - type: string - project_uid: - type: string - trigger: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse_output_trigger' - TriggerEnabledworkflowsListResponse_output: - type: object - properties: - objects: - type: array - items: - $ref: '#/components/schemas/TriggerEnabledworkflowsListResponse_output_objects' - count: - type: number - GetUserAccountsResponse_output_configs_provider_name: - type: object - properties: - name: - type: string - flow_version: - type: integer - flow_uid: - type: string - activity_id: - type: string - action: - type: string - version: - type: string - service: - type: string - auth: - type: string - uid: - type: string - GetUserAccountsResponse_output_configs: - type: object - properties: - provider_name: - type: array - items: - $ref: '#/components/schemas/GetUserAccountsResponse_output_configs_provider_name' - GetUserAccountsResponse_output_accounts_connections_provider_name: - type: object - properties: - icon: - type: string - label: - type: string - title: - type: string - uid: - type: string - GetUserAccountsResponse_output_accounts_connections: - type: object - properties: - provider_name: - type: array - items: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts_connections_provider_name' - GetUserAccountsResponse_output_accounts: - type: object - properties: - connections: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts_connections' - auths: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts_connections' - GetUserAccountsResponse_output: - type: object - properties: - configs: - $ref: '#/components/schemas/GetUserAccountsResponse_output_configs' - accounts: - $ref: '#/components/schemas/GetUserAccountsResponse_output_accounts' - updateAccountResponseBody_output: - type: object - properties: - name: - type: string - type: - type: string - flow_version: - type: integer - flow_uid: - type: string - tenant_uid: - type: string - project_uid: - type: string - activity_id: - type: string - action: - type: string - version: - type: string - service: - type: string - provider: - type: string - auth/connection: - type: string - uid: - type: string - fetchExecutionSummaryResponseBody_output_summary: - type: object - properties: - success: - type: string - running: - type: string - stopped: - type: string - failed: - type: string - timeout: - type: string - pending: - type: string - hold: - type: string - fetchExecutionSummaryResponseBody_output_graph_logs: - type: object - properties: - uid: - type: string - execution_status: - type: string - flow_name: - type: string - flow_uid: - type: string - project_uid: - type: string - restarted: - type: string - requested_at: - type: string - project_name: - type: string - execution_source: - type: string - fetchExecutionSummaryResponseBody_output_graph: - type: object - properties: - count: - type: integer - logs: - type: array - items: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output_graph_logs' - fetchExecutionSummaryResponseBody_output: - type: object - properties: - summary: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output_summary' - graph: - $ref: '#/components/schemas/fetchExecutionSummaryResponseBody_output_graph' - fetchExecutiondetailsResponseBody_output: - type: object - properties: - uid: - type: string - duration: - type: string - executed_by: - type: string - execution_status: - type: string - flow_name: - type: string - manual_run: - type: string - project_uid: - type: string - queue: - type: string - trigger: - type: string - start_time: - type: string - stop_time: - type: string - requested_at: - type: string - project_name: - type: string - transaction_count: - type: integer - createRoleRequestBody_projects: - type: object - properties: - project_name: - type: array - items: - type: string - createRoleResponseBody_output_access_list: - type: object - properties: - read: - type: boolean - write: - type: boolean - execute: - type: boolean - createRoleResponseBody_output_permissions: - type: object - properties: - project_uid: - type: string - access_list: - $ref: '#/components/schemas/createRoleResponseBody_output_access_list' - createRoleResponseBody_output: - type: object - properties: - name: - type: string - uid: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/createRoleResponseBody_output_permissions' - created_at: - type: string - updated_at: - type: string - getListofRolesResponseBody_output_permissions: - type: object - properties: - access_list: - $ref: '#/components/schemas/createRoleResponseBody_output_access_list' - project_uid: - type: string - name: - type: string - getListofRolesResponseBody_output_objects: - type: object - properties: - name: - type: string - ic_role_name: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/getListofRolesResponseBody_output_permissions' - description: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getListofRolesResponseBody_output: - type: object - properties: - count: - type: number - objects: - type: array - items: - $ref: '#/components/schemas/getListofRolesResponseBody_output_objects' - getListofUserResponseBody_output_permissions: - type: object - properties: - access_list: - $ref: '#/components/schemas/createRoleResponseBody_output_access_list' - project_uid: - type: string - getListofUserResponseBody_output_roles: - type: object - properties: - name: - type: string - ic_role_name: - type: string - tenant_uid: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_permissions' - description: - type: string - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getListofUserResponseBody_output_objects: - type: object - properties: - uid: - type: string - email: - type: string - first_name: - type: string - last_name: - type: string - roles: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_roles' - wmic_username: - type: string - is_admin: - type: string - is_developer: - type: string - is_owner: - type: string - getListofUserResponseBody_output: - type: object - properties: - objects: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_objects' - count: - type: number - getUserDetailsResponseBody_output_roles: - type: object - properties: - name: - type: string - ic_role_name: - type: string - description: - type: string - permissions: - type: array - items: - $ref: '#/components/schemas/getListofUserResponseBody_output_permissions' - wmic_role_id: - type: string - created_at: - type: string - updated_at: - type: string - uid: - type: string - getUserDetailsResponseBody_output: - type: object - properties: - uid: - type: string - first_name: - type: string - last_name: - type: string - email: - type: string - roles: - type: array - items: - $ref: '#/components/schemas/getUserDetailsResponseBody_output_roles' - is_admin: - type: boolean - is_developer: - type: boolean - is_owner: - type: boolean - assignRoleResponseBody_output: - type: object - properties: - uid: - type: string - email: - type: string - wmic_username: - type: string - roles: - type: array - items: - $ref: '#/components/schemas/getUserDetailsResponseBody_output_roles' - is_admin: - type: boolean - is_developer: - type: boolean - is_owner: - type: boolean - securitySchemes: - basicAuth: - type: http - scheme: basic diff --git a/assets/github/workflows/dev.yml b/assets/github/workflows/dev.yml deleted file mode 100644 index 3ea7d16..0000000 --- a/assets/github/workflows/dev.yml +++ /dev/null @@ -1,23 +0,0 @@ - name: DEV - - # Run this workflow every time a commit gets pushed to main or a pull request gets opened against main - on: - pull_request: - branches: - - dev - jobs: - build: - name: Call Azure Pipeline - runs-on: ubuntu-latest - steps: - - name: Synchronize Dev - uses: fjogeleit/http-request-action@v1 - with: - url: 'https://dev.azure.com/SrinivasanSabapathy/webMethodsIO_Integration/_apis/build/builds?api-version=7.1-preview.7' - method: 'POST' - username: 'srinivasan.sabapathy@ibm.com' - password: ${{ secrets.AZURE_DEVOPS_TOKEN }} - customHeaders: '{"Content-Type": "application/json"}' - data: '{"parameters": "{\"repoName\":\"${{ github.event.repository.name }}\",\"synchProject\":\"true\"}","definition":{"id": 3}}' - - diff --git a/assets/projectConfigs/referenceData/SAMPLE_REFERENCE_DATA.txt b/assets/projectConfigs/referenceData/SAMPLE_REFERENCE_DATA.txt deleted file mode 100644 index b3c9943..0000000 --- a/assets/projectConfigs/referenceData/SAMPLE_REFERENCE_DATA.txt +++ /dev/null @@ -1,3 +0,0 @@ -"KEY","Value" -"env","play" -"name","someValue" \ No newline at end of file diff --git a/assets/resources/test/environments/dev.json b/assets/resources/test/environments/dev.json deleted file mode 100644 index 7a41b9b..0000000 --- a/assets/resources/test/environments/dev.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "id": "4bd7aa59-3149-45ea-8159-516cb8d4f2bd", - "name": "dev", - "values": [ - { - "key": "url", - "value": "https://env209597.int-az-eu.webmethods.io", - "type": "default", - "enabled": true - }, - { - "key": "user", - "value": "*********", - "type": "default", - "enabled": true - }, - { - "key": "password", - "value": "********", - "type": "secret", - "enabled": true - }, - { - "key": "Request1_fa_key1", - "value": "uuid", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_value1", - "value": "ABCD CDEF", - "type": "default", - "enabled": true - }, - { - "key": "Request1_numberOfAssertions", - "value": "2", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_key2", - "value": "data.message", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_value2", - "value": "success", - "type": "default", - "enabled": true - }, - { - "key": "Request2_fa_key1", - "value": "output.cars[0].model", - "type": "default", - "enabled": true - }, - { - "key": "Request2_fa_value1", - "value": "Ford", - "type": "default", - "enabled": true - }, - { - "key": "Request2_numberOfAssertions", - "value": "1", - "type": "default", - "enabled": true - }, - { - "key": "project", - "value": "wmio_project_a", - "type": "default", - "enabled": true - }, - { - "key": "Request1.webhookid", - "value": "2vACKDyMZC", - "type": "default", - "enabled": true - } - ], - "_postman_variable_scope": "environment", - "_postman_exported_at": "2023-09-25T08:23:10.799Z", - "_postman_exported_using": "Postman/10.17.7" -} \ No newline at end of file diff --git a/assets/resources/test/environments/play.json b/assets/resources/test/environments/play.json deleted file mode 100644 index 40ff531..0000000 --- a/assets/resources/test/environments/play.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "id": "7868acb8-07e1-41a9-abf3-c186b6020ccd", - "name": "play", - "values": [ - { - "key": "url", - "value": "https://insrsaaz.int-az-eu.webmethods.io", - "type": "default", - "enabled": true - }, - { - "key": "user", - "value": "********", - "type": "default", - "enabled": true - }, - { - "key": "password", - "value": "********", - "type": "secret", - "enabled": true - }, - { - "key": "Request1_fa_key1", - "value": "uuid", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_value1", - "value": "ABCD CDEF", - "type": "default", - "enabled": true - }, - { - "key": "Request1_numberOfAssertions", - "value": "2", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_key2", - "value": "data.message", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_value2", - "value": "success", - "type": "default", - "enabled": true - }, - { - "key": "Request2_fa_key1", - "value": "output.cars[0].model", - "type": "default", - "enabled": true - }, - { - "key": "Request2_fa_value1", - "value": "Ford", - "type": "default", - "enabled": true - }, - { - "key": "Request2_numberOfAssertions", - "value": "1", - "type": "default", - "enabled": true - }, - { - "key": "project", - "value": "wmio_project_a", - "type": "default", - "enabled": true - }, - { - "key": "Request1.webhookid", - "value": "2vACKDyMZC", - "type": "default", - "enabled": true - } - ], - "_postman_variable_scope": "environment", - "_postman_exported_at": "2023-09-25T08:22:54.259Z", - "_postman_exported_using": "Postman/10.17.7" -} \ No newline at end of file diff --git a/assets/resources/test/environments/qa.json b/assets/resources/test/environments/qa.json deleted file mode 100644 index 2e945f9..0000000 --- a/assets/resources/test/environments/qa.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "id": "0d9a4411-c209-4762-8d15-43570bebb104", - "name": "qa", - "values": [ - { - "key": "url", - "value": "https://refplatformtest01.int-az-eu.webmethods.io", - "type": "default", - "enabled": true - }, - { - "key": "user", - "value": "******", - "type": "default", - "enabled": true - }, - { - "key": "password", - "value": "*******", - "type": "secret", - "enabled": true - }, - { - "key": "Request1_fa_key1", - "value": "uuid", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_value1", - "value": "ABCD CDEF", - "type": "default", - "enabled": true - }, - { - "key": "Request1_numberOfAssertions", - "value": "2", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_key2", - "value": "data.message", - "type": "default", - "enabled": true - }, - { - "key": "Request1_fa_value2", - "value": "success", - "type": "default", - "enabled": true - }, - { - "key": "Request2_fa_key1", - "value": "output.cars[0].model", - "type": "default", - "enabled": true - }, - { - "key": "Request2_fa_value1", - "value": "Ford", - "type": "default", - "enabled": true - }, - { - "key": "Request2_numberOfAssertions", - "value": "1", - "type": "default", - "enabled": true - }, - { - "key": "project", - "value": "wmio_project_a", - "type": "default", - "enabled": true - }, - { - "key": "Request1.webhookid", - "value": "2vACKDyMZC", - "type": "default", - "enabled": true - } - ], - "_postman_variable_scope": "environment", - "_postman_exported_at": "2023-09-25T08:23:24.684Z", - "_postman_exported_using": "Postman/10.17.7" -} \ No newline at end of file diff --git a/assets/resources/test/wmio_test.json b/assets/resources/test/wmio_test.json deleted file mode 100644 index 7a33ea7..0000000 --- a/assets/resources/test/wmio_test.json +++ /dev/null @@ -1,243 +0,0 @@ -{ - "info": { - "_postman_id": "8089b52d-918f-4301-a89e-80a8a16af418", - "name": "WM_IO_TEST", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "5524634" - }, - "item": [ - { - "name": "Request1", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "\r", - "requestName=request.name+\"_\";\r", - "n = pm.environment.get(requestName+\"numberOfAssertions\");\r", - "console.log(\"RequestName: \"+requestName+\" number of assertions: \"+n);\r", - "\r", - "pm.test(request.name+\": response must be valid and have a body\", function () {\r", - " pm.response.to.be.ok;\r", - " pm.response.to.be.withBody;\r", - " pm.response.to.be.json;\r", - "});\r", - "\r", - "\r", - "\r", - "\r", - "\r", - "pm.test(request.name+\": Check if all assertion fields are in response object\", () => {\r", - " const responseJson = pm.response.json();\r", - " for (var i = 1; i <= n; i++) { \r", - " key = requestName+\"fa_key\"+i;\r", - " //console.log(\"Key name: \"+key) //Uncomment these for debug\r", - " //console.log(\"Key: \"+pm.variables.get(key)); //Uncomment these for debug\r", - " //var keyValue = eval(\"responseJson.\"+pm.variables.get(key));\r", - " var keyValue = eval(\"responseJson.\"+pm.environment.get(key));\r", - " //console.log(\"Value: \"+keyValue); //Uncomment these for debug\r", - " pm.expect(keyValue).not.eql(\"undefined\");\r", - " }\r", - "});\r", - "\r", - "pm.test(request.name+\": Checking all assertion values\", () => {\r", - " const responseJson = pm.response.json();\r", - " for (var i = 1; i <= n; i++) { \r", - " key = requestName+\"fa_key\"+i;\r", - " value = requestName+\"fa_value\"+i;\r", - " //keyToCheck=pm.variables.get(key);\r", - " keyToCheck=pm.environment.get(key);\r", - " //var responseValue = eval(\"responseJson.\"+pm.variables.get(key));\r", - " var responseValue = eval(\"responseJson.\"+pm.environment.get(key));\r", - " console.log('Key: '+keyToCheck); //Uncomment these for debug\r", - " console.log('Value: '+responseValue); //Uncomment these for debug\r", - " //pm.expect( responseValue).to.eql(pm.variables.get(value));\r", - " pm.expect( responseValue).to.eql(pm.environment.get(value));\r", - " }\r", - "});\r", - "\r", - "\r", - "" - ], - "type": "text/javascript" - } - } - ], - "protocolProfileBehavior": { - "disabledSystemHeaders": { - "accept": true - } - }, - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "{{url}}/runflow/run/sync/{{Request1.webhookid}}", - "host": [ - "{{url}}" - ], - "path": [ - "runflow", - "run", - "sync", - "{{Request1.webhookid}}" - ] - } - }, - "response": [] - }, - { - "name": "Request2", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "\r", - "requestName=request.name+\"_\";\r", - "n = pm.environment.get(requestName+\"numberOfAssertions\");\r", - "console.log(\"RequestName: \"+requestName+\" number of assertions: \"+n);\r", - "\r", - "pm.test(request.name+\": response must be valid and have a body\", function () {\r", - " pm.response.to.be.ok;\r", - " pm.response.to.be.withBody;\r", - " pm.response.to.be.json;\r", - "});\r", - "\r", - "\r", - "\r", - "\r", - "\r", - "pm.test(request.name+\": Check if all assertion fields are in response object\", () => {\r", - " const responseJson = pm.response.json();\r", - " for (var i = 1; i <= n; i++) { \r", - " key = requestName+\"fa_key\"+i;\r", - " //console.log(\"Key name: \"+key) //Uncomment these for debug\r", - " //console.log(\"Key: \"+pm.variables.get(key)); //Uncomment these for debug\r", - " //var keyValue = eval(\"responseJson.\"+pm.variables.get(key));\r", - " var keyValue = eval(\"responseJson.\"+pm.environment.get(key));\r", - " //console.log(\"Value: \"+keyValue); //Uncomment these for debug\r", - " pm.expect(keyValue).not.eql(\"undefined\");\r", - " }\r", - "});\r", - "\r", - "pm.test(request.name+\": Checking all assertion values\", () => {\r", - " const responseJson = pm.response.json();\r", - " for (var i = 1; i <= n; i++) { \r", - " key = requestName+\"fa_key\"+i;\r", - " value = requestName+\"fa_value\"+i;\r", - " //keyToCheck=pm.variables.get(key);\r", - " keyToCheck=pm.environment.get(key);\r", - " //var responseValue = eval(\"responseJson.\"+pm.variables.get(key));\r", - " var responseValue = eval(\"responseJson.\"+pm.environment.get(key));\r", - " console.log('Key: '+keyToCheck); //Uncomment these for debug\r", - " console.log('Value: '+responseValue); //Uncomment these for debug\r", - " //pm.expect( responseValue).to.eql(pm.variables.get(value));\r", - " pm.expect( responseValue).to.eql(pm.environment.get(value));\r", - " }\r", - "});\r", - "\r", - "\r", - "" - ], - "type": "text/javascript" - } - } - ], - "protocolProfileBehavior": { - "disabledSystemHeaders": { - "accept": true - } - }, - "request": { - "method": "POST", - "header": [ - { - "key": "Accept", - "value": "application/json", - "type": "text" - }, - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "{{url}}/apis/v1/rest/projects/:project/flows/:flow/run", - "host": [ - "{{url}}" - ], - "path": [ - "apis", - "v1", - "rest", - "projects", - ":project", - "flows", - ":flow", - "run" - ], - "variable": [ - { - "key": "project", - "value": "{{project}}" - }, - { - "key": "flow", - "value": "SampleFlowService" - } - ] - } - }, - "response": [] - } - ], - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{user}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ] -} \ No newline at end of file diff --git a/assets/scaffolds/manifest.yml b/assets/scaffolds/manifest.yml deleted file mode 100644 index 9023e7a..0000000 --- a/assets/scaffolds/manifest.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: "1.0.0" -info: - model: devops-manifest - tags: - - tag1 - - tag2 -repositories: - - repository: - name: "wm_onprem_project_a" - url: "https://github.com/chini007/wm_onprem_project_a.git" - type: "Edge" - pipeline: - - repository: - name: "wm_api_project_a" - url: "https://github.com/chini007/wmwm_api_project_a.git" - type: "API" \ No newline at end of file diff --git a/assets/workflows/GoogleTaskToGogleSheet.zip b/assets/workflows/GoogleTaskToGogleSheet.zip deleted file mode 100644 index 3510706..0000000 Binary files a/assets/workflows/GoogleTaskToGogleSheet.zip and /dev/null differ diff --git a/assets/workflows/SampleWorkflow.zip b/assets/workflows/SampleWorkflow.zip deleted file mode 100644 index 2993390..0000000 Binary files a/assets/workflows/SampleWorkflow.zip and /dev/null differ diff --git a/configs/env/dev.yml b/configs/env/dev.yml deleted file mode 100644 index 91abe6b..0000000 --- a/configs/env/dev.yml +++ /dev/null @@ -1,5 +0,0 @@ -tenant: - hostname: "psprod.int-aws-de.webmethods.io" # webMethodsIO Integration hostname or ip address - port: "443" # webMethodsIO Integration port - admin_username: "gitops" # webMethodsIO Integration user - type: "dev" #DEV \ No newline at end of file diff --git a/configs/env/play.yml b/configs/env/play.yml deleted file mode 100644 index 2218d61..0000000 --- a/configs/env/play.yml +++ /dev/null @@ -1,5 +0,0 @@ -tenant: - hostname: "psdev.int-aws-de.webmethods.io" # webMthodsIO Integration hostname or ip address - port: "443" # webMthodsIO Integration port - admin_username: "gitops" # webMthodsIO Integration user - type: "play" #Dev \ No newline at end of file diff --git a/configs/env/prod.yml b/configs/env/prod.yml deleted file mode 100644 index ba531a1..0000000 --- a/configs/env/prod.yml +++ /dev/null @@ -1,5 +0,0 @@ -tenant: - hostname: "dpoplayconfig.int-aws-de.webmethods.io" # webMthodsIO Integration hostname or ip address - port: "443" # webMthodsIO Integration port - admin_username: "srini" # webMthodsIO Integration user - type: "prod" #PROD \ No newline at end of file diff --git a/configs/env/qa.yml b/configs/env/qa.yml deleted file mode 100644 index a3a4014..0000000 --- a/configs/env/qa.yml +++ /dev/null @@ -1,5 +0,0 @@ -tenant: - hostname: "refplatformtest01.int-az-eu.webmethods.io" # webMethodsIO Integration hostname or ip address - port: "443" # webMethodsIO Integration port - admin_username: "refplatform" # webMethodsIO Integration user - type: "qa" #QA \ No newline at end of file diff --git a/configs/repo.yml b/configs/repo.yml deleted file mode 100644 index 154dde2..0000000 --- a/configs/repo.yml +++ /dev/null @@ -1,2 +0,0 @@ -repo: - user: "chini007" # user to create repo in github diff --git a/images/GIT_Workflow.png b/images/GIT_Workflow.png deleted file mode 100644 index b23f159..0000000 Binary files a/images/GIT_Workflow.png and /dev/null differ diff --git a/images/Overview.drawio.png b/images/Overview.drawio.png deleted file mode 100644 index 92f22c0..0000000 Binary files a/images/Overview.drawio.png and /dev/null differ diff --git a/images/WmIO_DeliveryOverview.drawio.png b/images/WmIO_DeliveryOverview.drawio.png deleted file mode 100644 index ba536ff..0000000 Binary files a/images/WmIO_DeliveryOverview.drawio.png and /dev/null differ diff --git a/images/markdown/Initialize.png b/images/markdown/Initialize.png deleted file mode 100644 index cf1fbfa..0000000 Binary files a/images/markdown/Initialize.png and /dev/null differ diff --git a/images/markdown/MultiFeature.png b/images/markdown/MultiFeature.png deleted file mode 100644 index a5b549c..0000000 Binary files a/images/markdown/MultiFeature.png and /dev/null differ diff --git a/images/markdown/SingleFeature.png b/images/markdown/SingleFeature.png deleted file mode 100644 index 383f79e..0000000 Binary files a/images/markdown/SingleFeature.png and /dev/null differ diff --git a/images/markdown/delivery.png b/images/markdown/delivery.png deleted file mode 100644 index 2c35fe6..0000000 Binary files a/images/markdown/delivery.png and /dev/null differ diff --git a/images/markdown/overview.png b/images/markdown/overview.png deleted file mode 100644 index b9581b0..0000000 Binary files a/images/markdown/overview.png and /dev/null differ diff --git a/images/markdown/synchronizeToDev.png b/images/markdown/synchronizeToDev.png deleted file mode 100644 index feba31e..0000000 Binary files a/images/markdown/synchronizeToDev.png and /dev/null differ diff --git a/images/markdown/synchronizeToFeature.png b/images/markdown/synchronizeToFeature.png deleted file mode 100644 index 4973d6c..0000000 Binary files a/images/markdown/synchronizeToFeature.png and /dev/null differ diff --git a/images/markdown/synchronizeToPROD.png b/images/markdown/synchronizeToPROD.png deleted file mode 100644 index 76a41af..0000000 Binary files a/images/markdown/synchronizeToPROD.png and /dev/null differ diff --git a/images/markdown/synchronizeToQA.png b/images/markdown/synchronizeToQA.png deleted file mode 100644 index 78dce2a..0000000 Binary files a/images/markdown/synchronizeToQA.png and /dev/null differ diff --git a/jenkins-files/deploy-to-dev-env/Jenkinsfile b/jenkins-files/deploy-to-dev-env/Jenkinsfile new file mode 100644 index 0000000..045eb73 --- /dev/null +++ b/jenkins-files/deploy-to-dev-env/Jenkinsfile @@ -0,0 +1,164 @@ +pipeline { + agent any + + environment { + DEV_TENANT_URL = '' //URL of the wm.io tenant dev environment + repoName = '' //Repository Name i.e. the project name of your assests in wm.io. This is same as what is created in github + debug = '' //Enable Debug Mode by passing value "debug" + WMIO_TENANTS_CREDS = credentials('wmiotenantcreds') + GITHUB_TOKEN = credentials('githubpat') + // wmio tenants credentials object created in jenkins creds store that has necessary access to all the env, if you have different credentials ( ideally you would have - this is POC only) for different tenants, please create the secrets accodingly. + // WMIO_PROJECT_REPO_CREDS = credentials('githubpat') // git hub credentials for downloading wm.io source code repo + + } + + parameters { + string(name: 'DEV_TENANT_URL', defaultValue: 'presalesemeadev.int-aws-de.webmethods.io', description: 'URL of the wm.io tenant environment') + string(name: 'repoName', defaultValue: 'aditya_demo_projectA', description: 'Repository Name i.e. the project name of your assests in wm.io') + string(name: 'repoUrl', defaultValue: 'https://github.com/ibm-webmethods/aditya_demo_projectA.git', description: 'Repository url ') + string(name: 'debug', defaultValue: 'no-debug', description: 'Enable Debug Mode by passing value "debug"') + string(name: 'env', defaultValue: 'dev', description: 'env of the wm.io tenant environment') + } + + stages { + + + stage('Validate Parameters') { + steps { + script { + if (params.DEV_TENANT_URL == '') { + error "Missing template parameter DEV_TENANT_URL" + } + if (params.repoName == '') { + error "Missing template parameter repoName" + } + debug = params.debug + if (debug == 'debug') { + echo "......Running in Debug mode ......" + } + } + } + } + + stage('Checkout wm.io project and cicd project Repos') { + steps { + + // Checkout the repository that contains the Jenkinsfile and other scripts and configs + checkout scm // This automatically checks out the repository of the Jenkinsfile + + sh """ + pwd + ls -lrt + """ + + script { + dir("${params.repoName}") { + checkout([ + $class: 'GitSCM', + branches: [[name: "refs/heads/${params.env}"]], // specify branch you want to check out + userRemoteConfigs: [[ + url: "${params.repoUrl}", // The second repo + credentialsId: 'githubpat' // Your GitHub credentials (if needed) + ]] + ]) + } + } + } + } + + + stage('list assets from devops pipeline repo') { + steps { + echo "<<<<<<<<<<<<<<<<<<<<<<<<<-------------Listing the checkedout the code from git repo------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + sh """ + echo "The workspace path is: ${env.WORKSPACE}" + echo "<<<------------------see details below------------------------------------------------------->>>" + pwd + ls -lrt + cd ${env.WORKSPACE}/${params.repoName} + ls -lrt + + """ + echo "<<<<<<<<<<<<<<<<<<<<<<<<-------------assets list finished------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + } + } + + stage('Check Project Exists in DEV tenant') { + steps { + script { + PROJECT_URL = "https://${params.DEV_TENANT_URL}/apis/v1/rest/projects/${params.repoName}" + echo "Check Project exists" + def projectExists = sh(script: """ + curl --location --request GET ${PROJECT_URL} \ + --header 'Accept: application/json' \ + -u ${WMIO_TENANTS_CREDS_USR}:${WMIO_TENANTS_CREDS_PSW} | jq -r '.output.name // empty' + """, returnStdout: true).trim() + + if (projectExists == '') { + echo "Project does not exist." + currentBuild.result = 'FAILURE' + } else { + echo "Project already exists with name: ${projectExists}" + currentBuild.result = 'SUCCESS' + return + } + } + + } + + } + + stage('import assets from repo in DEV env') { + + when { + expression { + return currentBuild.result == 'SUCCESS' + } + } + + steps { + + sh """ + ls -lrt + chmod +x ./pipelines/scripts/*.sh + echo "Importing asset ..." + ./pipelines/scripts/importAsset.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "NA" "NA" ${env.WORKSPACE} "true" ${params.env} "false" debug + + """ + } + } + + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + script { + echo "Build succeeded when deploying to DEV env!" + echo "Triggering the job post-deployment-testing in DEV env..." + def result = build job: 'post-deployment-testing', + parameters: [ + string(name: 'ENV', value: params.env), + string(name: 'repoName', value: params.repoName), + string(name: 'repoUrl', value: params.repoUrl) + ], + wait: true + + // Check the result of the post-deployment testing job + if (result.result == 'SUCCESS') { + echo "Post-deployment testing passed!" + } else { + echo "Post-deployment testing failed!" + currentBuild.result = 'FAILURE' // Mark the current build as failed if the triggered job fails + } + cleanWs() // This cleans the workspace after finishing the pipeline + + } + } + } +} + + diff --git a/jenkins-files/deploy-to-prod-env/Jenkinsfile b/jenkins-files/deploy-to-prod-env/Jenkinsfile new file mode 100644 index 0000000..fa4a2da --- /dev/null +++ b/jenkins-files/deploy-to-prod-env/Jenkinsfile @@ -0,0 +1,145 @@ +pipeline { + agent any + + environment { + PROD_TENANT_URL = '' //URL of the wm.io tenant dev environment + repoName = '' //Repository Name i.e. the project name of your assests in wm.io. This is same as what is created in github + debug = '' //Enable Debug Mode by passing value "debug" + WMIO_TENANTS_CREDS = credentials('wmiotenantcreds') + GITHUB_TOKEN = credentials('githubpat') + // wmio tenants credentials object created in jenkins creds store that has necessary access to all the env, if you have different credentials ( ideally you would have - this is POC only) for different tenants, please create the secrets accodingly. + // WMIO_PROJECT_REPO_CREDS = credentials('githubpat') // git hub credentials for downloading wm.io source code repo + + } + + parameters { + string(name: 'PROD_TENANT_URL', defaultValue: 'presalesemeaprod.int-aws-de.webmethods.io', description: 'URL of the wm.io tenant environment') + string(name: 'repoName', defaultValue: 'aditya_demo_projectA', description: 'Repository Name i.e. the project name of your assests in wm.io') + string(name: 'repoUrl', defaultValue: 'https://github.com/ibm-webmethods/aditya_demo_projectA.git', description: 'Repository url ') + string(name: 'debug', defaultValue: 'no-debug', description: 'Enable Debug Mode by passing value "debug"') + string(name: 'env', defaultValue: 'prod', description: 'env of the wm.io tenant environment') + } + + stages { + + + stage('Validate Parameters') { + steps { + script { + if (params.PROD_TENANT_URL == '') { + error "Missing template parameter PROD_TENANT_URL" + } + if (params.repoName == '') { + error "Missing template parameter repoName" + } + debug = params.debug + if (debug == 'debug') { + echo "......Running in Debug mode ......" + } + } + } + } + + stage('Checkout wm.io project and cicd project Repos') { + steps { + + // Checkout the repository that contains the Jenkinsfile and other scripts and configs + checkout scm // This automatically checks out the repository of the Jenkinsfile + + sh """ + pwd + ls -lrt + """ + + script { + dir("${params.repoName}") { + checkout([ + $class: 'GitSCM', + branches: [[name: "refs/heads/${params.env}"]], // specify branch you want to check out + userRemoteConfigs: [[ + url: "${params.repoUrl}", // The second repo + credentialsId: 'githubpat' // Your GitHub credentials (if needed) + ]] + ]) + } + } + } + } + + + stage('list assets from devops pipeline repo') { + steps { + echo "<<<<<<<<<<<<<<<<<<<<<<<<<-------------Listing the checkedout the code from git repo------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + sh """ + echo "The workspace path is: ${env.WORKSPACE}" + echo "<<<------------------see details below------------------------------------------------------->>>" + pwd + ls -lrt + cd ${env.WORKSPACE}/${params.repoName} + ls -lrt + + """ + echo "<<<<<<<<<<<<<<<<<<<<<<<<-------------assets list finished------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + } + } + + stage('Check Project Exists in PROD tenant') { + steps { + script { + PROJECT_URL = "https://${params.PROD_TENANT_URL}/apis/v1/rest/projects/${params.repoName}" + echo "Check Project exists" + def projectExists = sh(script: """ + curl --location --request GET ${PROJECT_URL} \ + --header 'Accept: application/json' \ + -u ${WMIO_TENANTS_CREDS_USR}:${WMIO_TENANTS_CREDS_PSW} | jq -r '.output.name // empty' + """, returnStdout: true).trim() + + if (projectExists == '') { + echo "Project does not exist." + currentBuild.result = 'FAILURE' + } else { + echo "Project already exists with name: ${projectExists}" + currentBuild.result = 'SUCCESS' + return + } + } + + } + + } + + stage('import assets from repo in PROD env') { + + when { + expression { + return currentBuild.result == 'SUCCESS' + } + } + + steps { + + sh """ + ls -lrt + chmod +x ./pipelines/scripts/*.sh + echo "Importing asset ..." + ./pipelines/scripts/importAsset.sh https://${params.PROD_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "NA" "NA" ${env.WORKSPACE} "true" ${params.env} "false" debug + + """ + } + } + + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + echo "Build succeeded!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + } +} + + diff --git a/jenkins-files/deploy-to-test-env/Jenkinsfile b/jenkins-files/deploy-to-test-env/Jenkinsfile new file mode 100644 index 0000000..4e5e9d5 --- /dev/null +++ b/jenkins-files/deploy-to-test-env/Jenkinsfile @@ -0,0 +1,164 @@ +pipeline { + agent any + + environment { + TEST_TENANT_URL = '' //URL of the wm.io tenant dev environment + repoName = '' //Repository Name i.e. the project name of your assests in wm.io. This is same as what is created in github + debug = '' //Enable Debug Mode by passing value "debug" + WMIO_TENANTS_CREDS = credentials('wmiotenantcreds') + GITHUB_TOKEN = credentials('githubpat') + // wmio tenants credentials object created in jenkins creds store that has necessary access to all the env, if you have different credentials ( ideally you would have - this is POC only) for different tenants, please create the secrets accodingly. + // WMIO_PROJECT_REPO_CREDS = credentials('githubpat') // git hub credentials for downloading wm.io source code repo + + } + + parameters { + string(name: 'TEST_TENANT_URL', defaultValue: 'presalesemeatest.int-aws-de.webmethods.io', description: 'URL of the wm.io tenant environment') + string(name: 'repoName', defaultValue: 'aditya_demo_projectA', description: 'Repository Name i.e. the project name of your assests in wm.io') + string(name: 'repoUrl', defaultValue: 'https://github.com/ibm-webmethods/aditya_demo_projectA.git', description: 'Repository url ') + string(name: 'debug', defaultValue: 'no-debug', description: 'Enable Debug Mode by passing value "debug"') + string(name: 'env', defaultValue: 'test', description: 'env of the wm.io tenant environment') + } + + stages { + + + stage('Validate Parameters') { + steps { + script { + if (params.TEST_TENANT_URL == '') { + error "Missing template parameter TEST_TENANT_URL" + } + if (params.repoName == '') { + error "Missing template parameter repoName" + } + debug = params.debug + if (debug == 'debug') { + echo "......Running in Debug mode ......" + } + } + } + } + + stage('Checkout wm.io project and cicd project Repos') { + steps { + + // Checkout the repository that contains the Jenkinsfile and other scripts and configs + checkout scm // This automatically checks out the repository of the Jenkinsfile + + sh """ + pwd + ls -lrt + """ + + script { + dir("${params.repoName}") { + checkout([ + $class: 'GitSCM', + branches: [[name: "refs/heads/${params.env}"]], // specify branch you want to check out + userRemoteConfigs: [[ + url: "${params.repoUrl}", // The second repo + credentialsId: 'githubpat' // Your GitHub credentials (if needed) + ]] + ]) + } + } + } + } + + + stage('list assets from devops pipeline repo') { + steps { + echo "<<<<<<<<<<<<<<<<<<<<<<<<<-------------Listing the checkedout the code from git repo------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + sh """ + echo "The workspace path is: ${env.WORKSPACE}" + echo "<<<------------------see details below------------------------------------------------------->>>" + pwd + ls -lrt + cd ${env.WORKSPACE}/${params.repoName} + ls -lrt + + """ + echo "<<<<<<<<<<<<<<<<<<<<<<<<-------------assets list finished------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + } + } + + stage('Check Project Exists in TEST tenant') { + steps { + script { + PROJECT_URL = "https://${params.TEST_TENANT_URL}/apis/v1/rest/projects/${params.repoName}" + echo "Check Project exists" + def projectExists = sh(script: """ + curl --location --request GET ${PROJECT_URL} \ + --header 'Accept: application/json' \ + -u ${WMIO_TENANTS_CREDS_USR}:${WMIO_TENANTS_CREDS_PSW} | jq -r '.output.name // empty' + """, returnStdout: true).trim() + + if (projectExists == '') { + echo "Project does not exist." + currentBuild.result = 'FAILURE' + } else { + echo "Project already exists with name: ${projectExists}" + currentBuild.result = 'SUCCESS' + return + } + } + + } + + } + + stage('import assets from repo in TEST env') { + + when { + expression { + return currentBuild.result == 'SUCCESS' + } + } + + steps { + + sh """ + ls -lrt + chmod +x ./pipelines/scripts/*.sh + echo "Importing asset ..." + ./pipelines/scripts/importAsset.sh https://${params.TEST_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "NA" "NA" ${env.WORKSPACE} "true" ${params.env} "false" debug + + """ + } + } + + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + script { + echo "Build succeeded when deploying to TEST env!" + echo "Triggering the job post-deployment-testing in TEST env..." + def result = build job: 'post-deployment-testing', + parameters: [ + string(name: 'ENV', value: params.env), + string(name: 'repoName', value: params.repoName), + string(name: 'repoUrl', value: params.repoUrl) + ], + wait: true + + // Check the result of the post-deployment testing job + if (result.result == 'SUCCESS') { + echo "Post-deployment testing passed!" + } else { + echo "Post-deployment testing failed!" + currentBuild.result = 'FAILURE' // Mark the current build as failed if the triggered job fails + } + cleanWs() // This cleans the workspace after finishing the pipeline + + } + } + } +} + + diff --git a/jenkins-files/initialize-projects-in-wmio/Jenkinsfile b/jenkins-files/initialize-projects-in-wmio/Jenkinsfile new file mode 100644 index 0000000..490aeee --- /dev/null +++ b/jenkins-files/initialize-projects-in-wmio/Jenkinsfile @@ -0,0 +1,172 @@ +pipeline { + agent any + + environment { + DEV_TENANT_URL = '' //URL of the wm.io tenant dev environment + TEST_TEST_URL = '' //URL of the wm.io tenant test environment + PROD_TENANT_URL = '' //URL of the wm.io tenant prod environment + repoName = '' //Repository Name i.e. the project name of your assests in wm.io. This is same as what is created in github + debug = '' //Enable Debug Mode by passing value "debug" + WMIO_TENANTS_CREDS = credentials('wmiotenantcreds') + // wmio tenants credentials object created in jenkins creds store that has necessary access to all the env, if you have different credentials ( ideally you would have - this is POC only) for different tenants, please create the secrets accodingly. + // WMIO_PROJECT_REPO_CREDS = credentials('githubpat') // git hub credentials for downloading wm.io source code repo + + } + + parameters { + string(name: 'DEV_TENANT_URL', defaultValue: 'presalesemeadev.int-aws-de.webmethods.io', description: 'URL of the wm.io DEV tenant environment') + string(name: 'TEST_TENANT_URL', defaultValue: 'presalesemeatest.int-aws-de.webmethods.io', description: 'URL of the wm.io TEST tenant environment') + string(name: 'PROD_TENANT_URL', defaultValue: 'presalesemeaprod.int-aws-de.webmethods.io', description: 'URL of the wm.io PROD tenant environment') + string(name: 'repoName', defaultValue: 'aditya_demo_projectA', description: 'Repository Name i.e. the project name of your assests in wm.io') + string(name: 'debug', defaultValue: 'no-debug', description: 'Enable Debug Mode by passing value "debug"') + string(name: 'env', defaultValue: 'DEV', description: 'env of the wm.io tenant environment') + } + + stages { + + + stage('Validate Parameters') { + steps { + script { + if (params.DEV_TENANT_URL == '') { + error "Missing template parameter DEV_TENANT_URL" + } + if (params.TEST_TENANT_URL == '') { + error "Missing template parameter TEST_TENANT_URL" + } + if (params.PROD_TENANT_URL == '') { + error "Missing template parameter PROD_TENANT_URL" + } + if (params.repoName == '') { + error "Missing template parameter repoName" + } + debug = params.debug + if (debug == 'debug') { + echo "......Running in Debug mode ......" + } + } + } + } + + + stage('list assets') { + steps { + echo "<<<<<<<<<<<<<<<<<<<<<<<<<-------------Listing the checkedout the code from git repo------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + sh """ + echo "<<<------------------see details below------------------------------------------------------->>>" + pwd + ls -lrt + echo "The workspace path is: ${env.WORKSPACE}" + """ + echo "<<<<<<<<<<<<<<<<<<<<<<<<-------------assets list finished------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + } + } + + stage('Check Project Exists in DEV tenant') { + steps { + script { + PROJECT_URL = "https://${params.DEV_TENANT_URL}/apis/v1/rest/projects/${params.repoName}" + echo "Check Project exists" + def projectExists = sh(script: """ + curl --location --request GET ${PROJECT_URL} \ + --header 'Accept: application/json' \ + -u ${WMIO_TENANTS_CREDS_USR}:${WMIO_TENANTS_CREDS_PSW} | jq -r '.output.name // empty' + """, returnStdout: true).trim() + + if (projectExists == '') { + echo "Project does not exist." + } else { + echo "Project already exists with name: ${projectExists}" + currentBuild.result = 'SUCCESS' + return + } + } + + } + + } + + stage('Create Project in DEV') { + when { + expression { + return currentBuild.result != 'SUCCESS' + } + } + steps { + script { + echo "Project does not exist. Creating..." + def json = '{"name": "' + params.repoName + '", "description": "Created by Automated CI for feature branch"}' + def createResponse = sh(script: """ + curl --location --request POST https://${params.DEV_TENANT_URL}/apis/v1/rest/projects \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data-raw '${json}' \ + -u ${WMIO_TENANTS_CREDS_USR}:${WMIO_TENANTS_CREDS_PSW} + """, returnStdout: true).trim() + + def nameCreated = sh(script: "echo '${createResponse}' | jq '.output.name // empty'", returnStdout: true).trim() + if (nameCreated != '') { + echo "Project created successfully: ${createResponse}" + } else { + echo "Project creation failed: ${createResponse}" + currentBuild.result = 'FAILURE' + } + } + sh """ + chmod +x ./pipelines/scripts/*.sh + mkdir -p ${env.WORKSPACE}/${params.repoName}/assets/flowservices/ + cp ./assets/flowservices/SampleFlowService.zip ${env.WORKSPACE}/${params.repoName}/assets/flowservices/ + ./pipelines/scripts/importAsset.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "SampleFlowService" "flowservice" ${env.WORKSPACE} "false" ${params.env} debug + ./pipelines/scripts/replicateProject.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} ${params.TEST_TENANT_URL} "443" ${WMIO_TENANTS_CREDS_USR} "SampleFlowService" debug + ./pipelines/scripts/replicateProject.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} ${params.PROD_TENANT_URL} "443" ${WMIO_TENANTS_CREDS_USR} "SampleFlowService" debug + ./pipelines/scripts/deleteAssets.sh https://${params.PROD_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "SampleFlowService" "flowservice" "false" debug + ./pipelines/scripts/deleteAssets.sh https://${params.TEST_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "SampleFlowService" "flowservice" "false" debug + ./pipelines/scripts/deleteAssets.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "SampleFlowService" "flowservice" "false" debug + + """ + } + } + + stage('Clean Workspace') { + steps { + cleanWs() // This cleans the workspace before starting the pipeline + } + } + + stage('Check Project Exists in TEST tenant') { + steps { + + echo "tests" + } + } + + stage('Create Project in TEST tenant') { + when { + expression { + return currentBuild.result != 'SUCCESS' + } + } + steps { + + echo "tests" + } + } + + + + + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + echo "Build succeeded!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + } +} + + diff --git a/jenkins-files/initialize-repos-in-git/Jenkinsfile b/jenkins-files/initialize-repos-in-git/Jenkinsfile new file mode 100644 index 0000000..c75594a --- /dev/null +++ b/jenkins-files/initialize-repos-in-git/Jenkinsfile @@ -0,0 +1,97 @@ +pipeline { + agent any + + environment { + GITHUB_TOKEN = credentials('githubpat') // Using GitHub token from Jenkins credentials + } + + parameters { + string(name: 'GITHUB_REPO_URL', defaultValue: 'github.com/ibm-webmethods', description: 'GitHub repository URL with optional organization (e.g., github.com/xyz). Leave empty for no organization.') + string(name: 'REPO_NAME', defaultValue: 'aditya_aditya_demo_xxxxxxxx', description: 'GitHub repository name (e.g., demoProjectA).') + string(name: 'BRANCHES', defaultValue: 'dev,test,prod', description: 'Comma separated list of branch names (e.g., dev,test,prod).') + } + + stages { + stage('Create GitHub Repository') { + steps { + script { + def repoUrl = "https://${params.GITHUB_REPO_URL}" + def repoName = params.REPO_NAME + def branches = params.BRANCHES.split(',') + + if (!repoUrl || !repoName) { + error "GitHub repository URL and repository name must be provided." + } + + // Construct the repository creation URL and body for API request + def apiUrl = "https://api.github.com/orgs/${repoUrl.split('/')[3]}/repos" + if (!repoUrl.contains("/")) { + apiUrl = "https://api.github.com/user/repos" + } + + def createRepoPayload = """ + { + "name": "${repoName}", + "private": true + } + """ + + // Create the repository using GitHub API + sh """ + curl -X POST -H "Authorization: token ${GITHUB_TOKEN_PSW}" -d '${createRepoPayload}' ${apiUrl} + """ + } + } + } + + stage('Clone Repository and Create Branches') { + steps { + script { + def branches = params.BRANCHES.split(',') + def githubOrgname = params.GITHUB_REPO_URL.split('/')[1] + // Clone the newly created empty repository + sh "git clone https://${GITHUB_TOKEN_PSW}@${params.GITHUB_REPO_URL}/${params.REPO_NAME}.git" + dir(params.REPO_NAME) { + // Create a default README file + writeFile file: 'README.md', text: '# Default README' + sh 'git add README.md' + sh 'git commit -m "Initial commit with README"' + + // Push the initial commit to the main branch (default created by GitHub) + sh 'git push origin main' + + // Rename main branch to dev + sh 'git branch -m main dev' + sh 'git push origin dev' + sh """ + curl -X PATCH -H "Authorization: token ${GITHUB_TOKEN_PSW}" -d '{"default_branch": "dev"}' https://api.github.com/repos/${githubOrgname}/${params.REPO_NAME} + """ + + sh 'git checkout dev' // Switch to dev branch if not already on it + sh 'git push origin --delete main' // Remove the old main branch + + + // Create and push other branches + for (branch in branches) { + if (branch != 'dev') { // Skip creating dev branch as it's already done + sh "git checkout -b ${branch}" + sh "git push origin ${branch}" + } + } + } + } + } + } + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + echo "Build succeeded!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + } +} diff --git a/jenkins-files/post-deployment-testing/Jenkinsfile b/jenkins-files/post-deployment-testing/Jenkinsfile new file mode 100644 index 0000000..ad2bc7b --- /dev/null +++ b/jenkins-files/post-deployment-testing/Jenkinsfile @@ -0,0 +1,114 @@ +pipeline { + agent any + parameters { + string(name: 'ENV', defaultValue: 'dev', description: 'Environment (dev or test or qa etc.), this would be same branch name like dev, test etc.') + string(name: 'repoName', defaultValue: 'aditya_aditya_demo_myProjectA', description: 'wm.io project Repo name') + string(name: 'repoUrl', defaultValue: 'https://github.com/ibm-webmethods/aditya_aditya_demo_myProjectA.git', description: 'wm.io project Repo url') + } + environment { + GITHUB_CREDENTIALS_ID = 'githubpat' // Jenkins credential ID for GitHub authentication + API_CREDENTIALS_ID = 'wmiotenantcreds' // Jenkins credential ID for API Basic Authentication + } + stages { + stage('Checkout Config Repo') { + steps { + script { + dir("${params.repoName}") { + checkout([$class: 'GitSCM', + branches: [[name: "${params.ENV}"]], + userRemoteConfigs: [[ + url: "${params.repoUrl}", + credentialsId: 'githubpat' + ]] + ]) + } + } + } + } + + stage('Read Testing config File') { + steps { + script { + dir("${params.repoName}") { + + sh "pwd" + sh "ls -lrt" + + def envConfigFile = "testing/${params.ENV}.json" + + if (!fileExists(envConfigFile)) { + error "Config file for environment '${params.ENV}' not found: ${envConfigFile}" + } + + def configContent = readFile(envConfigFile) + def config = readJSON text: configContent + + if (!config.api_endpoint || !config.request_body || !config.success_response) { + error "Missing required fields in config file: ${envConfigFile}" + } + + def apiEndpoint = config.api_endpoint + def requestBody = groovy.json.JsonOutput.toJson(config.request_body) + def expectedSuccessResponse = groovy.json.JsonOutput.toJson(config.success_response) + + echo "Using API Endpoint: ${apiEndpoint}" + echo "Request Body: ${requestBody}" + echo "Expected Success Response: ${expectedSuccessResponse}" + + env.API_ENDPOINT = apiEndpoint + env.REQUEST_BODY = requestBody + env.EXPECTED_SUCCESS_RESPONSE = expectedSuccessResponse + } + } + } + } + + stage('Run Test') { + steps { + script { + withCredentials([usernamePassword(credentialsId: env.API_CREDENTIALS_ID, usernameVariable: 'API_USER', passwordVariable: 'API_PASS')]) { + + def authString = "${API_USER}:${API_PASS}".bytes.encodeBase64().toString() + + def curlCommand = """ + curl -s -o response.json -w "%{http_code}" -X POST "${env.API_ENDPOINT}" \\ + -H "Content-Type: application/json" \\ + -H "Authorization: Basic ${authString}" \\ + -d '${env.REQUEST_BODY}' + """ + + echo "Executing API Request with Curl..." + def responseCode = sh(script: curlCommand, returnStdout: true).trim() + + echo "HTTP Response Code: ${responseCode}" + echo "API Response:" + sh "cat response.json" + + if (responseCode != "200") { + error "Test Failed - API returned HTTP ${responseCode}" + } + + def jsonResponse = readJSON file: "response.json" + + if (jsonResponse.toString() == env.EXPECTED_SUCCESS_RESPONSE.toString()) { + echo "Test Passed " + } else { + error "Test Failed . Expected: ${env.EXPECTED_SUCCESS_RESPONSE}, but got: ${jsonResponse}" + } + } + } + } + } + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + echo "Build succeeded!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + } +} diff --git a/jenkins-files/synchronize-dev-branch/Jenkinsfile b/jenkins-files/synchronize-dev-branch/Jenkinsfile new file mode 100644 index 0000000..7ff89b2 --- /dev/null +++ b/jenkins-files/synchronize-dev-branch/Jenkinsfile @@ -0,0 +1,133 @@ +pipeline { + agent any + + environment { + DEV_TENANT_URL = '' //URL of the wm.io tenant dev environment + repoName = '' //Repository Name i.e. the project name of your assests in wm.io. This is same as what is created in github + debug = '' //Enable Debug Mode by passing value "debug" + WMIO_TENANTS_CREDS = credentials('wmiotenantcreds') + GITHUB_TOKEN = credentials('githubpat') + // wmio tenants credentials object created in jenkins creds store that has necessary access to all the env, if you have different credentials ( ideally you would have - this is POC only) for different tenants, please create the secrets accodingly. + // WMIO_PROJECT_REPO_CREDS = credentials('githubpat') // git hub credentials for downloading wm.io source code repo + + } + + parameters { + string(name: 'DEV_TENANT_URL', defaultValue: 'presalesemeadev.int-aws-de.webmethods.io', description: 'URL of the wm.io tenant environment') + string(name: 'repoName', defaultValue: 'aditya_demo_projectA', description: 'Repository Name i.e. the project name of your assests in wm.io') + string(name: 'repoUrl', defaultValue: 'https://github.com/ibm-webmethods/aditya_demo_projectA.git', description: 'Repository url ') + string(name: 'debug', defaultValue: 'no-debug', description: 'Enable Debug Mode by passing value "debug"') + string(name: 'env', defaultValue: 'dev', description: 'env of the wm.io tenant environment') + } + + stages { + + + stage('Validate Parameters') { + steps { + script { + if (params.DEV_TENANT_URL == '') { + error "Missing template parameter DEV_TENANT_URL" + } + if (params.repoName == '') { + error "Missing template parameter repoName" + } + debug = params.debug + if (debug == 'debug') { + echo "......Running in Debug mode ......" + } + } + } + } + + stage('Checkout wm.io project Repo') { + steps { + + // Checkout the repository that contains the Jenkinsfile + checkout scm // This automatically checks out the repository of the Jenkinsfile + + sh """ + pwd + ls -lrt + """ + + script { + dir("${params.repoName}") { + checkout([ + $class: 'GitSCM', + branches: [[name: 'refs/heads/dev']], // specify branch you want to check out + userRemoteConfigs: [[ + url: "${params.repoUrl}", // The second repo + credentialsId: 'githubpat' // Your GitHub credentials (if needed) + ]] + ]) + } + } + } + } + + + stage('list assets from devops pipeline repo') { + steps { + echo "<<<<<<<<<<<<<<<<<<<<<<<<<-------------Listing the checkedout the code from git repo------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + sh """ + echo "The workspace path is: ${env.WORKSPACE}" + echo "<<<------------------see details below------------------------------------------------------->>>" + pwd + ls -lrt + cd ${env.WORKSPACE}/${params.repoName} + ls -lrt + + """ + echo "<<<<<<<<<<<<<<<<<<<<<<<<-------------assets list finished------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + } + } + + + stage('export assets from repo') { + + steps { + + sh """ + ls -lrt + chmod +x ./pipelines/scripts/*.sh + echo "Exporting asset ..." + ./pipelines/scripts/exportAsset.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "NA" "NA" ${env.WORKSPACE} "true" "dev" "false" "dev" debug + ls -lrt ${env.WORKSPACE}/${params.repoName} + cat ${env.WORKSPACE}/${params.repoName}/README.md + + """ + } + } + + stage('commit assets to dev branch') { + + steps { + + sh """ + pwd + ls -lrt + chmod +x ./pipelines/scripts/github/*.sh + cd ${env.WORKSPACE}/${params.repoName} + ../pipelines/scripts/github/commitFeatureBranch.sh ${GITHUB_TOKEN_USR} ${env.BUILD_NUMBER} "dev" ${GITHUB_TOKEN_PSW} ${params.repoUrl} + + """ + } + } + + + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + echo "Build succeeded!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + } +} + + diff --git a/jenkins-files/synchronize-feature-branch/Jenkinsfile b/jenkins-files/synchronize-feature-branch/Jenkinsfile new file mode 100644 index 0000000..759cbd6 --- /dev/null +++ b/jenkins-files/synchronize-feature-branch/Jenkinsfile @@ -0,0 +1,160 @@ +pipeline { + agent any + + environment { + DEV_TENANT_URL = '' //URL of the wm.io tenant environment, where you are developing your wm.io assets + repoName = '' //Repository Name i.e. the project name of your assests in wm.io. This is same as what is created in github + debug = '' //Enable Debug Mode by passing value "debug" + WMIO_TENANTS_CREDS = credentials('wmiotenantcreds') + GITHUB_TOKEN = credentials('githubpat') + + } + + parameters { + string(name: 'DEV_TENANT_URL', defaultValue: 'presalesemeadev.int-aws-de.webmethods.io', description: 'URL of the wm.io tenant environment, where you are developing your wm.io assets') + string(name: 'repoName', defaultValue: 'aditya_demo_projectA', description: 'Repository Name / wm.io project Name; i.e. the project name of your assests in wm.io') + string(name: 'repoUrl', defaultValue: 'https://github.com/ibm-webmethods/aditya_demo_projectA.git', description: 'git hub Repository url ') + string(name: 'featureBranchName', defaultValue: 'feature1', description: 'Name of the feature branch you are working on') + string(name: 'debug', defaultValue: 'no-debug', description: 'Enable Debug Mode by passing value "debug"') + string(name: 'env', defaultValue: 'dev', description: 'env ( example - dev, test ) of the wm.io tenant environment') + } + + stages { + + + stage('Clean Workspace') { + steps { + // Clean the workspace before starting the pipeline + cleanWs() + } + } + + + + stage('Validate Parameters') { + steps { + script { + if (params.DEV_TENANT_URL == '') { + error "Missing template parameter DEV_TENANT_URL" + } + if (params.repoName == '') { + error "Missing template parameter repoName" + } + debug = params.debug + if (debug == 'debug') { + echo "......Running in Debug mode ......" + } + } + } + } + + stage('Checkout wm.io project Repo') { + steps { + + // Checkout the repository that contains the Jenkinsfile + checkout scm // This automatically checks out the repository of the Jenkinsfile + + sh """ + pwd + ls -lrt + """ + + script { + dir("${params.repoName}") { + checkout([ + $class: 'GitSCM', + branches: [[name: "refs/heads/${params.featureBranchName}"]], // specify branch you want to check out + userRemoteConfigs: [[ + url: "${params.repoUrl}", // The second repo + credentialsId: 'githubpat' // Your GitHub credentials (if needed) + ]] + ]) + } + } + } + } + + + stage('list assets from devops pipeline repo') { + steps { + echo "<<<<<<<<<<<<<<<<<<<<<<<<<-------------Listing the checkedout the code from git repo------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + sh """ + echo "The workspace path is: ${env.WORKSPACE}" + echo "<<<------------------see details below------------------------------------------------------->>>" + pwd + ls -lrt + cd ${env.WORKSPACE}/${params.repoName} + ls -lrt + + """ + echo "<<<<<<<<<<<<<<<<<<<<<<<<-------------assets list finished------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" + } + } + + + stage('export assets from wm.io code repo') { + + steps { + + + + sh """ + ls -lrt + chmod +x ./pipelines/scripts/*.sh + echo "Exporting asset ..." + ./pipelines/scripts/exportAsset.sh https://${params.DEV_TENANT_URL}:443 ${WMIO_TENANTS_CREDS_USR} ${WMIO_TENANTS_CREDS_PSW} ${params.repoName} "NA" "NA" ${env.WORKSPACE} "true" "dev" "false" "dev" debug + ls -lrt ${env.WORKSPACE}/${params.repoName} + cat ${env.WORKSPACE}/${params.repoName}/README.md + + """ + } + } + + stage('Do code review and commit assets to feature branch') { + + steps { + + script { + // Construct the target directory path + def reportsDir = "${env.WORKSPACE}/${params.repoName}/code_review_reports" + + // Check if the directory exists + if (fileExists(reportsDir)) { + echo "Cleaning the directory: ${reportsDir}" + + // Delete all files and directories inside the 'reports' directory + sh "rm -rf ${reportsDir}/*" + } else { + echo "Directory does not exist: ${reportsDir}" + } + } + + sh """ + pwd + ls -lrt + chmod +x ./pipelines/scripts/*.sh + ./pipelines/scripts/doCodeReview_v1.sh ${env.WORKSPACE}/${params.repoName}/assets/flowservices + chmod +x ./pipelines/scripts/github/*.sh + cd ${env.WORKSPACE}/${params.repoName} + ../pipelines/scripts/github/commitFeatureBranch.sh ${GITHUB_TOKEN_USR} ${env.BUILD_NUMBER} ${params.featureBranchName} ${GITHUB_TOKEN_PSW} ${params.repoUrl} + + """ + } + } + + + } + + post { + failure { + echo "Build failed!" + cleanWs() // This cleans the workspace after finishing the pipeline + } + success { + echo "Build succeeded!" + // cleanWs() // This cleans the workspace after finishing the pipeline + } + } +} + + diff --git a/pipelines/InitiateTesting.yml b/pipelines/InitiateTesting.yml deleted file mode 100644 index b66fb74..0000000 --- a/pipelines/InitiateTesting.yml +++ /dev/null @@ -1,76 +0,0 @@ -############################################################################################################## -# # -# InitiateTesting_pipeline.yml : Starts testing for a specific repo on specific stage # -# # -# ####### Inputs ######## # -# branch: (Mandatory) Which branch should be referred for test cases # -# environment: (Mandatory) On which stage should be Test triggered # -# repoName: (Mandatory) Name of the corresponding repository. # -############################################################################################################## - -trigger: -- none - -variables: -- group: github_group -- group: webMethodsIO_group -- name: repoPath - value: $(gitOwner)/$(repoName) - -pool: - vmImage: ubuntu-latest -resources: - repositories: - - repository: projectRepo - type: github - endpoint: github - name: $(repoPath) - ref: $(branch) -steps: -- checkout: projectRepo - submodules: "true" - persistCredentials: "true" - clean: "true" - path: $(repoName) -- checkout: self - submodules: "true" - persistCredentials: "true" - clean: "true" - path: self - -- bash: | - cd ../ - source=$(echo $(resources.triggeringAlias)) - - if [ -z "$source" ]; then - source=$(echo $(environment)) - cd $(repoName) - fi - echo "##vso[task.setvariable variable=source_type]${source}" - cd ../self - pwd - ls -ltr - echo "##vso[task.setvariable variable=admin_user]`yq -e ".tenant.admin_username" configs/env/${source}.yml`" - - echo $(System.DefaultWorkingDirectory) - workingDirectory: '$(System.DefaultWorkingDirectory)' - displayName: 'Get Environment Tenant Details' - -- script: | - cd ../$(repoName) - pwd - echo $(source_type) - echo $(admin_user) - echo "newman run ./resources/test/wmio_test.json -e ./resources/test/environments/$(source_type).json --env-var "project=$(repoName)" --env-var "user=$(admin_user)" --env-var "password=$(admin_password)" --reporters cli,junit --reporter-junit-export $(System.DefaultWorkingDirectory)/$(source_type)/results/junitReport.xml - ls -ltr $(System.DefaultWorkingDirectory)/$(source_type)/results/" - - newman run ./resources/test/wmio_test.json -e ./resources/test/environments/$(source_type).json --env-var "project=$(repoName)" --env-var "user=$(admin_user)" --env-var "password=$(admin_password)" --reporters cli,junit --reporter-junit-export $(System.DefaultWorkingDirectory)/$(source_type)/results/junitReport.xml - ls -ltr $(System.DefaultWorkingDirectory)/$(source_type)/results/ - displayName: 'Run newman' -- task: PublishTestResults@2 - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: '**/junit*.xml' - searchFolder: '$(System.DefaultWorkingDirectory)/$(source_type)/results' - failTaskOnFailedTests: true - testRunTitle: '$(source_type) Test Run' \ No newline at end of file diff --git a/pipelines/initialize_pipeline.yml b/pipelines/initialize_pipeline.yml deleted file mode 100644 index ae7e900..0000000 --- a/pipelines/initialize_pipeline.yml +++ /dev/null @@ -1,188 +0,0 @@ -############################################################################################################## -# # -# initialize_pipeline.yml : Initialize the repository and also the play/build stage # -# # -# ####### Inputs ######## # -# assetID: (Optional) Id of the asset to be Imported # -# assetName: (Optional) name of the asset # -# assetType: (Optional) Type of the asset. Currently supported options: workflow, flowservice. # -# devUser: (Optional) UserID for commits and audit # -# featureBranchName: ((Mandatory) Name of the feature branch. # -# repoName: (Mandatory) Name of the corresponding repository. # -# synchProject: (Mandatory) True if you want to synchronize complete project. If false, then you have to # -# provide assetID and assetType # -############################################################################################################## - -trigger: none - - -pool: - vmImage: ubuntu-latest - -variables: -- name: init - value: true -- group: webMethodsIO_group -- group: azure_group -- group: github_group -- name: repoPath - value: $(gitOwner)/$(repoName) - - - -steps: -- checkout: self - submodules: "true" - persistCredentials: "true" - clean: "true" - path: self - -- script: | - echo "##vso[task.setvariable variable=assetID;]NA" - echo "##vso[task.setvariable variable=assetType;]NA" - echo "##vso[task.setvariable variable=assetName;]NA" - condition: eq(variables['synchProject'], 'true') - displayName: 'Adjust variables' - - - -- bash: | - pwd - cd ../self - pwd - ls -ltr - echo "##vso[task.setvariable variable=source_environment_hostname]`yq -e ".tenant.hostname" configs/env/play.yml`" - echo "##vso[task.setvariable variable=source_environment_port]`yq -e ".tenant.port" configs/env/play.yml`" - echo "##vso[task.setvariable variable=admin_user]`yq -e ".tenant.admin_username" configs/env/play.yml`" - echo "##vso[task.setvariable variable=source_type]`yq -e ".tenant.type" configs/env/play.yml`" - echo "##vso[task.setvariable variable=repo_user]`yq -e ".repo.user" configs/repo.yml`" - - echo "##vso[task.setvariable variable=dev_environment_hostname]`yq -e ".tenant.hostname" configs/env/dev.yml`" - echo "##vso[task.setvariable variable=dev_environment_port]`yq -e ".tenant.port" configs/env/dev.yml`" - echo "##vso[task.setvariable variable=dev_admin_user]`yq -e ".tenant.admin_username" configs/env/dev.yml`" - - echo "##vso[task.setvariable variable=qa_environment_hostname]`yq -e ".tenant.hostname" configs/env/qa.yml`" - echo "##vso[task.setvariable variable=qa_environment_port]`yq -e ".tenant.port" configs/env/qa.yml`" - echo "##vso[task.setvariable variable=qa_admin_user]`yq -e ".tenant.admin_username" configs/env/qa.yml`" - - echo "##vso[task.setvariable variable=prod_environment_hostname]`yq -e ".tenant.hostname" configs/env/prod.yml`" - echo "##vso[task.setvariable variable=prod_environment_port]`yq -e ".tenant.port" configs/env/prod.yml`" - echo "##vso[task.setvariable variable=prod_admin_user]`yq -e ".tenant.admin_username" configs/env/prod.yml`" - - echo "##vso[build.updatebuildnumber]$(Build.BuildNumber)-$(repoName)" - echo $(System.DefaultWorkingDirectory) - workingDirectory: '$(System.DefaultWorkingDirectory)' - displayName: 'Get Environment Tenant Details' -# setup python environment -- script: | - - python3.10 -m pip3 install --upgrade pip - pip3 install pynacl - chmod +x ./pipelines/scripts/github/encryptGithubSecret.py - - displayName: 'Setup Python3 Environment' - workingDirectory: '$(System.DefaultWorkingDirectory)' - condition: succeeded() -- script: | - cd ../ - - ########GitHub - HOME_DIR=$(System.DefaultWorkingDirectory)/../ - - chmod +x ./self/pipelines/scripts/github/*.sh - ./self/pipelines/scripts/github/initializeRepo.sh $(repo_user) $(PAT) $(AZURE_TOKEN) $(repoName) $(devUser) $(featureBranchName) ${HOME_DIR} debug - - displayName: 'Create a repo and required branches' - -- script: | - - - cd ../ - LOCAL_DEV_URL=https://$(source_environment_hostname):$(source_environment_port) - echo ${LOCAL_DEV_URL} - HOME_DIR=$(System.DefaultWorkingDirectory)/../ - if [ $(init) == true ]; then - echo "New repo created" - pwd - ls -ltr - ######## Check & Create Project - chmod +x ./self/pipelines/scripts/*.sh - ./self/pipelines/scripts/createProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) - - echo "PROJECT ID TEMP FIX: Importing dummy flowservice ..." - mkdir -p ${HOME_DIR}/$(repoName)/assets/flowservices/ - cp ./self/assets/flowservices/SampleFlowService.zip ${HOME_DIR}/$(repoName)/assets/flowservices/ - - ./self/pipelines/scripts/importAsset.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) "SampleFlowService" "flowservice" ${HOME_DIR} "false" $(source_type) debug - - echo "PROJECT ID TEMP FIX: Publishing & Deploying Project DEV..." - ./self/pipelines/scripts/replicateProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(dev_environment_hostname) $(dev_environment_port) $(dev_admin_user) "SampleFlowService" debug - LOCAL_DEVE_URL=https://$(dev_environment_hostname):$(dev_environment_port) - echo "PROJECT ID TEMP FIX: Deleting dummy flowservice DEV..." - ./self/pipelines/scripts/deleteAssets.sh ${LOCAL_DEVE_URL} $(dev_admin_user) $(admin_password) $(repoName) "SampleFlowService" "flowservice" "false" debug - - echo "PROJECT ID TEMP FIX: Publishing & Deploying Project QA..." - ./self/pipelines/scripts/replicateProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(qa_environment_hostname) $(qa_environment_port) $(qa_admin_user) "SampleFlowService" debug - LOCAL_QA_URL=https://$(qa_environment_hostname):$(qa_environment_port) - echo "PROJECT ID TEMP FIX: Deleting dummy flowservice QA..." - ./self/pipelines/scripts/deleteAssets.sh ${LOCAL_QA_URL} $(qa_admin_user) $(admin_password) $(repoName) "SampleFlowService" "flowservice" "false" debug - - - echo "PROJECT ID TEMP FIX: Publishing & Deploying Project PROD..." - ./self/pipelines/scripts/replicateProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(prod_environment_hostname) $(prod_environment_port) $(prod_admin_user) "SampleFlowService" debug - LOCAL_PROD_URL=https://$(prod_environment_hostname):$(prod_environment_port) - echo "PROJECT ID TEMP FIX: Deleting dummy flowservice PROD..." - ./self/pipelines/scripts/deleteAssets.sh ${LOCAL_PROD_URL} $(prod_admin_user) $(admin_password) $(repoName) "SampleFlowService" "flowservice" "false" debug - - echo "PROJECT ID TEMP FIX: Deleting dummy flowservice PLAY..." - ./self/pipelines/scripts/deleteAssets.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) "SampleFlowService" "flowservice" "false" debug - - rm -rf ${HOME_DIR}/$(repoName)/assets/flowservices/SampleFlowService.zip - - - else - ######## Create a feature branch from prod - echo "Repo Exists, Check and sync feature branch from Prod" - if [ $(synchProject) != true ]; then - echo "Patch Initialize" - if [ -z "$(assetID)" ]; then - echo "##vso[task.logissue type=error;]Missing parameter \"assetID\"" - echo "##vso[task.complete result=Failed;]" - exit 1 - fi - - if [ -z "$(assetType)" ]; then - echo "##vso[task.logissue type=error;]Missing parameter \"assetType\"" - echo "##vso[task.complete result=Failed;]" - exit 1 - fi - else - echo "Project Initialize" - fi - rm -rf ./$(repoName) - - git clone -b production https://$(repo_user):$(PAT)@github.com/$(repo_user)/$(repoName).git - cd $(repoName) - branchExists=$(git ls-remote --exit-code --heads origin $(featureBranchName)) - if [ ! -z "${branchExists// }" ]; - then - echo "Branch $(featureBranchName) already exists" - else - echo "Branch $(featureBranchName) doesnt exists, synching from prod ..." - chmod +x ../self/pipelines/scripts/github/*.sh - ../self/pipelines/scripts/github/createFeatureFromProdBranch.sh $(devUser) $(featureBranchName) ${HOME_DIR} debug - # Project Check - chmod +x ../self/pipelines/scripts/*.sh - echo "Check and create Project ..." - ../self/pipelines/scripts/createProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) - # Import - echo "Importing asset ..." - ../self/pipelines/scripts/importAsset.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(assetID) $(assetType) ${HOME_DIR} $(synchProject) $(source_type) debug - - - fi - fi - displayName: 'Create / Sychronize the projects' - - - \ No newline at end of file diff --git a/pipelines/jobs/export_DEV.yml b/pipelines/jobs/export_DEV.yml deleted file mode 100644 index 8777274..0000000 --- a/pipelines/jobs/export_DEV.yml +++ /dev/null @@ -1,24 +0,0 @@ -jobs: -- job: Export_workflow_DEV - variables: - - group: 'dev' - pool: - vmImage: ubuntu-latest - workspace: - clean: all - resources: - repositories: - - repository: webMethodsIO_Integration - type: github - name: webMethodsIO_Integration/webMethodsIO_Integration - ref: dev - steps: - - checkout: self - submodules: "true" - persistCredentials: "true" - clean: "true" - - checkout: webMethodsIO_Integration - submodules: "true" - persistCredentials: "true" - clean: "true" - diff --git a/pipelines/scripts/doCodeReview_v1.sh b/pipelines/scripts/doCodeReview_v1.sh new file mode 100644 index 0000000..511ebcb --- /dev/null +++ b/pipelines/scripts/doCodeReview_v1.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +# Define the directory where you want to search for .zip files +directory=$1 + +# Define the path to the code_review_reports folder, two levels above the current folder +output_directory="$(dirname "$(dirname "$directory")")/code_review_reports" + +# Check if the directory exists +if [ ! -d "$directory" ]; then + echo "Directory $directory does not exist." + exit 1 +fi + +# Create the 'code_review_reports' directory if it doesn't exist +mkdir -p "$output_directory" + +# Loop over all .zip files in the directory and process them +for zip_file in "$directory"/*.zip; do + if [ -f "$zip_file" ]; then + # Create a folder for the zip file extraction inside 'code_review_reports' + folder_name="$output_directory/$(basename "$zip_file" .zip)" + + # Extract the main .zip file into the folder + echo "Extracting: $zip_file" + mkdir -p "$folder_name" # Ensure the folder exists + unzip -q "$zip_file" -d "$folder_name" + + # Now go into the extracted folder + cd "$folder_name" || exit + + # Look for a .zip file starting with "pkg" in the extracted folder + pkg_zip_file=$(find . -maxdepth 1 -type f -name "pkg*.zip") + + if [ -f "$pkg_zip_file" ]; then + # Extract the found "pkg*.zip" file + echo "Found pkg zip: $pkg_zip_file. Extracting..." + unzip -q "$pkg_zip_file" -d "$folder_name/$(basename "$pkg_zip_file" .zip)" + else + echo "No pkg zip file found in $folder_name" + fi + + # Clean up files that are not inside the "pkg" directory + for item in "$folder_name"/*; do + if [ -d "$item" ] && [[ "$(basename "$item")" != pkg* ]]; then + # If it's a directory that doesn't start with "pkg", delete all files inside it + echo "Deleting files inside: $item" + rm -rf "$item"/* + elif [ -f "$item" ]; then + # If it's a file that is not inside a "pkg" directory, delete it + echo "Deleting file: $item" + rm -f "$item" + fi + done + + # Create the 'current_review_reports' subfolder inside the output directory + current_review_reports="$output_directory/current_review_reports" + mkdir -p "$current_review_reports" # Create the 'current_review_reports' folder if it doesn't exist + + # Loop over each child folder + for child_folder in "$folder_name"/pkg*/; do + if [ -d "$child_folder" ]; then + # create the command with dynamic values + last_folder_name=$(basename "$child_folder") + flow_service_name=$(basename "$folder_name") + mkdir -p $current_review_reports/$flow_service_name + echo "Running the command for folder: $folder_name and pkg: $last_folder_name. Will put reports in folder : $current_review_reports" + + # Run the code review command with parameters. This code review tool is part of the build server like jenkins. It will go in SCM later when optimized. + command="/opt/GCS_IS_ContinuousCodeReview_v2024.05.01.0/CodeReview.sh -Dcode.review.directory=$folder_name -Dcode.review.pkgname=$last_folder_name -Dcode.review.pkgprefix=pkg_ -Dcode.review.folder-prefix=fld -Dcode.review.output.directory=$current_review_reports/$flow_service_name" + echo "Executing command: $command" + eval "$command" + fi + done + + # Return to the original directory + cd "$directory" || exit + fi +done diff --git a/pipelines/scripts/exportAsset.sh b/pipelines/scripts/exportAsset.sh index 2cb7a91..022f783 100644 --- a/pipelines/scripts/exportAsset.sh +++ b/pipelines/scripts/exportAsset.sh @@ -14,7 +14,7 @@ assetType=$6 HOME_DIR=$7 synchProject=$8 source_type=$9 -includeAllReferenceData=${10} +inlcudeAllReferenceData=${10} envTypes=${11} debug=${@: -1} @@ -57,8 +57,8 @@ debug=${@: -1} echo "Missing template parameter source_type" exit 1 fi - if [ -z "$includeAllReferenceData" ]; then - echo "Missing template parameter includeAllReferenceData" + if [ -z "$inlcudeAllReferenceData" ]; then + echo "Missing template parameter inlcudeAllReferenceData" exit 1 fi if [ -z "$envTypes" ]; then @@ -211,7 +211,7 @@ function exportAsset(){ assetType=$6 HOME_DIR=$7 synchProject=$8 - includeAllReferenceData=$9 + inlcudeAllReferenceData=$9 # Single assetType @@ -246,7 +246,7 @@ function exportAsset(){ else if [[ $assetType = project_parameter* ]]; then echod $assetType - exportProjectParameters ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + exportProjectParameters ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} return else if [[ $assetType = workflow* ]]; then @@ -301,7 +301,7 @@ function exportAsset(){ # For Single assetType Flowservice Export Reference Data if [ ${synchProject} != true ]; then if [[ $assetType = flowservice* ]]; then - if [ ${includeAllReferenceData} == true ]; then + if [ ${inlcudeAllReferenceData} == true ]; then exportReferenceData ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} fi fi @@ -321,7 +321,7 @@ function exportProjectParameters(){ assetType=$6 HOME_DIR=$7 synchProject=$8 - includeAllReferenceData=$9 + inlcudeAllReferenceData=$9 cd ${HOME_DIR}/${repoName} if [ ${synchProject} == true ]; then @@ -396,7 +396,7 @@ if [ ${synchProject} == true ]; then assetID=$item assetType=rest_api echod $assetID - exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} done # Exporting Workflows @@ -405,7 +405,7 @@ if [ ${synchProject} == true ]; then assetID=$item assetType=workflow echod $assetID - exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} done # Exporting Flows for item in $(jq -c -r '.output.flows[]' <<< "$projectListJson"); do @@ -413,7 +413,7 @@ if [ ${synchProject} == true ]; then assetID=$item assetType=flowservice echod $assetID - exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} done #Expoting Accounts @@ -444,8 +444,8 @@ if [ ${synchProject} == true ]; then # Exporting Project Parameters #PP Export assetType=project_parameter - exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} else - exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + exportAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} fi diff --git a/pipelines/scripts/github/commitFeatureBranch.sh b/pipelines/scripts/github/commitFeatureBranch.sh index 71bded7..2e91e00 100644 --- a/pipelines/scripts/github/commitFeatureBranch.sh +++ b/pipelines/scripts/github/commitFeatureBranch.sh @@ -6,16 +6,21 @@ # # ################################################################################# -devUser=$1 +GITHUB_USER=$1 buildNumber=$2 featureBranchName=$3 -HOME_DIR=$3 +#HOME_DIR=$3 +GITHUB_TOKEN=$4 +WMIO_PROJECT_GIT_URL=$5 debug=${@: -1} +WMIO_PROJECT_GIT_URL_PUSH="https://${GITHUB_TOKEN}@${WMIO_PROJECT_GIT_URL#https://}" +echo $WMIO_PROJECT_GIT_URL_PUSH - if [ -z "$devUser" ]; then - echo "Missing template parameter devUser" + + if [ -z "$GITHUB_USER" ]; then + echo "Missing template parameter GITHUB_USER" exit 1 fi @@ -29,14 +34,20 @@ debug=${@: -1} exit 1 fi - if [ -z "$HOME_DIR" ]; then + if [ -z "$WMIO_PROJECT_GIT_URL" ]; then echo "Missing template parameter HOME_DIR" exit 1 fi + + if [ -z "$GITHUB_TOKEN" ]; then + echo "Missing template parameter featureBranchName" + exit 1 + fi if [ "$debug" == "debug" ]; then echo "......Running in Debug mode ......" fi + set -x function echod(){ @@ -49,9 +60,10 @@ function echod(){ } - git config user.email "noemail.com" - git config user.name "${devUser}" + # git config user.email "sample@mail.com" + git config user.name "${GITHUB_USER}" git add . git commit -m "push the export repository from pipeline. Build: ${buildNumber}" - git push origin HEAD:${featureBranchName} + git push ${WMIO_PROJECT_GIT_URL_PUSH} HEAD:${featureBranchName} + set +x \ No newline at end of file diff --git a/pipelines/scripts/github/createFeatureFromProdBranch copy.sh b/pipelines/scripts/github/createFeatureFromProdBranch copy.sh deleted file mode 100644 index b07ab9f..0000000 --- a/pipelines/scripts/github/createFeatureFromProdBranch copy.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -################################################################################# -# # -# createFeatureFromProdBranch.sh : Create Feature Branch from Production Branch # -# # -################################################################################# - -devUser=$1 -featureBranchName=$2 -HOME_DIR=$3 -debug=${@: -1} - - - - if [ -z "$devUser" ]; then - echo "Missing template parameter devUser" - exit 1 - fi - - if [ -z "$featureBranchName" ]; then - echo "Missing template parameter featureBranchName" - exit 1 - fi - - if [ -z "$HOME_DIR" ]; then - echo "Missing template parameter HOME_DIR" - exit 1 - fi - - if [ "$debug" == "debug" ]; then - echo "......Running in Debug mode ......" - fi - -set -x -function echod(){ - - if [ "$debug" == "debug" ]; then - echo $1 - - fi - -} - - - # Creating Feature Branch - echo "Branch does not exists. Creating Branch ..." - git config user.email "noemail.com" - git config user.name "${devUser}" - git checkout -b ${featureBranchName} production - git add . - git commit -m "Synching from Prod for feature branch ${featureBranchName}" - git push -u origin ${featureBranchName} -set +x \ No newline at end of file diff --git a/pipelines/scripts/github/encryptGithubSecret.py b/pipelines/scripts/github/encryptGithubSecret.py deleted file mode 100755 index 9e7f2fd..0000000 --- a/pipelines/scripts/github/encryptGithubSecret.py +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/python3 - -import argparse -from base64 import b64encode -from nacl import encoding, public - -parser = argparse.ArgumentParser(description='CLI arguments') -parser.add_argument('public_key', type=str, help='Public Key') -parser.add_argument('secret_value', type=str, help='Secret value') - -args = vars(parser.parse_args()) -pk = args.get('public_key', "not declared") -sv = args.get('secret_value', "not declared") - -def encrypt(public_key: str, secret_value: str) -> str: - public_key = public.PublicKey(public_key.encode("utf-8"), encoding.Base64Encoder()) - sealed_box = public.SealedBox(public_key) - - encrypted = sealed_box.encrypt(secret_value.encode("utf-8")) - - return b64encode(encrypted).decode("utf-8") -print(encrypt(public_key=pk, secret_value=sv)) \ No newline at end of file diff --git a/pipelines/scripts/github/initializeRepo.sh b/pipelines/scripts/github/initializeRepo.sh deleted file mode 100644 index 0d3d537..0000000 --- a/pipelines/scripts/github/initializeRepo.sh +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/bash - -############################################################################# -# # -# initializeRepo.sh : Initialize Repo in GITHUB # -# # -############################################################################# - -repo_user=$1 -PAT=$2 -AZURE_TOKEN=$3 -repoName=$4 -devUser=$5 -featureBranchName=$6 -HOME_DIR=$7 -debug=${@: -1} -gitHubApiURL=https://api.github.com/ - - - if [ -z "$repo_user" ]; then - echo "Missing template parameter repo_user" - exit 1 - fi - - if [ -z "$PAT" ]; then - echo "Missing template parameter PAT" - exit 1 - fi - - if [ -z "$AZURE_TOKEN" ]; then - echo "Missing template parameter AZURE_TOKEN" - exit 1 - fi - - if [ -z "$repoName" ]; then - echo "Missing template parameter repoName" - exit 1 - fi - - if [ -z "$devUser" ]; then - echo "Missing template parameter devUser" - exit 1 - fi - - if [ -z "$featureBranchName" ]; then - echo "Missing template parameter featureBranchName" - exit 1 - fi - - if [ -z "$HOME_DIR" ]; then - echo "Missing template parameter HOME_DIR" - exit 1 - fi - - if [ "$debug" == "debug" ]; then - echo "......Running in Debug mode ......" - fi - -set -x -function echod(){ - - if [ "$debug" == "debug" ]; then - echo $1 - - fi - -} - - -name=$(curl -u ${repo_user}:${PAT} https://api.github.com/repos/${repo_user}/${repoName} | jq -r '.name') -repoid=$(curl -u ${repo_user}:${PAT} https://api.github.com/repos/${repo_user}/${repoName} | jq -r '.id') - echo ${name} - if [ "$name" == null ] - then - echo "Repo does not exists, creating ..." - mkdir -p ${repoName} - cd ${repoName} - - #### Create empty repo & SECRET - curl -u ${repo_user}:${PAT} https://api.github.com/user/repos -d '{"name":"'${repoName}'"}' - repoid=$(curl -u ${repo_user}:${PAT} https://api.github.com/repos/${repo_user}/${repoName} | jq -r '.id') - - keyJson=$(curl -u ${repo_user}:${PAT} --location --request GET https://api.github.com/repos/${repo_user}/${repoName}/actions/secrets/public-key \ - --header 'X-GitHub-Api-Version: 2022-11-28' \ - --header 'Accept: application/vnd.github+json') - - keyId=$(echo "$keyJson" | jq -r '.key_id') - keyValue=$(echo "$keyJson" | jq -r '.key') - token=$(echo ${AZURE_TOKEN}) - - encryptedValue=$(python3.10 ../self/pipelines/scripts/github/encryptGithubSecret.py ${keyValue} ${token}) - - - secretJson='{"encrypted_value":"'"${encryptedValue}"'","key_id":"'"${keyId}"'"}' - - curl \ - -X PUT \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - -u ${repo_user}:${PAT} https://api.github.com/repos/${repo_user}/${repoName}/actions/secrets/AZURE_DEVOPS_TOKEN \ - -d ${secretJson} - #-d '{"encrypted_value":"'"${AZURE_TOKEN}"'","key_id":"'"${keyId}"'"}' - - #### Initiatialite and push to main - echo "# ${repoName}" >> README.md - mkdir -p .github - cd .github - mkdir -p workflows - cd .. - cp ../self/assets/github/workflows/dev.yml .github/workflows/ - git init - git config user.email "noemail.com" - git config user.name "${devUser}" - git add . - git commit -m "first commit" - git branch -M production - git remote add origin https://${repo_user}:${PAT}@github.com/${repo_user}/${repoName}.git - git push -u origin production - - git checkout -b dev production - git commit -m "first commit" - git push -u origin dev - - git checkout -b qa production - git commit -m "first commit" - git push -u origin qa - - git checkout -b ${featureBranchName} production - git commit -m "first commit" - git push -u origin ${featureBranchName} - - - - #Enable Actions - curl -u ${repo_user}:${PAT} -L -X PUT \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - https://api.github.com/orgs/${repo_user}/actions/permissions/repositories/${repoid} - - #Enable workflow - curl -u ${repo_user}:${PAT} -L -X PUT \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - https://api.github.com/repos/${repo_user}/${repoName}/actions/workflows/dev.yml/enable - - - echo "Repo creation done !!!" - else - echo "Repo already exixts with name:" ${name} - echo "##vso[task.setvariable variable=init]false" - exit 0 - fi \ No newline at end of file diff --git a/pipelines/scripts/github/pythonRequirement.cnf b/pipelines/scripts/github/pythonRequirement.cnf deleted file mode 100644 index 6107869..0000000 --- a/pipelines/scripts/github/pythonRequirement.cnf +++ /dev/null @@ -1,3 +0,0 @@ -PyYAML==6.0 -requests==2.28.1 -PyNaCl==1.5 \ No newline at end of file diff --git a/pipelines/scripts/importAsset.sh b/pipelines/scripts/importAsset.sh index 541db45..fd0e68c 100644 --- a/pipelines/scripts/importAsset.sh +++ b/pipelines/scripts/importAsset.sh @@ -15,7 +15,7 @@ assetType=$6 HOME_DIR=$7 synchProject=$8 source_type=$9 -includeAllReferenceData=${10} +inlcudeAllReferenceData=${10} debug=${@: -1} @@ -81,7 +81,7 @@ function importAsset() { assetType=$6 HOME_DIR=$7 synchProject=$8 - includeAllReferenceData=$9 + inlcudeAllReferenceData=$9 echod $(pwd) echod $(ls -ltr) @@ -173,7 +173,7 @@ function importAsset() { if [ ${synchProject} != true ]; then if [[ $assetType = flowservice* ]]; then - if [ ${includeAllReferenceData} == true ]; then + if [ ${inlcudeAllReferenceData} == true ]; then importRefData ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${source_type} fi fi @@ -415,7 +415,7 @@ if [ ${synchProject} == true ]; then base_name=${base_name%.*} echod $base_name${filename%.*} echod $parent_name - importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${base_name} ${parent_name} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${base_name} ${parent_name} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} done else echod "No rest apis to import" @@ -430,7 +430,7 @@ if [ ${synchProject} == true ]; then base_name=${base_name%.*} echod $base_name${filename%.*} echod $parent_name - importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${base_name} ${parent_name} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${base_name} ${parent_name} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} done else echod "No workflows to import" @@ -444,7 +444,7 @@ if [ ${synchProject} == true ]; then base_name=${base_name%.*} echod $base_name${filename%.*} echod $parent_name - importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${base_name} ${parent_name} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${base_name} ${parent_name} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} done else echod "No flowservices to import" @@ -453,6 +453,6 @@ if [ ${synchProject} == true ]; then projectParameters ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${source_type} else - importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${includeAllReferenceData} + importAsset ${LOCAL_DEV_URL} ${admin_user} ${admin_password} ${repoName} ${assetID} ${assetType} ${HOME_DIR} ${synchProject} ${inlcudeAllReferenceData} fi set +x \ No newline at end of file diff --git a/pipelines/sychronizeFeatureBranch_pipeline.yml b/pipelines/sychronizeFeatureBranch_pipeline.yml deleted file mode 100644 index e431561..0000000 --- a/pipelines/sychronizeFeatureBranch_pipeline.yml +++ /dev/null @@ -1,134 +0,0 @@ -# Export workflow pipeline -# Start with a minimal pipeline that you can customize to build and deploy your code. -# Add steps that build, run tests, deploy, and more: -# https://aka.ms/yaml - -trigger: none -variables: -- group: webMethodsIO_group -- group: github_group -- name: repoPath - value: $(gitOwner)/$(repoName) - - -pool: - vmImage: ubuntu-latest -resources: - repositories: - - repository: projectRepo - type: github - endpoint: github - name: $(repoPath) - ref: $(featureBranchName) -steps: -- checkout: projectRepo - submodules: "true" - persistCredentials: "true" - clean: "true" - path: $(repoName) -- checkout: self - submodules: "true" - persistCredentials: "true" - clean: "true" - path: self - -- script: | - echo "##vso[task.setvariable variable=assetID;]NA" - echo "##vso[task.setvariable variable=assetType;]NA" - echo "##vso[task.setvariable variable=assetName;]NA" - condition: eq(variables['synchProject'], 'true') - displayName: 'Adjust variables' - - - -- bash: | - pwd - cd ../self - pwd - ls -ltr - echo "##vso[task.setvariable variable=source_environment_hostname]`yq -e ".tenant.hostname" configs/env/play.yml`" - echo "##vso[task.setvariable variable=source_environment_port]`yq -e ".tenant.port" configs/env/play.yml`" - echo "##vso[task.setvariable variable=admin_user]`yq -e ".tenant.admin_username" configs/env/play.yml`" - echo "##vso[task.setvariable variable=source_type]`yq -e ".tenant.type" configs/env/play.yml`" - PROJECTNAME=$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$(repoName)") - #echo ${PROJECTNAME} - echo "##vso[build.updatebuildnumber]$(Build.BuildNumber)-${PROJECTNAME}" - echo $(System.DefaultWorkingDirectory) - workingDirectory: '$(System.DefaultWorkingDirectory)' - displayName: 'Get Environment Tenant Details' -- script: | - #echo $(source_environment_hostname) - #echo $(source_environment_port) - #echo $(admin_user) - #echo $(source_type) - repoName=$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$(repoName)") - #echo $(repoName) - - - LOCAL_DEV_URL=https://$(source_environment_hostname):$(source_environment_port) - #echo ${LOCAL_DEV_URL} - HOME_DIR=$(System.DefaultWorkingDirectory)/../ - cd $(System.DefaultWorkingDirectory)/../ - cd $(repoName) - chmod +x ../self/pipelines/scripts/*.sh - - config_dir=${HOME_DIR}self/configs/env - - - ###### Fetching Environments - echo "Fetching Environment Types ..." - envTypes=$(../self/pipelines/scripts/readEnvs.sh ${config_dir} $(source_type)) - echo "****Envs****: "$envTypes - - - ###### Exporting - echo "Exporting asset ..." - ../self/pipelines/scripts/exportAsset.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(assetID) $(assetType) ${HOME_DIR} $(synchProject) $(source_type) $(includeAllReferenceData) ${envTypes} debug - displayName: 'Export Asset' - #failOnStderr: true - - -- script: | - cd ../$(repoName) - - echo "Committing asset ..." - chmod +x ../self/pipelines/scripts/github/*.sh - ../self/pipelines/scripts/github/commitFeatureBranch.sh $(devUser) $(Build.BuildNumber) $(featureBranchName) ${HOME_DIR} debug - - displayName: 'Commit the code to feature branch' - -- script: | - cd ../$(repoName) - FILE="./resources/test/environments/$(source_type).json" - fileExists=false - if test -f "$FILE"; then - echo "$FILE exists." - fileExists=true - fi - echo "##vso[task.setvariable variable=FileExists]$fileExists" - displayName: 'Evaluate if Test Assets Exists' - - -- task: PublishBuildArtifacts@1 - inputs: - pathToPublish: '$(System.DefaultWorkingDirectory)/../$(repoName)' - artifactName: '$(repoName)_export' - displayName: 'Publishing the export' - -- task: DeleteFiles@1 - inputs: - SourceFolder: '$(System.DefaultWorkingDirectory)../$(repoName)' - Contents: './*' - displayName: 'Remove the Export after successfull Commit' -- task: TriggerBuild@4 - inputs: - buildDefinition: 'Test' - useSameBranch: true - storeInEnvironmentVariable: true - authenticationMethod: 'OAuth Token' - password: $(System.AccessToken) - buildParameters: - 'repoName:$(repoName), branch:$(featureBranchName), environment:$(source_type)' - displayName: Trigger Test Pipeline - continueOnError: false - condition: eq(variables['FileExists'], True) diff --git a/pipelines/sychronizeToQA_pipeline.yml b/pipelines/sychronizeToQA_pipeline.yml deleted file mode 100644 index 9c62d69..0000000 --- a/pipelines/sychronizeToQA_pipeline.yml +++ /dev/null @@ -1,127 +0,0 @@ -############################################################################################################## -# # -# synchronizeDEV_pipeline.yml : Imports to QA Stage # -# # -# ####### Inputs ######## # -# assetID: (Optional) Id of the asset to be Imported # -# assetType: (Optional) Type of the asset. Currently supported options: workflow, flowservice. # -# repoName: (Mandatory) Name of the corresponding repository. # -# synchProject: (Mandatory) True if you want to synchronize complete project. If false, then you have to # -# provide assetID and assetType # -############################################################################################################## - - -trigger: none -variables: -- group: webMethodsIO_group -- group: github_group -- name: repoPath - value: $(gitOwner)/$(repoName) - - -pool: - vmImage: ubuntu-latest -resources: - repositories: - - repository: projectRepo - type: github - endpoint: github - name: $(repoPath) - ref: qa - -steps: -- checkout: projectRepo - submodules: "true" - persistCredentials: "true" - clean: "true" - path: $(repoName) -- checkout: self - submodules: "true" - persistCredentials: "true" - clean: "true" - path: self - -- script: | - echo "##vso[task.setvariable variable=assetID;]NA" - echo "##vso[task.setvariable variable=assetType;]NA" - condition: eq(variables['synchProject'], 'true') - displayName: 'Adjust variables' - - - -- bash: | - pwd - cd ../self - pwd - ls -ltr - echo "##vso[task.setvariable variable=source_environment_hostname]`yq -e ".tenant.hostname" configs/env//qa.yml`" - echo "##vso[task.setvariable variable=source_environment_port]`yq -e ".tenant.port" configs/env/qa.yml`" - echo "##vso[task.setvariable variable=admin_user]`yq -e ".tenant.admin_username" configs/env/qa.yml`" - echo "##vso[task.setvariable variable=source_type]`yq -e ".tenant.type" configs/env/qa.yml`" - repoName=$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$(repoName)") - # echo $(repoName) - echo "##vso[build.updatebuildnumber]$(Build.BuildNumber)-$(repoName)" - # echo $(System.DefaultWorkingDirectory) - workingDirectory: '$(System.DefaultWorkingDirectory)' - displayName: 'Get Environment Tenant Details' -- script: | - : ' - echo $(source_environment_hostname) - echo $(source_environment_port) - echo $(admin_user) - echo $(source_type) - ' - repoName=$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$(repoName)") - echo $(repoName) - echo $(assetID) - LOCAL_DEV_URL=https://$(source_environment_hostname):$(source_environment_port) - - pwd - HOME_DIR=$(System.DefaultWorkingDirectory)/../ - cd $(System.DefaultWorkingDirectory)/../ - ls -ltr - cd $(repoName) - chmod +x ../self/pipelines/scripts/*.sh - - #### Check and create Project - echo "Check and create Project ..." - ../self/pipelines/scripts/createProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) - - echo "Importing asset ..." - ../self/pipelines/scripts/importAsset.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(assetID) $(assetType) ${HOME_DIR} $(synchProject) $(source_type) $(includeAllReferenceData) debug - displayName: 'Import Asset' - -- script: | - cd ../$(repoName) - FILE="./resources/test/environments/$(source_type).json" - fileExists=false - if test -f "$FILE"; then - echo "$FILE exists." - fileExists=true - fi - echo "##vso[task.setvariable variable=FileExists]$fileExists" - displayName: 'Evaluate if Test Assets Exists' - - -- task: TriggerBuild@4 - inputs: - buildDefinition: 'Test' - useSameBranch: true - storeInEnvironmentVariable: true - authenticationMethod: 'OAuth Token' - password: $(System.AccessToken) - buildParameters: - 'repoName:$(repoName), branch:$(source_type), environment:$(source_type)' - displayName: Trigger Test Pipeline - continueOnError: false - condition: eq(variables['FileExists'], True) -- task: PublishBuildArtifacts@1 - inputs: - pathToPublish: '$(System.DefaultWorkingDirectory)/../$(repoName)' - artifactName: '$(repoName)_export' - displayName: 'Publishing the export' -- task: DeleteFiles@1 - inputs: - SourceFolder: '$(System.DefaultWorkingDirectory)../$(repoName)' - Contents: './*' - displayName: 'Remove the Export after successfull Commit' \ No newline at end of file diff --git a/pipelines/synchronizeDEV_pipeline.yml b/pipelines/synchronizeDEV_pipeline.yml deleted file mode 100644 index 52c7d5a..0000000 --- a/pipelines/synchronizeDEV_pipeline.yml +++ /dev/null @@ -1,138 +0,0 @@ -############################################################################################################## -# # -# synchronizeDEV_pipeline.yml : Imports to DEV Stage # -# # -# ####### Inputs ######## # -# assetID: (Optional) Id of the asset to be Imported # -# assetType: (Optional) Type of the asset. Currently supported options: workflow, flowservice. # -# repoName: (Mandatory) Name of the corresponding repository. # -# synchProject: (Mandatory) True if you want to synchronize complete project. If false, then you have to # -# provide assetID and assetType # -############################################################################################################## - - -trigger: none -variables: -- group: webMethodsIO_group -- group: github_group -- name: repoPath - value: $(gitOwner)/$(repoName) - - -pool: - vmImage: ubuntu-latest -resources: - repositories: - - repository: projectRepo - type: github - endpoint: github - name: $(repoPath) - ref: dev - -steps: -- checkout: projectRepo - submodules: "true" - persistCredentials: "true" - clean: "true" - path: $(repoName) -- checkout: self - submodules: "true" - persistCredentials: "true" - clean: "true" - path: self - -- script: | - echo "##vso[task.setvariable variable=assetID;]'NA'" - echo "##vso[task.setvariable variable=assetType;]'NA'" - condition: eq(variables['synchProject'], 'true') - displayName: 'Adjust variables' - - - -- bash: | - pwd - cd ../self - pwd - ls -ltr - echo "##vso[task.setvariable variable=source_environment_hostname]`yq -e ".tenant.hostname" configs/env/dev.yml`" - echo "##vso[task.setvariable variable=source_environment_port]`yq -e ".tenant.port" configs/env/dev.yml`" - echo "##vso[task.setvariable variable=admin_user]`yq -e ".tenant.admin_username" configs/env/dev.yml`" - echo "##vso[task.setvariable variable=source_type]`yq -e ".tenant.type" configs/env/dev.yml`" - repoName=$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$(repoName)") - # echo $(repoName) - echo "##vso[build.updatebuildnumber]$(Build.BuildNumber)-$(repoName)" - # echo $(System.DefaultWorkingDirectory) - workingDirectory: '$(System.DefaultWorkingDirectory)' - displayName: 'Get Environment Tenant Details' -- script: | - - echo $(source_environment_hostname) - echo $(source_environment_port) - echo $(admin_user) - echo $(source_type) - echo $(assetID) - echo $(assetType) - - repoName=$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$(repoName)") - echo $(repoName) - echo $(assetID) - LOCAL_DEV_URL=https://$(source_environment_hostname):$(source_environment_port) - - pwd - HOME_DIR=$(System.DefaultWorkingDirectory)/../ - cd $(System.DefaultWorkingDirectory)/../ - ls -ltr - cd $(repoName) - chmod +x ../self/pipelines/scripts/*.sh - - #### Check and create Project - echo "Check and create Project ..." - ../self/pipelines/scripts/createProject.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) - - echo $(source_environment_hostname) - echo $(source_environment_port) - echo $(admin_user) - echo $(source_type) - echo $(assetID) - echo $(assetType) - echo ${HOME_DIR} - echo $(synchProject) - echo $(source_type) - - echo "Importing asset ..." - ../self/pipelines/scripts/importAsset.sh ${LOCAL_DEV_URL} $(admin_user) $(admin_password) $(repoName) $(assetID) $(assetType) ${HOME_DIR} $(synchProject) $(source_type) $(includeAllReferenceData) debug - displayName: 'Import Asset' - -- script: | - cd ../$(repoName) - FILE="./resources/test/environments/$(source_type).json" - fileExists=false - if test -f "$FILE"; then - echo "$FILE exists." - fileExists=true - fi - echo "##vso[task.setvariable variable=FileExists]$fileExists" - displayName: 'Evaluate if Test Assets Exists' - -- task: TriggerBuild@4 - inputs: - buildDefinition: 'Test' - useSameBranch: true - storeInEnvironmentVariable: true - authenticationMethod: 'OAuth Token' - password: $(System.AccessToken) - buildParameters: - 'repoName:$(repoName), branch:$(source_type), environment:$(source_type)' - displayName: Trigger Test Pipeline - continueOnError: false - condition: eq(variables['FileExists'], True) -- task: PublishBuildArtifacts@1 - inputs: - pathToPublish: '$(System.DefaultWorkingDirectory)/../$(repoName)' - artifactName: '$(repoName)_export' - displayName: 'Publishing the export' -- task: DeleteFiles@1 - inputs: - SourceFolder: '$(System.DefaultWorkingDirectory)../$(repoName)' - Contents: './*' - displayName: 'Remove the Export after successful Commit' \ No newline at end of file diff --git a/presentation/webMethodsIO_Integration_CICD.pptx b/presentation/webMethodsIO_Integration_CICD.pptx deleted file mode 100644 index bb0ee9f..0000000 Binary files a/presentation/webMethodsIO_Integration_CICD.pptx and /dev/null differ