ケースの検索とフィルタリング🔗
Secureworks® Taegis™ XDR 詳細検索で使用されるものと同じクエリ構文である、Casesクエリ言語を使用してケースを検索します。
ケースの検索🔗
タイトル、重大度、ステータス、日付などで利用可能なケースをクエリします。
クエリ🔗
query searchCases($arguments: CasesArguments!) {
cases(arguments: $arguments) {
cases {
id
shortId
title
severity
type {
id
name
}
primaryStatus {
id
name
}
tags
assigneeId
createdAt
updatedAt
}
totalCount
pageInfo {
startCursor
endCursor
hasNextPage
hasPreviousPage
}
}
}
変数🔗
クエリで検索します。
{
"arguments": {
"query": "title contains 'suspicious login'",
"pagination": {
"offset": {
"page": 1,
"perPage": 20
}
}
}
}
クエリ構文🔗
基本的なクエリ構造🔗
where キーワードは省略可能です。
検索可能なフィールド🔗
| Field | Type | Description |
|---|---|---|
id |
UUID | ケースID |
shortId |
String | 人が判読しやすいID(例: CSE00001) |
title |
String | ケースタイトル |
severity |
Number | 重大度: 2、4、6、8、10 |
riskScore |
Number | リスクスコア値 |
tags |
Array | ケースタグ |
assigneeId |
String | 割り当てられたユーザーまたはチーム |
createdAt |
Timestamp | 作成時刻 |
updatedAt |
Timestamp | 最終更新時刻 |
closedAt |
Timestamp | クローズ時刻(オープンの場合は null) |
closeReason |
String | ケースがクローズされたときに指定された理由 |
archivedAt |
Timestamp | アーカイブ時刻(アーカイブされていない場合は null) |
managedBy |
String | PROVIDER または CUSTOMER |
typeId |
UUID | ケースタイプID |
primaryStatusId |
UUID | プライマリステータスID |
演算子🔗
| Operator | Example |
|---|---|
= |
shortId = 'CSE00001' |
!= |
severity != 2 |
contains |
title contains 'phishing' |
!contains |
title !contains 'Draft' |
in (...) |
primaryStatusId in ('uuid1', 'uuid2') |
is null |
closedAt is null |
is not null |
closedAt is not null |
論理演算子🔗
条件は AND で組み合わせます。
文字列値🔗
文字列は単一引用符で囲みます。
配列フィールド(tags)🔗
tags に特定の値が含まれるケースを照合します。
ソート🔗
| sort 演算子で結果を並べ替えます。
デフォルトのソートは createdAt DESC(新しいものが先)です。
時間範囲🔗
ISO 8601 タイムスタンプを使用して日付範囲でフィルタリングします。
クエリの例🔗
オープンな重大ケースを検索🔗
{
"arguments": {
"query": "severity = 10 AND closedAt is null",
"pagination": {"offset": {"page": 1, "perPage": 20}}
}
}
タイトルで検索🔗
{
"arguments": {
"query": "title contains 'ransomware'",
"pagination": {"offset": {"page": 1, "perPage": 50}}
}
}
タグでフィルタリング🔗
{
"arguments": {
"query": "tags contains 'malware' AND severity >= 6",
"pagination": {"offset": {"page": 1, "perPage": 20}}
}
}
最近更新されたケースを検索🔗
{
"arguments": {
"query": "updatedAt >= '2024-08-14T00:00:00Z' | sort updatedAt desc",
"pagination": {"offset": {"page": 1, "perPage": 20}}
}
}
特定のユーザーに割り当て済み🔗
{
"arguments": {
"query": "assigneeId = '@customer'",
"pagination": {"offset": {"page": 1, "perPage": 20}}
}
}
ページネーション🔗
オフセット(ページベース)とカーソルベースの両方のページネーションがサポートされています。
オフセットページネーション🔗
page: 1始まりのページ番号(デフォルト: 1)perPage: 1ページあたりの結果数、最大100(デフォルト: 20)
カーソルページネーション🔗
first: 順方向のページサイズ、最大100(デフォルト: 20)after: 前のページのendCursorのカーソル
逆方向にたどるには last と before を使用します。
重要な注意事項🔗
- 現時点では名前による検索はできません: 名前ではなくID(例:
primaryStatusId、typeId)でフィルタリングする必要があります。フィルタリング用のIDを取得するには、まずcaseTypesとcasePrimaryStatusesをクエリしてください。 - 空のクエリ: すべてのケースを取得するには
queryを省略します(デフォルトのソート: 新しいものが先)。 - デフォルトのページネーション:
paginationを省略した場合、デフォルトでページ1、結果20件になります。 - カーソル文字列は不透明です: カーソル値を解析しないでください。そのまま使用してください。
次のステップ🔗
詳細については、Cases GraphQL API の使用を開始する を参照してください。