conviso-cli 2.2.11rc0__tar.gz → 2.2.12.dev0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/PKG-INFO +1 -1
  2. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/conviso_cli.egg-info/PKG-INFO +1 -1
  3. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/resources_api.py +51 -0
  4. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/schemas/mutations/__init__.py +25 -1
  5. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/version_control_system_adapter.py +6 -1
  6. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/ast/entrypoint.py +31 -3
  7. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/vulnerability/run.py +2 -2
  8. conviso-cli-2.2.12.dev0/convisoappsec/version.py +1 -0
  9. conviso-cli-2.2.11rc0/convisoappsec/version.py +0 -1
  10. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/README.md +0 -0
  11. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/conviso_cli.egg-info/SOURCES.txt +0 -0
  12. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/conviso_cli.egg-info/dependency_links.txt +0 -0
  13. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/conviso_cli.egg-info/entry_points.txt +0 -0
  14. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/conviso_cli.egg-info/requires.txt +0 -0
  15. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/conviso_cli.egg-info/top_level.txt +0 -0
  16. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/__init__.py +0 -0
  17. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/__init__.py +0 -0
  18. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/box.py +0 -0
  19. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/docker.py +0 -0
  20. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/exceptions.py +0 -0
  21. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/git_data_parser.py +0 -0
  22. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/graphql/__init__.py +0 -0
  23. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/graphql/error_handlers.py +0 -0
  24. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/graphql/errors.py +0 -0
  25. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/graphql/low_client.py +0 -0
  26. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/retry_handler.py +0 -0
  27. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/common/strings.py +0 -0
  28. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/__init__.py +0 -0
  29. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/api.py +0 -0
  30. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/__init__.py +0 -0
  31. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/__init__.py +0 -0
  32. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/client.py +0 -0
  33. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/models/__init__.py +0 -0
  34. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/models/issues/__init__.py +0 -0
  35. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/models/issues/iac.py +0 -0
  36. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/models/issues/normalize.py +0 -0
  37. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/models/issues/sast.py +0 -0
  38. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/models/issues/sca.py +0 -0
  39. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/resources_api.py +0 -0
  40. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/schemas/__init__.py +0 -0
  41. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/schemas/mutations/__init__.py +0 -0
  42. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/beta/schemas/resolvers/__init__.py +0 -0
  43. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/__init__.py +0 -0
  44. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/client.py +0 -0
  45. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/models/__init__.py +0 -0
  46. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/models/asset.py +0 -0
  47. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/models/issues.py +0 -0
  48. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/models/project.py +0 -0
  49. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/schemas/__init__.py +0 -0
  50. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/graphql_api/v1/schemas/resolvers/__init__.py +0 -0
  51. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/source_code_scanner/__init__.py +0 -0
  52. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/source_code_scanner/exceptions.py +0 -0
  53. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/source_code_scanner/scc.py +0 -0
  54. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/source_code_scanner/source_code_scanner.py +0 -0
  55. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/util/__init__.py +0 -0
  56. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/util/ci_provider.py +0 -0
  57. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/util/metrics.py +0 -0
  58. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/util/source_code_compressor.py +0 -0
  59. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/version_searchers/__init__.py +0 -0
  60. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/version_searchers/sorted_by_versioning_style.py +0 -0
  61. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/version_searchers/timebased_version_seacher.py +0 -0
  62. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/version_searchers/version_searcher_result.py +0 -0
  63. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/versioning_style/__init__.py +0 -0
  64. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flow/versioning_style/semantic_versioning.py +0 -0
  65. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/__init__.py +0 -0
  66. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/__main__.py +0 -0
  67. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/assets/__init__.py +0 -0
  68. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/assets/create.py +0 -0
  69. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/assets/entrypoint.py +0 -0
  70. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/assets/ls.py +0 -0
  71. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/ast/__init__.py +0 -0
  72. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/common.py +0 -0
  73. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/companies/__init__.py +0 -0
  74. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/companies/ls.py +0 -0
  75. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/context.py +0 -0
  76. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/__init__.py +0 -0
  77. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/__init__.py +0 -0
  78. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/context.py +0 -0
  79. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/entrypoint.py +0 -0
  80. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/__init__.py +0 -0
  81. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/entrypoint.py +0 -0
  82. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/__init__.py +0 -0
  83. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/context.py +0 -0
  84. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/entrypoint.py +0 -0
  85. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/__init__.py +0 -0
  86. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/entrypoint.py +0 -0
  87. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/time_.py +0 -0
  88. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/tag_tracker/sort_by/versioning_style.py +0 -0
  89. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/create/with_/values.py +0 -0
  90. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/entrypoint.py +0 -0
  91. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/ls.py +0 -0
  92. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/deploy/show.py +0 -0
  93. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/entrypoint.py +0 -0
  94. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/__init__.py +0 -0
  95. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/create/__init__.py +0 -0
  96. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/create/entrypoint.py +0 -0
  97. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/create/with_/__init__.py +0 -0
  98. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/create/with_/entrypoint.py +0 -0
  99. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/create/with_/version_tracker.py +0 -0
  100. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/entrypoint.py +0 -0
  101. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/import_sarif/__init__.py +0 -0
  102. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/findings/import_sarif/entrypoint.py +0 -0
  103. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/help_option.py +0 -0
  104. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/iac/__init__.py +0 -0
  105. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/iac/entrypoint.py +0 -0
  106. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/iac/run.py +0 -0
  107. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/projects/__init__.py +0 -0
  108. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/projects/ls.py +0 -0
  109. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/requirements_verifier.py +0 -0
  110. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sast/__init__.py +0 -0
  111. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sast/entrypoint.py +0 -0
  112. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sast/run.py +0 -0
  113. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sbom/__init__.py +0 -0
  114. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sbom/entrypoint.py +0 -0
  115. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sbom/generate.py +0 -0
  116. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sca/__init__.py +0 -0
  117. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sca/entrypoint.py +0 -0
  118. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/sca/run.py +0 -0
  119. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/vulnerability/__init__.py +0 -0
  120. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/vulnerability/assert_security_rules.py +0 -0
  121. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/vulnerability/entrypoint.py +0 -0
  122. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/flowcli/vulnerability/rules_schema.json +0 -0
  123. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/logger.py +0 -0
  124. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/sast/__init__.py +0 -0
  125. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/sast/decision.py +0 -0
  126. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/convisoappsec/sast/sastbox.py +0 -0
  127. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/scripts/shell_completer/flow_bash_completer.sh +0 -0
  128. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/scripts/shell_completer/flow_fish_completer.fish +0 -0
  129. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/scripts/shell_completer/flow_zsh_completer.sh +0 -0
  130. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/setup.cfg +0 -0
  131. {conviso-cli-2.2.11rc0 → conviso-cli-2.2.12.dev0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conviso-cli
3
- Version: 2.2.11rc0
3
+ Version: 2.2.12.dev0
4
4
  Summary: UNKNOWN
5
5
  Maintainer: Conviso
6
6
  Maintainer-email: development@convisoappsec.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conviso-cli
3
- Version: 2.2.11rc0
3
+ Version: 2.2.12.dev0
4
4
  Summary: UNKNOWN
5
5
  Maintainer: Conviso
6
6
  Maintainer-email: development@convisoappsec.com
@@ -268,6 +268,57 @@ class DeploysApi(object):
268
268
 
269
269
  return deploys
270
270
 
271
+ def create_deploy(self, asset_id, previous_commit, current_commit, branch_name, diff_content, api_key):
272
+ """create a deployment"""
273
+
274
+ url = self._conviso_graphql_client.url
275
+
276
+ operations = {
277
+ "query": mutations.CREATE_DEPLOY,
278
+ "variables": {
279
+ "assetId": asset_id,
280
+ "previousCommit": previous_commit,
281
+ "currentCommit": current_commit,
282
+ "branchName": branch_name,
283
+ "diffContent": None
284
+ }
285
+ }
286
+
287
+ file_map = {
288
+ "0": ["variables.diffContent"]
289
+ }
290
+
291
+ with open(diff_content, 'rb') as diff_content_data:
292
+ files = {
293
+ 'operations': (None, json.dumps(operations), 'application/json'),
294
+ 'map': (None, json.dumps(file_map), 'application/json'),
295
+ '0': (diff_content, diff_content_data, 'application/octet-stream')
296
+ }
297
+
298
+ headers = {
299
+ 'x-api-key': f'{api_key}',
300
+ "User-Agent": "AST:{version}".format(version=__version__)
301
+ }
302
+
303
+ response = requests.post(url, files=files, headers=headers)
304
+
305
+ response.raise_for_status()
306
+ json_response = response.json()
307
+
308
+ self._handle_graphql_errors(json_response)
309
+
310
+ return json_response.get('data')
311
+
312
+ # TODO: extract
313
+ @staticmethod
314
+ def _handle_graphql_errors(json_response):
315
+ """ Handle GraphQL errors """
316
+ if 'errors' in json_response:
317
+ errors = json_response['errors']
318
+ for error in errors:
319
+ print(f"GraphQL Error: {error.get('message')}")
320
+ raise Exception("GraphQL request failed with errors.")
321
+
271
322
 
272
323
  class SbomApi(object):
273
324
  """ Class for sbom file resources """
@@ -128,4 +128,28 @@ mutation (
128
128
  success
129
129
  }
130
130
  }
131
- """
131
+ """
132
+
133
+ CREATE_DEPLOY = """
134
+ mutation (
135
+ $assetId: ID!,
136
+ $previousCommit: String!,
137
+ $currentCommit: String!,
138
+ $branchName: String,
139
+ $diffContent: Upload!
140
+ ) {
141
+ createDeploy(
142
+ input: {
143
+ assetId: $assetId,
144
+ previousCommit: $previousCommit,
145
+ currentCommit: $currentCommit,
146
+ branchName: $branchName,
147
+ diffContent: $diffContent
148
+ }
149
+ ) {
150
+ deploy {
151
+ id
152
+ }
153
+ }
154
+ }
155
+ """
@@ -66,7 +66,12 @@ class GitAdapter(object):
66
66
  arcname = os.path.relpath(file_path, self._repo.working_dir)
67
67
  zipf.write(file_path, arcname)
68
68
 
69
- print(f"Zipped .git folder to {output_folder}")
69
+ return output_folder
70
+
71
+ def get_branch_name(self):
72
+ """retrieves the branch name"""
73
+ return self._repo.active_branch.name
74
+
70
75
 
71
76
  def get_commit_history(self):
72
77
  """
@@ -11,6 +11,8 @@ from convisoappsec.flowcli.iac import iac
11
11
  from convisoappsec.flowcli.vulnerability import vulnerability
12
12
  from convisoappsec.logger import LOGGER
13
13
  from copy import deepcopy as clone
14
+ from convisoappsec.flow import GitAdapter
15
+ from convisoappsec.flowcli.context import pass_flow_context
14
16
 
15
17
 
16
18
  def get_default_params_values(cmd_params):
@@ -120,6 +122,7 @@ def perform_vulnerabilities_service(context) -> None:
120
122
  "deploy_id": context.obj.deploy['id'],
121
123
  "start_commit": context.obj.deploy['previous_commit'],
122
124
  "end_commit": context.obj.deploy['current_commit'],
125
+ "company_id": context.params['company_id']
123
126
  }
124
127
  context.params.update(specific_params)
125
128
  context.params = parse_params(context.params, auto_close_run.params)
@@ -131,11 +134,12 @@ def perform_vulnerabilities_service(context) -> None:
131
134
  raise click.ClickException(str(err)) from err
132
135
 
133
136
 
134
- def perform_deploy(context):
137
+ def perform_deploy(context, flow_context, prepared_context):
135
138
  """Setup and runs the "deploy create with values" command.
136
139
 
137
140
  Args:
138
141
  context (<class 'click.core.Context'>): clonned context
142
+ flow_context:
139
143
 
140
144
  Returns:
141
145
  dict: deploy
@@ -154,6 +158,28 @@ def perform_deploy(context):
154
158
  try:
155
159
  LOGGER.info("Creating new deploy...")
156
160
  created_deploy = values.invoke(context)
161
+ try:
162
+
163
+ conviso_api = flow_context.create_conviso_graphql_client()
164
+ api_key = flow_context.key
165
+ git_adapter = GitAdapter(context.params['repository_dir'])
166
+ zipped_file = git_adapter.zip_git_folder()
167
+ branch_name = git_adapter.get_branch_name()
168
+
169
+ response = conviso_api.deploys.create_deploy(
170
+ asset_id=prepared_context.params['asset_id'],
171
+ previous_commit=created_deploy['previous_commit'],
172
+ current_commit=created_deploy['current_commit'],
173
+ branch_name=branch_name,
174
+ diff_content=zipped_file,
175
+ api_key=api_key
176
+ )
177
+
178
+ response_deploy_id = response['createDeploy']['deploy']['id']
179
+ deploy_id = { "deploy_id": response_deploy_id }
180
+ created_deploy.update(deploy_id)
181
+ except:
182
+ pass
157
183
 
158
184
  if created_deploy:
159
185
  return created_deploy
@@ -232,16 +258,18 @@ def perform_deploy(context):
232
258
  help="Enable auto fixing vulnerabilities on cp.",
233
259
  )
234
260
  @help_option
261
+ @pass_flow_context
235
262
  @pass_create_context
236
263
  @click.pass_context
237
- def run(context, create_context, **kwargs):
264
+ def run(context, create_context, flow_context, **kwargs):
238
265
  """ AST - Application Security Testing. Unifies deploy issue, SAST and SCA analyses. """
239
266
  try:
240
267
  prepared_context = RequirementsVerifier.prepare_context(clone(context), from_ast=True)
241
268
  try:
242
- prepared_context.obj.deploy = perform_deploy(clone(prepared_context))
269
+ prepared_context.obj.deploy = perform_deploy(clone(prepared_context), flow_context, prepared_context)
243
270
  except:
244
271
  return
272
+
245
273
  perform_sast(clone(prepared_context))
246
274
  perform_sca(clone(prepared_context))
247
275
  perform_iac(clone(prepared_context))
@@ -142,8 +142,8 @@ def run(context, flow_context, project_code, asset_id, company_id, end_commit, s
142
142
 
143
143
  context.params['company_id'] = context.params.get('company_id') or company_id
144
144
 
145
- if not context.params['company_id']:
146
- log_func("Invalid company_id: {company_id}. Exiting.".format(company_id=company_id))
145
+ if context.params['company_id'] is None:
146
+ log_func(f"Invalid company_id: {company_id}. Exiting.")
147
147
  return
148
148
 
149
149
  if not from_ast:
@@ -0,0 +1 @@
1
+ __version__ = '2.2.12-dev.0'
@@ -1 +0,0 @@
1
- __version__ = '2.2.11-rc.0'