Skip to content

Commit f8e425c

Browse files
devin-ai-integration[bot]pnilanoctavia-squidington-iii
authored
feat: source-incident-io: use incident_roles v2 + add escalations stream (#74072)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: patrick.nilan@airbyte.io <patrick.nilan@airbyte.io> Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
1 parent b436a37 commit f8e425c

File tree

3 files changed

+300
-2
lines changed

3 files changed

+300
-2
lines changed

airbyte-integrations/connectors/source-incident-io/manifest.yaml

Lines changed: 298 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ definitions:
113113
type: SimpleRetriever
114114
requester:
115115
$ref: "#/definitions/base_requester"
116-
path: /v1/incident_roles
116+
path: /v2/incident_roles
117117
http_method: GET
118118
record_selector:
119119
type: RecordSelector
@@ -389,6 +389,42 @@ definitions:
389389
type: InlineSchemaLoader
390390
schema:
391391
$ref: "#/schemas/alerts"
392+
escalations:
393+
type: DeclarativeStream
394+
name: escalations
395+
primary_key:
396+
- id
397+
retriever:
398+
type: SimpleRetriever
399+
requester:
400+
$ref: "#/definitions/base_requester"
401+
path: /v2/escalations
402+
http_method: GET
403+
record_selector:
404+
type: RecordSelector
405+
extractor:
406+
type: DpathExtractor
407+
field_path:
408+
- escalations
409+
paginator:
410+
type: DefaultPaginator
411+
page_token_option:
412+
type: RequestOption
413+
field_name: after
414+
inject_into: request_parameter
415+
page_size_option:
416+
type: RequestOption
417+
field_name: page_size
418+
inject_into: request_parameter
419+
pagination_strategy:
420+
type: CursorPagination
421+
page_size: 25
422+
cursor_value: "{{ response.get('pagination_meta', {}).get('after') }}"
423+
stop_condition: "{{ response.get('pagination_meta', {}).get('after') is none }}"
424+
schema_loader:
425+
type: InlineSchemaLoader
426+
schema:
427+
$ref: "#/schemas/escalations"
392428
base_requester:
393429
type: HttpRequester
394430
url_base: https://api.incident.io
@@ -411,6 +447,7 @@ streams:
411447
- $ref: "#/definitions/streams/schedules"
412448
- $ref: "#/definitions/streams/incidents"
413449
- $ref: "#/definitions/streams/alerts"
450+
- $ref: "#/definitions/streams/escalations"
414451

415452
spec:
416453
type: Spec
@@ -445,6 +482,7 @@ metadata:
445482
schedules: false
446483
incidents: true
447484
alerts: true
485+
escalations: true
448486
testedStreams:
449487
actions:
450488
streamHash: 66bd85de048e14ed758adfad4f83d9ab9ef62b7e
@@ -1873,3 +1911,262 @@ schemas:
18731911
- "null"
18741912
required:
18751913
- id
1914+
escalations:
1915+
type: object
1916+
$schema: http://json-schema.org/schema#
1917+
additionalProperties: true
1918+
properties:
1919+
created_at:
1920+
type:
1921+
- string
1922+
- "null"
1923+
creator:
1924+
type:
1925+
- object
1926+
- "null"
1927+
additionalProperties: true
1928+
properties:
1929+
alert:
1930+
type:
1931+
- object
1932+
- "null"
1933+
additionalProperties: true
1934+
properties:
1935+
id:
1936+
type:
1937+
- string
1938+
- "null"
1939+
title:
1940+
type:
1941+
- string
1942+
- "null"
1943+
user:
1944+
type:
1945+
- object
1946+
- "null"
1947+
additionalProperties: true
1948+
properties:
1949+
email:
1950+
type:
1951+
- string
1952+
- "null"
1953+
id:
1954+
type:
1955+
- string
1956+
- "null"
1957+
name:
1958+
type:
1959+
- string
1960+
- "null"
1961+
role:
1962+
type:
1963+
- string
1964+
- "null"
1965+
slack_user_id:
1966+
type:
1967+
- string
1968+
- "null"
1969+
workflow:
1970+
type:
1971+
- object
1972+
- "null"
1973+
additionalProperties: true
1974+
properties:
1975+
id:
1976+
type:
1977+
- string
1978+
- "null"
1979+
name:
1980+
type:
1981+
- string
1982+
- "null"
1983+
escalation_path_id:
1984+
type:
1985+
- string
1986+
- "null"
1987+
events:
1988+
type:
1989+
- array
1990+
- "null"
1991+
items:
1992+
type: object
1993+
additionalProperties: true
1994+
properties:
1995+
channels:
1996+
type:
1997+
- array
1998+
- "null"
1999+
items:
2000+
type: object
2001+
additionalProperties: true
2002+
properties:
2003+
microsoft_teams_channel_id:
2004+
type:
2005+
- string
2006+
- "null"
2007+
microsoft_teams_team_id:
2008+
type:
2009+
- string
2010+
- "null"
2011+
slack_channel_id:
2012+
type:
2013+
- string
2014+
- "null"
2015+
slack_team_id:
2016+
type:
2017+
- string
2018+
- "null"
2019+
event:
2020+
type:
2021+
- string
2022+
- "null"
2023+
id:
2024+
type:
2025+
- string
2026+
- "null"
2027+
occurred_at:
2028+
type:
2029+
- string
2030+
- "null"
2031+
urgency:
2032+
type:
2033+
- string
2034+
- "null"
2035+
users:
2036+
type:
2037+
- array
2038+
- "null"
2039+
items:
2040+
type: object
2041+
additionalProperties: true
2042+
properties:
2043+
email:
2044+
type:
2045+
- string
2046+
- "null"
2047+
id:
2048+
type:
2049+
- string
2050+
- "null"
2051+
name:
2052+
type:
2053+
- string
2054+
- "null"
2055+
role:
2056+
type:
2057+
- string
2058+
- "null"
2059+
slack_user_id:
2060+
type:
2061+
- string
2062+
- "null"
2063+
id:
2064+
type: string
2065+
priority:
2066+
type:
2067+
- object
2068+
- "null"
2069+
additionalProperties: true
2070+
properties:
2071+
name:
2072+
type:
2073+
- string
2074+
- "null"
2075+
related_alerts:
2076+
type:
2077+
- array
2078+
- "null"
2079+
items:
2080+
type: object
2081+
additionalProperties: true
2082+
properties:
2083+
alert_source_id:
2084+
type:
2085+
- string
2086+
- "null"
2087+
created_at:
2088+
type:
2089+
- string
2090+
- "null"
2091+
deduplication_key:
2092+
type:
2093+
- string
2094+
- "null"
2095+
description:
2096+
type:
2097+
- string
2098+
- "null"
2099+
id:
2100+
type:
2101+
- string
2102+
- "null"
2103+
resolved_at:
2104+
type:
2105+
- string
2106+
- "null"
2107+
source_url:
2108+
type:
2109+
- string
2110+
- "null"
2111+
status:
2112+
type:
2113+
- string
2114+
- "null"
2115+
title:
2116+
type:
2117+
- string
2118+
- "null"
2119+
updated_at:
2120+
type:
2121+
- string
2122+
- "null"
2123+
related_incidents:
2124+
type:
2125+
- array
2126+
- "null"
2127+
items:
2128+
type: object
2129+
additionalProperties: true
2130+
properties:
2131+
external_id:
2132+
type:
2133+
- integer
2134+
- "null"
2135+
id:
2136+
type:
2137+
- string
2138+
- "null"
2139+
name:
2140+
type:
2141+
- string
2142+
- "null"
2143+
reference:
2144+
type:
2145+
- string
2146+
- "null"
2147+
status_category:
2148+
type:
2149+
- string
2150+
- "null"
2151+
summary:
2152+
type:
2153+
- string
2154+
- "null"
2155+
visibility:
2156+
type:
2157+
- string
2158+
- "null"
2159+
status:
2160+
type:
2161+
- string
2162+
- "null"
2163+
title:
2164+
type:
2165+
- string
2166+
- "null"
2167+
updated_at:
2168+
type:
2169+
- string
2170+
- "null"
2171+
required:
2172+
- id

airbyte-integrations/connectors/source-incident-io/metadata.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ data:
1717
connectorSubtype: api
1818
connectorType: source
1919
definitionId: 7926da90-399e-4f9f-9833-52d8dc3fcb29
20-
dockerImageTag: 0.1.20
20+
dockerImageTag: 0.1.21
2121
dockerRepository: airbyte/source-incident-io
2222
githubIssueLabel: source-incident-io
2323
icon: icon.svg

docs/integrations/sources/incident-io.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ The source connector supports the following [sync modes](https://docs.airbyte.co
5555

5656
| Version | Date | Pull Request | Subject |
5757
|---------|-------------------|--------------|----------------|
58+
| 0.1.21 | 2026-02-26 | [74072](https://github.com/airbytehq/airbyte/pull/74072) | feat: source-incident-io: use incident_roles v2 + add escalations stream |
5859
| 0.1.20 | 2026-02-24 | [73520](https://github.com/airbytehq/airbyte/pull/73520) | Update dependencies |
5960
| 0.1.19 | 2026-02-10 | [73089](https://github.com/airbytehq/airbyte/pull/73089) | Update dependencies |
6061
| 0.1.18 | 2026-02-03 | [72760](https://github.com/airbytehq/airbyte/pull/72760) | Update dependencies |

0 commit comments

Comments
 (0)