Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions cortexapps_cli/commands/integrations.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import typer
from typing_extensions import Annotated

from cortexapps_cli.command_options import ListCommandOptions
from cortexapps_cli.utils import print_output_with_context

import cortexapps_cli.commands.integrations_commands.apiiro as apiiro
import cortexapps_cli.commands.integrations_commands.argocd as argocd
import cortexapps_cli.commands.integrations_commands.aws as aws
Expand Down Expand Up @@ -101,3 +104,31 @@
app.add_typer(wiz.app, name="wiz")
app.add_typer(workday.app, name="workday")
app.add_typer(xmatters.app, name="xmatters")

@app.command()
def status(
ctx: typer.Context,
table_output: ListCommandOptions.table_output = False,
csv_output: ListCommandOptions.csv_output = False,
columns: ListCommandOptions.columns = [],
no_headers: ListCommandOptions.no_headers = False,
filters: ListCommandOptions.filters = [],
sort: ListCommandOptions.sort = [],
):
"""
List all installed integrations and their connection status
"""

client = ctx.obj["client"]

if (table_output or csv_output) and not ctx.params.get('columns'):
ctx.params['columns'] = [
"Type=integrationType",
"Alias=alias",
"Status=validation.status",
"LastValidatedAt=validation.lastValidatedAt",
"Message=validation.message",
]

r = client.get("api/v1/integrations/status")
print_output_with_context(ctx, r)
7 changes: 7 additions & 0 deletions tests/test_integrations_status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from tests.helpers.utils import *

@responses.activate
def test_integrations_status():
responses.add(responses.GET, os.getenv("CORTEX_BASE_URL") + "/api/v1/integrations/status", json={"integrations": []}, status=200)
result = cli(["integrations", "status"])
assert "integrations" in result
Loading