Repository navigation
Expand file tree
/
Copy pathtoolset.yml
More file actions
121 lines (114 loc) · 6.56 KB
/
Copy pathtoolset.yml
File metadata and controls
121 lines (114 loc) · 6.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
version: 0.0.1
kind: captain_toolset
name: OpenStatus.dev
author: chatwoot
category: Engineering & status
description: Check OpenStatus page status, monitors, and active incidents.
inputs:
page_slug:
label: Status page slug
placeholder: acme
required: true
secrets:
api_key:
label: OpenStatus API key
type: password
required: true
tools:
- id: get_page_status
title: Get Page Status
description: Check the overall status of the configured OpenStatus status page. Use this first when a customer reports that a service is down or slow.
http_method: POST
endpoint_url: https://api.openstatus.dev/rpc/openstatus.status_page.v1.StatusPageService/GetOverallStatus
auth_type: api_key
auth_config:
location: header
name: x-openstatus-key
key: ${{ secrets.api_key }}
request_template: '{"slug":"${{ inputs.page_slug }}"}'
response_template: |-
{% if response.overallStatus %}{% assign affected = 0 %}{% for component in response.componentStatuses %}{% unless component.status == "OVERALL_STATUS_OPERATIONAL" %}{% assign affected = affected | plus: 1 %}{% endunless %}{% endfor %}Overall status: {{ response.overallStatus | remove: "OVERALL_STATUS_" | replace: "_", " " | downcase }}
Components not operational: {{ affected }}{% else %}OpenStatus returned an unexpected response.{% endif %}
- id: list_monitors
title: List Monitors
description: List monitors in the connected OpenStatus workspace with their current status. Start with offset 0.
http_method: POST
endpoint_url: https://api.openstatus.dev/rpc/openstatus.monitor.v1.MonitorService/ListMonitors
auth_type: api_key
auth_config:
location: header
name: x-openstatus-key
key: ${{ secrets.api_key }}
param_schema:
- name: offset
type: integer
description: Number of monitors to skip, starting at 0.
required: true
request_template: '{"limit":20,"offset":{{ offset }}}'
response_template: |-
{% if response == empty %}No monitors found.{% elsif response.totalSize %}Total monitors: {{ response.totalSize }}
{% for monitor in response.httpMonitors %}- {{ monitor.name }} (HTTP, ID {{ monitor.id }}): {{ monitor.status | default: "unknown" | remove: "MONITOR_STATUS_" | downcase }}{% if monitor.active == false %}, paused{% endif %} · {{ monitor.url }}
{% endfor %}{% for monitor in response.tcpMonitors %}- {{ monitor.name }} (TCP, ID {{ monitor.id }}): {{ monitor.status | default: "unknown" | remove: "MONITOR_STATUS_" | downcase }}{% if monitor.active == false %}, paused{% endif %} · {{ monitor.uri }}
{% endfor %}{% for monitor in response.dnsMonitors %}- {{ monitor.name }} (DNS, ID {{ monitor.id }}): {{ monitor.status | default: "unknown" | remove: "MONITOR_STATUS_" | downcase }}{% if monitor.active == false %}, paused{% endif %} · {{ monitor.uri }}
{% endfor %}{% for monitor in response.icmpMonitors %}- {{ monitor.name }} (ICMP, ID {{ monitor.id }}): {{ monitor.status | default: "unknown" | remove: "MONITOR_STATUS_" | downcase }}{% if monitor.active == false %}, paused{% endif %} · {{ monitor.uri }}
{% endfor %}{% for monitor in response.grpcMonitors %}- {{ monitor.name }} (gRPC, ID {{ monitor.id }}): {{ monitor.status | default: "unknown" | remove: "MONITOR_STATUS_" | downcase }}{% if monitor.active == false %}, paused{% endif %} · {{ monitor.uri }}
{% endfor %}{% else %}OpenStatus returned an unexpected response.{% endif %}
- id: get_monitor_status
title: Get Monitor Status
description: Check the current status of an OpenStatus monitor in each region by ID.
http_method: POST
endpoint_url: https://api.openstatus.dev/rpc/openstatus.monitor.v1.MonitorService/GetMonitorStatus
auth_type: api_key
auth_config:
location: header
name: x-openstatus-key
key: ${{ secrets.api_key }}
param_schema:
- name: monitor_id
type: integer
description: The numeric OpenStatus monitor ID from List Monitors.
required: true
request_template: '{"id":"{{ monitor_id }}"}'
response_template: |-
{% if response.id %}Monitor {{ response.id }}:
{% for region in response.regions %}- {{ region.region | remove: "REGION_" | replace: "_", " " | downcase }}: {{ region.status | default: "unknown" | remove: "MONITOR_STATUS_" | downcase }}
{% else %}No regional status is available yet.
{% endfor %}{% else %}OpenStatus returned an unexpected response.{% endif %}
- id: list_active_incidents
title: List Active Incidents
description: Find OpenStatus incident reports that are not yet resolved. Use this when a customer reports a problem that may be a known incident.
http_method: POST
endpoint_url: https://api.openstatus.dev/rpc/openstatus.status_report.v1.StatusReportService/ListStatusReports
auth_type: api_key
auth_config:
location: header
name: x-openstatus-key
key: ${{ secrets.api_key }}
request_template: '{"limit":20,"offset":0,"statuses":["STATUS_REPORT_STATUS_INVESTIGATING","STATUS_REPORT_STATUS_IDENTIFIED","STATUS_REPORT_STATUS_MONITORING"]}'
response_template: |-
{% if response == empty %}No active incidents.{% elsif response.statusReports %}{% for report in response.statusReports %}- {{ report.title }} (ID {{ report.id }}): {{ report.status | remove: "STATUS_REPORT_STATUS_" | downcase }}, updated {{ report.updatedAt }}
{% endfor %}{% else %}OpenStatus returned an unexpected response.{% endif %}
- id: get_status_report
title: Get Status Report
description: Read an OpenStatus incident report and all of its updates by ID.
http_method: POST
endpoint_url: https://api.openstatus.dev/rpc/openstatus.status_report.v1.StatusReportService/GetStatusReport
auth_type: api_key
auth_config:
location: header
name: x-openstatus-key
key: ${{ secrets.api_key }}
param_schema:
- name: report_id
type: integer
description: The numeric OpenStatus status report ID from List Active Incidents.
required: true
request_template: '{"id":"{{ report_id }}"}'
response_template: |-
{% if response.statusReport %}{% assign report = response.statusReport %}{{ report.title }}
Status: {{ report.status | remove: "STATUS_REPORT_STATUS_" | downcase }}
Started: {{ report.createdAt }}
Updates:
{% for update in report.updates %}- {{ update.date }} · {{ update.status | remove: "STATUS_REPORT_STATUS_" | downcase }}: {{ update.message }}
{% else %}No updates posted yet.
{% endfor %}{% else %}OpenStatus returned an unexpected response.{% endif %}