From 8a2d7471a39ee5aae1491b6bac92fa7802730b57 Mon Sep 17 00:00:00 2001 From: rishisulakhe Date: Mon, 14 Oct 2024 14:43:48 +0530 Subject: [PATCH] docs(providers): Added documentation for missing providers (#2167) Signed-off-by: Matvey Kukuy Signed-off-by: rishisulakhe Co-authored-by: Tal Co-authored-by: Matvey Kukuy --- docs/mint.json | 169 ++++++++++-------- docs/package-lock.json | 11 +- .../documentation/auth0-provider.mdx | 56 ++++++ .../providers/documentation/bash-provider.mdx | 47 +++++ .../documentation/bigquery-provider.mdx | 47 +++++ .../documentation/dynatrace-provider.mdx | 48 +++++ .../documentation/github-provider.mdx | 50 ++++++ docs/providers/documentation/gke-provider.mdx | 48 +++++ .../documentation/kafka-provider.mdx | 58 ++++++ .../providers/documentation/keep-provider.mdx | 42 +++++ .../documentation/parseable-provider.mdx | 46 +++++ .../documentation/prometheus-provider.mdx | 47 +++++ .../documentation/python-provider.mdx | 48 +++++ .../documentation/service-now-provider.mdx | 50 ++++++ docs/providers/overview.mdx | 96 ++++++++++ scripts/docs_get_providers_list.py | 13 +- 16 files changed, 781 insertions(+), 95 deletions(-) create mode 100644 docs/providers/documentation/auth0-provider.mdx create mode 100644 docs/providers/documentation/bash-provider.mdx create mode 100644 docs/providers/documentation/bigquery-provider.mdx create mode 100644 docs/providers/documentation/dynatrace-provider.mdx create mode 100644 docs/providers/documentation/github-provider.mdx create mode 100644 docs/providers/documentation/gke-provider.mdx create mode 100644 docs/providers/documentation/kafka-provider.mdx create mode 100644 docs/providers/documentation/keep-provider.mdx create mode 100644 docs/providers/documentation/parseable-provider.mdx create mode 100644 docs/providers/documentation/prometheus-provider.mdx create mode 100644 docs/providers/documentation/python-provider.mdx create mode 100644 docs/providers/documentation/service-now-provider.mdx diff --git a/docs/mint.json b/docs/mint.json index d1518d4dd..2504bd46e 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -107,84 +107,97 @@ { "group": "Supported Providers", "pages": [ - "providers/documentation/aks-provider", - "providers/documentation/appdynamics-provider", - "providers/documentation/axiom-provider", - "providers/documentation/azuremonitoring-provider", - "providers/documentation/centreon-provider", - "providers/documentation/clickhouse-provider", - "providers/documentation/cloudwatch-provider", - "providers/documentation/console-provider", - "providers/documentation/coralogix-provider", - "providers/documentation/datadog-provider", - "providers/documentation/discord-provider", - "providers/documentation/elastic-provider", - "providers/documentation/gcpmonitoring-provider", - "providers/documentation/github_workflows_provider", - "providers/documentation/gitlab-provider", - "providers/documentation/gitlabpipelines-provider", - "providers/documentation/google_chat-provider", - "providers/documentation/grafana-provider", - "providers/documentation/grafana_incident-provider", - "providers/documentation/grafana_oncall-provider", - "providers/documentation/http-provider", - "providers/documentation/ilert-provider", - "providers/documentation/incidentio-provider", - "providers/documentation/incidentmanager-provider", - "providers/documentation/jira-provider", - "providers/documentation/jira-on-prem-provider", - "providers/documentation/kibana-provider", - "providers/documentation/kubernetes-provider", - "providers/documentation/linear_provider", - "providers/documentation/linearb-provider", - "providers/documentation/mailchimp-provider", - "providers/documentation/mattermost-provider", - "providers/documentation/microsoft-planner-provider", - "providers/documentation/mock-provider", - "providers/documentation/mongodb-provider", - "providers/documentation/mysql-provider", - "providers/documentation/mailgun-provider", - "providers/documentation/netdata-provider", - "providers/documentation/new-relic-provider", - "providers/documentation/ntfy-provider", - "providers/documentation/openobserve-provider", - "providers/documentation/openshift-provider", - "providers/documentation/opsgenie-provider", - "providers/documentation/pagerduty-provider", - "providers/documentation/pagertree-provider", - "providers/documentation/pingdom-provider", - "providers/documentation/planner-provider", - "providers/documentation/postgresql-provider", - "providers/documentation/pushover-provider", - "providers/documentation/quickchart-provider", - "providers/documentation/redmine-provider", - "providers/documentation/resend-provider", - "providers/documentation/rollbar-provider", - "providers/documentation/sendgrid-provider", - "providers/documentation/sentry-provider", - "providers/documentation/signalfx-provider", - "providers/documentation/signl4-provider", - "providers/documentation/site24x7-provider", - "providers/documentation/slack-provider", - "providers/documentation/snowflake-provider", - "providers/documentation/smtp-provider", - "providers/documentation/splunk-provider", - "providers/documentation/squadcast-provider", - "providers/documentation/ssh-provider", - "providers/documentation/statuscake-provider", - "providers/documentation/sumologic-provider", - "providers/documentation/teams-provider", - "providers/documentation/telegram-provider", - "providers/documentation/template", - "providers/documentation/trello-provider", - "providers/documentation/twilio-provider", - "providers/documentation/uptimekuma-provider", - "providers/documentation/victoriametrics-provider", - "providers/documentation/webhook-provider", - "providers/documentation/websocket-provider", - "providers/documentation/zabbix-provider", - "providers/documentation/zenduty-provider" - ] + "providers/documentation/aks-provider", + "providers/documentation/appdynamics-provider", + "providers/documentation/auth0-provider", + "providers/documentation/axiom-provider", + "providers/documentation/azuremonitoring-provider", + "providers/documentation/bash-provider", + "providers/documentation/bigquery-provider", + "providers/documentation/centreon-provider", + "providers/documentation/clickhouse-provider", + "providers/documentation/cloudwatch-provider", + "providers/documentation/console-provider", + "providers/documentation/coralogix-provider", + "providers/documentation/datadog-provider", + "providers/documentation/discord-provider", + "providers/documentation/dynatrace-provider", + "providers/documentation/elastic-provider", + "providers/documentation/gcpmonitoring-provider", + "providers/documentation/github-provider", + "providers/documentation/github_workflows_provider", + "providers/documentation/gitlab-provider", + "providers/documentation/gitlabpipelines-provider", + "providers/documentation/gke-provider", + "providers/documentation/google_chat-provider", + "providers/documentation/grafana-provider", + "providers/documentation/grafana_incident-provider", + "providers/documentation/grafana_oncall-provider", + "providers/documentation/http-provider", + "providers/documentation/ilert-provider", + "providers/documentation/incidentio-provider", + "providers/documentation/incidentmanager-provider", + "providers/documentation/jira-on-prem-provider", + "providers/documentation/jira-provider", + "providers/documentation/kafka-provider", + "providers/documentation/keep-provider", + "providers/documentation/kibana-provider", + "providers/documentation/kubernetes-provider", + "providers/documentation/linear_provider", + "providers/documentation/linearb-provider", + "providers/documentation/mailchimp-provider", + "providers/documentation/mailgun-provider", + "providers/documentation/mattermost-provider", + "providers/documentation/microsoft-planner-provider", + "providers/documentation/mock-provider", + "providers/documentation/mongodb-provider", + "providers/documentation/mysql-provider", + "providers/documentation/netdata-provider", + "providers/documentation/new-relic-provider", + "providers/documentation/ntfy-provider", + "providers/documentation/openobserve-provider", + "providers/documentation/openshift-provider", + "providers/documentation/opsgenie-provider", + "providers/documentation/pagerduty-provider", + "providers/documentation/pagertree-provider", + "providers/documentation/parseable-provider", + "providers/documentation/pingdom-provider", + "providers/documentation/planner-provider", + "providers/documentation/postgresql-provider", + "providers/documentation/prometheus-provider", + "providers/documentation/pushover-provider", + "providers/documentation/python-provider", + "providers/documentation/quickchart-provider", + "providers/documentation/redmine-provider", + "providers/documentation/resend-provider", + "providers/documentation/rollbar-provider", + "providers/documentation/sendgrid-provider", + "providers/documentation/sentry-provider", + "providers/documentation/service-now-provider", + "providers/documentation/signalfx-provider", + "providers/documentation/signl4-provider", + "providers/documentation/site24x7-provider", + "providers/documentation/slack-provider", + "providers/documentation/smtp-provider", + "providers/documentation/snowflake-provider", + "providers/documentation/splunk-provider", + "providers/documentation/squadcast-provider", + "providers/documentation/ssh-provider", + "providers/documentation/statuscake-provider", + "providers/documentation/sumologic-provider", + "providers/documentation/teams-provider", + "providers/documentation/telegram-provider", + "providers/documentation/template", + "providers/documentation/trello-provider", + "providers/documentation/twilio-provider", + "providers/documentation/uptimekuma-provider", + "providers/documentation/victoriametrics-provider", + "providers/documentation/webhook-provider", + "providers/documentation/websocket-provider", + "providers/documentation/zabbix-provider", + "providers/documentation/zenduty-provider" + ] + } ] }, diff --git a/docs/package-lock.json b/docs/package-lock.json index 6ab682576..e7c2e35c8 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,6 +1,7 @@ { - "name": "docs", - "lockfileVersion": 3, - "requires": true, - "packages": {} -} + "name": "docs", + "lockfileVersion": 3, + "requires": true, + "packages": {} + } + \ No newline at end of file diff --git a/docs/providers/documentation/auth0-provider.mdx b/docs/providers/documentation/auth0-provider.mdx new file mode 100644 index 000000000..8eb53bc4e --- /dev/null +++ b/docs/providers/documentation/auth0-provider.mdx @@ -0,0 +1,56 @@ +--- +title: "Auth0" +sidebarTitle: "Auth0 Provider" +description: "Auth0 provider allows interaction with Auth0 APIs for authentication and user management." +--- + +## Inputs + +- `client_id`: str : The client ID for the Auth0 application. +- `client_secret`: str : The client secret for the Auth0 application. +- `audience`: str : The audience for the API authorization request. +- `grant_type`: str : The type of authorization grant requested (e.g., `client_credentials`). + +## Outputs + +- `access_token`: The access token issued by Auth0 for authenticated requests. +- `expires_in`: The time in seconds before the access token expires. +- `token_type`: The type of token, typically `Bearer`. + +## Authentication Parameters + +To authenticate with Auth0, the following parameters are needed: +- **client_id**: The unique identifier for your Auth0 application. +- **client_secret**: A secret associated with your application, used for secure communication. +- **audience**: Defines the API resources you're trying to access. + +These parameters can be retrieved from your Auth0 dashboard under the application's settings. + +## Connecting with the Provider + +The Auth0 provider connects to both the **Authentication API** and the **Management API**, enabling functionality such as token-based authentication and user management. Depending on your needs, you can: +- Use the **Authentication API** to obtain access tokens, manage user profiles, or handle multi-factor authentication. +- Use the **Management API** to automate the configuration of your Auth0 environment, register applications, manage users, and more. + +## Example of usage + +```yaml +workflow: + id: auth0-example + description: Auth0 example + triggers: + - type: manual + actions: + - name: auth0 + provider: + type: auth0 + config: "{{ providers.auth0config }}" + with: + client_id: "{{ secrets.auth0_client_id }}" + client_secret: "{{ secrets.auth0_client_secret }}" + audience: "https://api.example.com" + grant_type: "client_credentials" + +##Usefull Links +-[Auth0 API Documentation](https://auth0.com/docs/api) +-[Auth0 as an authentication method for keep](https://docs.keephq.dev/deployment/authentication/auth0-auth) \ No newline at end of file diff --git a/docs/providers/documentation/bash-provider.mdx b/docs/providers/documentation/bash-provider.mdx new file mode 100644 index 000000000..b13850a50 --- /dev/null +++ b/docs/providers/documentation/bash-provider.mdx @@ -0,0 +1,47 @@ +--- +title: "Bash" +sidebarTitle: "Bash Provider" +description: "Bash provider allows executing Bash commands in a workflow, with a limitation for cloud execution." +--- + +## Inputs + +- `script`: str : The Bash script or command to execute. + +## Outputs + +- `stdout`: The standard output from the executed Bash command. +- `stderr`: The standard error output from the executed Bash command (if any). +- `exit_code`: The exit code of the Bash command. + +## Authentication Parameters + +_None required for local execution of Bash scripts._ + +## Connecting with the Provider + +The Bash provider allows you to run Bash commands or scripts in your workflow. You can pass in any valid Bash command, and it will be executed in a local environment. + +### **Cloud Limitation** +This provider is disabled for cloud environments and can only be used in local or self-hosted environments. + +## Example of usage + +```yaml +workflow: + id: bash-example + description: Bash example + triggers: + - type: manual + actions: + - name: bash + provider: + type: bash + config: "{{ providers.bashtest }}" + with: + script: | + echo "Hello, World!" + ls -l + +## Usefull Links +-[Bash Documentation](https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html) \ No newline at end of file diff --git a/docs/providers/documentation/bigquery-provider.mdx b/docs/providers/documentation/bigquery-provider.mdx new file mode 100644 index 000000000..d3750cab8 --- /dev/null +++ b/docs/providers/documentation/bigquery-provider.mdx @@ -0,0 +1,47 @@ +--- +title: "BigQuery" +sidebarTitle: "BigQuery Provider" +description: "BigQuery provider allows interaction with Google BigQuery for querying and managing datasets." +--- + +## Inputs + +- `query`: str : The SQL query to execute against the BigQuery dataset +- `dataset`: str : The name of the dataset in BigQuery to use for the query +- `project_id`: str : The Google Cloud project ID where the BigQuery dataset is located + +## Outputs + +- `result`: The results of the executed query, returned as a list of dictionaries. + +## Authentication Parameters + +- `service_account_key`: JSON key file for the Google Cloud service account with permissions to access BigQuery. + +## Connecting with the Provider + +1. Create a Google Cloud project and enable the BigQuery API. +2. Create a service account in your Google Cloud project and download the JSON key file. +3. Share the necessary datasets with the service account. +4. Configure your provider using the `service_account_key`, `project_id`, and `dataset`. + +## Example of usage + +```yaml +workflow: + id: bigquery-example + description: BigQuery example + triggers: + - type: manual + actions: + - name: bigquery + provider: + type: bigquery + config: "{{ providers.bigquerytest }}" + with: + query: "SELECT * FROM `my_dataset.my_table` WHERE condition = 'value'" + dataset: "my_dataset" + project_id: "my_project_id" + +##Usefull Links +-[BigQuery Documentation](https://cloud.google.com/bigquery/docs) \ No newline at end of file diff --git a/docs/providers/documentation/dynatrace-provider.mdx b/docs/providers/documentation/dynatrace-provider.mdx new file mode 100644 index 000000000..3be5038c9 --- /dev/null +++ b/docs/providers/documentation/dynatrace-provider.mdx @@ -0,0 +1,48 @@ +--- +title: "Dynatrace" +sidebarTitle: "Dynatrace Provider" +description: "Dynatrace provider allows integration with Dynatrace for monitoring, alerting, and collecting metrics." +--- + +## Inputs + +- `metric_key`: str : The key of the Dynatrace metric to query. +- `time_range`: str (optional) : Time range for the query (e.g., `last30mins`, `last24hours`, etc.) +- `filters`: dict (optional) : Filters to apply to the Dynatrace query (e.g., entityId, host). + +## Outputs + +- `result`: The result of the Dynatrace metric query, returned in a JSON format. + +## Authentication Parameters + +- `api_token`: Dynatrace API token required to authenticate requests. +- `dynatrace_url`: URL of the Dynatrace environment (e.g., `https://.live.dynatrace.com`). + +## Connecting with the Provider + +1. Log in to your Dynatrace account and navigate to "Settings" → "Integration" → "Dynatrace API." +2. Generate an API token with appropriate permissions (e.g., Read metrics). +3. Get your environment's Dynatrace URL. +4. Configure the Dynatrace provider using the API token and Dynatrace URL. + +## Example of usage + +```yaml +workflow: + id: dynatrace-example + description: Dynatrace example + triggers: + - type: manual + actions: + - name: dynatrace + provider: + type: dynatrace + config: "{{ providers.dynatracetest }}" + with: + metric_key: "builtin:host.cpu.usage" + time_range: "last24hours" + filters: + entityId: "HOST-12345" +## Useful Links +-[Dynatrace API Documentation](https://docs.dynatrace.com/docs/dynatrace-api) \ No newline at end of file diff --git a/docs/providers/documentation/github-provider.mdx b/docs/providers/documentation/github-provider.mdx new file mode 100644 index 000000000..425fd09f7 --- /dev/null +++ b/docs/providers/documentation/github-provider.mdx @@ -0,0 +1,50 @@ +--- +title: "GitHub" +sidebarTitle: "GitHub Provider" +description: "GitHub provider allows integration with GitHub for managing repositories, issues, pull requests, and more." +--- + +## Inputs + +- `repo`: str : The name of the repository (e.g., `user/repo-name`) +- `action`: str : The action to perform (e.g., `create_issue`, `close_pr`) +- `issue_title`: str (optional) : The title for a new issue (required for `create_issue` action) +- `issue_body`: str (optional) : The body content for the issue (optional but recommended for `create_issue`) +- `pr_number`: int (optional) : The pull request number (required for `close_pr` action) + +## Outputs + +- `result`: The result of the GitHub API call, returned as a dictionary. + +## Authentication Parameters + +- `github_token`: A personal access token (PAT) from GitHub to authenticate API requests. + - You can generate a token at [GitHub Tokens](https://github.com/settings/tokens). + +## Connecting with the Provider + +1. Go to your GitHub account and navigate to **Settings > Developer Settings > Personal Access Tokens**. +2. Generate a token with the required permissions (e.g., `repo`, `workflow`, etc.). +3. Copy the token and provide it as `github_token` in the provider configuration. + +## Example of usage + +```yaml +workflow: + id: github-example + description: GitHub example + triggers: + - type: manual + actions: + - name: github + provider: + type: github + config: "{{ providers.githubtest }}" + with: + repo: "user/repo-name" + action: "create_issue" + issue_title: "New Issue Title" + issue_body: "Description of the issue." + +## Useful Links +-[GitHub REST API Documentation](https://docs.github.com/en/rest?apiVersion=2022-11-28) \ No newline at end of file diff --git a/docs/providers/documentation/gke-provider.mdx b/docs/providers/documentation/gke-provider.mdx new file mode 100644 index 000000000..416d6301e --- /dev/null +++ b/docs/providers/documentation/gke-provider.mdx @@ -0,0 +1,48 @@ +--- +title: "GKE" +sidebarTitle: "GKE Provider" +description: "GKE provider allows managing Google Kubernetes Engine clusters and related resources." +--- + +## Inputs + +- `cluster_name`: str : The name of the GKE cluster to manage +- `action`: str : The action to perform on the cluster (e.g., `create`, `delete`, `scale`) +- `node_count`: int (optional) : The number of nodes (used in scaling the cluster) + +## Outputs + +- `status`: The status of the action performed on the GKE cluster, returned as a response message. + +## Authentication Parameters + +- `gcp_credentials`: JSON containing Google Cloud credentials with the necessary permissions to manage GKE clusters. +- `project_id`: Google Cloud project ID where the GKE cluster is deployed. +- `zone`: The zone where the GKE cluster is hosted. + +## Connecting with the Provider + +1. Obtain Google Cloud credentials by following the steps in [Google Cloud's service account guide](https://cloud.google.com/iam/docs/creating-managing-service-account-keys). +2. Ensure your service account has the necessary permissions to manage GKE clusters (`roles/container.admin`). +3. Provide the `gcp_credentials`, `project_id`, and `zone` in your provider configuration. + +## Example of usage + +```yaml +workflow: + id: gke-example + description: GKE example + triggers: + - type: manual + actions: + - name: gke + provider: + type: gke + config: "{{ providers.gketest }}" + with: + cluster_name: "my-cluster" + action: "create" + node_count: 3 + +## Usefull Links +-[Google Kubernetes Engine Documentation](https://cloud.google.com/kubernetes-engine/docs) \ No newline at end of file diff --git a/docs/providers/documentation/kafka-provider.mdx b/docs/providers/documentation/kafka-provider.mdx new file mode 100644 index 000000000..5c41693d9 --- /dev/null +++ b/docs/providers/documentation/kafka-provider.mdx @@ -0,0 +1,58 @@ +--- +title: "Kafka" +sidebarTitle: "Kafka Provider" +description: "Kafka provider allows integration with Apache Kafka for producing and consuming messages." +--- + +## Inputs + +- `topic`: str : The Kafka topic to produce/consume messages from. +- `message`: str (optional) : The message to send to the Kafka topic when producing (not required for consuming). +- `action`: str : The action to perform (`produce` or `consume`). + +## Outputs + +- `result`: The result of the action. If consuming, this will return the message(s) from the Kafka topic. + +## Authentication Parameters + +- `kafka_broker`: The URL of the Kafka broker (e.g., `localhost:9092` or the broker's public URL). +- `kafka_client_id`: The client ID to authenticate the Kafka producer/consumer. +- `kafka_security_protocol`: (Optional) Security protocol for Kafka (e.g., `PLAINTEXT`, `SSL`, `SASL_SSL`). +- `kafka_sasl_mechanism`: (Optional) SASL mechanism for authentication (e.g., `PLAIN`, `SCRAM-SHA-256`). +- `kafka_username` & `kafka_password`: (Optional) Username and password for SASL authentication if required. + +## Connecting with the Provider + +1. Set up a Kafka broker (or use an existing one) and make sure it is accessible. +2. Get the broker URL (e.g., `localhost:9092` or a remote Kafka service URL). +3. (Optional) If using secure communication, provide the security protocol, SASL mechanism, username, and password. +4. Configure the provider with these parameters. + +## Example of usage + +```yaml +workflow: + id: kafka-example + description: Kafka example + triggers: + - type: manual + actions: + - name: kafka-produce + provider: + type: kafka + config: "{{ providers.kafkatest }}" + with: + topic: "example-topic" + action: "produce" + message: "Hello, Kafka!" + + - name: kafka-consume + provider: + type: kafka + config: "{{ providers.kafkatest }}" + with: + topic: "example-topic" + action: "consume" +## Usefull Links +-[Kafka Clients Documentation](https://kafka.apache.org/documentation/) \ No newline at end of file diff --git a/docs/providers/documentation/keep-provider.mdx b/docs/providers/documentation/keep-provider.mdx new file mode 100644 index 000000000..059bdd0a0 --- /dev/null +++ b/docs/providers/documentation/keep-provider.mdx @@ -0,0 +1,42 @@ +--- +title: "Keep" +sidebarTitle: "Keep Provider" +description: "Keep provider allows you to query and manage alerts in Keep." +--- + +## Inputs + +- `query`: str : The query to retrieve alerts based on specific criteria. +- `filter`: dict : Optional filters to narrow down the query results. + +## Outputs + +- `alerts`: list : A list of alerts that match the query criteria. + +## Authentication Parameters + +To use the Keep provider, you must authenticate with an API token associated with your Keep account. This token can be generated from your Keep dashboard. + +## Connecting with the Provider + +1. Log in to your Keep account. +2. Navigate to the API section of your account dashboard and generate an API token. +3. Use this token to authenticate when querying alerts via the Keep provider. + +## Example of usage + +```yaml +workflow: + id: keep-example + description: Keep example + triggers: + - type: manual + actions: + - name: keep-query + provider: + type: keep + config: "{{ providers.keeptest }}" + with: + query: "severity:critical" + filter: + status: "open" diff --git a/docs/providers/documentation/parseable-provider.mdx b/docs/providers/documentation/parseable-provider.mdx new file mode 100644 index 000000000..624a27cf9 --- /dev/null +++ b/docs/providers/documentation/parseable-provider.mdx @@ -0,0 +1,46 @@ +--- +title: "Parseable" +sidebarTitle: "Parseable Provider" +description: "Parseable provider allows integration with Parseable, a tool for collecting and querying logs." +--- + +## Inputs + +- log_message: str: The log message to send to Parseable +- log_level: str (optional): The log level (e.g., `info`, `error`, `warning`) + +## Outputs + +_No information yet, feel free to contribute it using the "Edit this page" link at the bottom of the page._ + +## Authentication Parameters + +- `api_key`: API key for authenticating with Parseable. +- `parseable_url`: The URL of the Parseable instance where logs will be sent. + +## Connecting with the Provider + +1. Obtain an API key from your Parseable instance. +2. Configure your provider using the `api_key` and `parseable_url`. + +## Example of usage + +```yaml +workflow: + id: parseable-example + description: Parseable example + triggers: + - type: manual + actions: + - name: parseable + provider: + type: parseable + config: "{{ providers.parseabletest }}" + with: + log_message: "This is a test log message" + log_level: "info" + + + +## Usefull Links +-[Parseable API Documentation](https://www.parseable.com/docs/api) \ No newline at end of file diff --git a/docs/providers/documentation/prometheus-provider.mdx b/docs/providers/documentation/prometheus-provider.mdx new file mode 100644 index 000000000..f4bd6e5fb --- /dev/null +++ b/docs/providers/documentation/prometheus-provider.mdx @@ -0,0 +1,47 @@ +--- +title: "Prometheus" +sidebarTitle: "Prometheus Provider" +description: "Prometheus provider allows integration with Prometheus for monitoring and alerting purposes." +--- + +## Inputs + +- `query`: str : The Prometheus query to execute +- `time_range`: str (optional) : Time range for the query in Prometheus' duration format (e.g., `1h`, `30m`) + +## Outputs + +- `result`: The result of the Prometheus query, returned in a dictionary format containing the data. + +## Authentication Parameters + +- `prometheus_url`: URL of the Prometheus server where the queries will be executed. +- `api_token`: API token for secure access to Prometheus server (optional if server is open). + +## Connecting with the Provider + +1. Set up a Prometheus server and make sure it's running. +2. Get the `prometheus_url` where your Prometheus instance is accessible. +3. (Optional) Obtain the API token from your Prometheus configuration if it's protected. +4. Provide these values in the provider configuration. + +## Example of usage + +```yaml +workflow: + id: prometheus-example + description: Prometheus example + triggers: + - type: manual + actions: + - name: prometheus + provider: + type: prometheus + config: "{{ providers.prometheustest }}" + with: + query: "up" + time_range: "1h" + +## Useful Links +-[Prometheus Querying API Documentation](https://prometheus.io/docs/prometheus/latest/querying/api/) +-[Prometheus Official Documentation](https://prometheus.io/docs/introduction/overview/) \ No newline at end of file diff --git a/docs/providers/documentation/python-provider.mdx b/docs/providers/documentation/python-provider.mdx new file mode 100644 index 000000000..fe539366b --- /dev/null +++ b/docs/providers/documentation/python-provider.mdx @@ -0,0 +1,48 @@ +--- +title: "Python" +sidebarTitle: "Python Provider" +description: "Python provider allows executing Python code snippets." +--- + +## Inputs + +- `script`: str: Python script to execute + +## Outputs + +- `result`: The output of the Python script + +## Authentication Parameters + +_None required for local execution._ + +## Limitations + +- The Python provider is currently disabled for cloud execution. This means that Python scripts cannot be executed in a cloud environment. +- Users must ensure that the scripts are compatible with the local execution environment. + +## Connecting with the Provider + +The Python provider allows you to run small Python scripts. + +## Example of usage + +```yaml +workflow: + id: python-example + description: Python example + triggers: + - type: manual + actions: + - name: python + provider: + type: python + config: "{{ providers.pythontest }}" + with: + script: | + print("Hello, world!") + + +## Usefull Links + +-[Python Documentation](https://docs.python.org/3/) \ No newline at end of file diff --git a/docs/providers/documentation/service-now-provider.mdx b/docs/providers/documentation/service-now-provider.mdx new file mode 100644 index 000000000..c51785450 --- /dev/null +++ b/docs/providers/documentation/service-now-provider.mdx @@ -0,0 +1,50 @@ +--- +title: "Service Now" +sidebarTitle: "Service Now Provider" +description: "Service Now provider allows sending notifications, updates, and retrieving topology information from the ServiceNow CMDB." +--- + +## Inputs + +- `content`: str : Message text to send as a notification or update +- `topology_query`: str (optional): A query to retrieve topology information from the ServiceNow CMDB. + +## Outputs + +- `result`: str : The result of the notification or update action. +- `topology`: dict : The topology information retrieved from the CMDB, if a topology query is provided. + +## Authentication Parameters + +The `instance_url` and `api_token` are required for connecting to the ServiceNow instance and performing any actions. + +## Connecting with the Provider + +1. Ensure that the ServiceNow instance is accessible via API. +2. Provide the necessary API credentials (`instance_url` and `api_token`) in the provider configuration. + +## Example of Usage + +```yaml +workflow: + id: service-now-example + description: Service Now example + triggers: + - type: manual + actions: + - name: service-now + provider: + type: service-now + config: "{{ providers.servicenow }}" + with: + content: "Incident update: Issue resolved" + - name: service-now-topology + provider: + type: service-now + config: "{{ providers.servicenow }}" + with: + topology_query: "SELECT * FROM cmdb_ci_server WHERE status='Active'" + + +## Useful Links +- [Service Now API documentation](https://docs.servicenow.com/bundle/xanadu-api-reference/page/build/applications/concept/api-rest.html) \ No newline at end of file diff --git a/docs/providers/overview.mdx b/docs/providers/overview.mdx index 61f5cf7ed..088806517 100644 --- a/docs/providers/overview.mdx +++ b/docs/providers/overview.mdx @@ -20,6 +20,102 @@ By leveraging Keep Providers, users are able to deeply integrate Keep with the t } > + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> + + + } +/> +