Blueのプロジェクトは、ユーザーとデータを整理するための基本的なフレームワークを形成します。
すべてのプロジェクトをリストする
projectList
クエリを使用すると、強力なフィルタリング、ソート、およびページネーションオプションを使用してプロジェクトを取得できます。
基本的な例
query ProjectListQuery {
projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
items {
id
uid
slug
name
description
archived
color
icon
createdAt
updatedAt
allowNotification
position
unseenActivityCount
todoListsMaxPosition
lastAccessedAt
isTemplate
automationsCount
totalFileCount
totalFileSize
todoAlias
}
pageInfo {
totalPages
totalItems
page
perPage
hasNextPage
hasPreviousPage
}
}
}
フィルタリングとソートを使用した高度な例
query FilteredProjectList {
projectList(
filter: {
companyIds: ["company-123", "company-456"]
archived: false
isTemplate: false
search: "marketing"
inProject: true
folderId: null # Get root-level projects only
}
sort: [position_ASC, name_ASC]
skip: 0
take: 50
) {
items {
id
name
slug
position
archived
}
totalCount
pageInfo {
totalItems
hasNextPage
}
}
}
プロジェクトフィールド
以下の表は、ProjectListQuery
内の各プロジェクトのすべての利用可能なフィールドを説明しています:
フィールド | タイプ | 説明 |
---|---|---|
id | ID! | プロジェクトのユニーク識別子 |
uid | String! | ユーザーフレンドリーなプロジェクトのユニーク識別子 |
slug | String! | URLフレンドリーなプロジェクト名 |
name | String! | プロジェクトの表示名 |
description | String | プロジェクトの簡単な説明 |
archived | Boolean | プロジェクトがアーカイブされているかどうかを示すブール値 |
color | String | 視覚的識別のためにプロジェクトに関連付けられた色 |
icon | String | 視覚的識別のためにプロジェクトに関連付けられたアイコン |
image | Image | プロジェクトのカバー画像オブジェクト |
createdAt | DateTime! | プロジェクトが作成されたタイムスタンプ |
updatedAt | DateTime! | プロジェクトが最後に更新されたタイムスタンプ |
allowNotification | Boolean! | プロジェクトに通知が有効かどうかを示すブール値 |
position | Float! | リスト内のプロジェクトの位置を表す数値 |
unseenActivityCount | Int! | プロジェクト内の未確認のアクティビティの数 |
todoListsMaxPosition | Float! | プロジェクト内のtodoリストの最大位置値 |
lastAccessedAt | DateTime | プロジェクトが最後にアクセスされたタイムスタンプ |
isTemplate | Boolean! | プロジェクトがテンプレートであるかどうかを示すブール値 |
isOfficialTemplate | Boolean! | これは公式のBlueテンプレートであるかどうかを示すブール値 |
automationsCount(isActive: Boolean) | Int! | プロジェクトに関連付けられた自動化の数 |
totalFileCount | Int | プロジェクト内のファイルの総数 |
totalFileSize | Float | プロジェクト内のすべてのファイルの合計サイズ(バイト単位) |
todoAlias | String | プロジェクトで使用される「todo」のカスタムエイリアス |
category | ProjectCategory! | プロジェクトカテゴリ(CRM、マーケティングなど) |
hideEmailFromRoles | [UserAccessLevel!] | メールアドレスを隠すべき役割の配列 |
hideStatusUpdate | Boolean | ステータス更新を隠すためのブール値 |
company | Company! | 会社オブジェクトの詳細 |
accessLevel(userId: String) | UserAccessLevel | 特定のプロジェクトに対するユーザーのアクセスレベルを取得 |
folder | Folder | このプロジェクトを含むフォルダー |
features | [ProjectFeature!] | 有効なプロジェクト機能の配列 |
sequenceCustomField | CustomField | シーケンス番号付けに使用されるカスタムフィールド |
coverConfig | TodoCoverConfig | todoカバー画像の設定 |
hideRecordCount | Boolean | レコード数を隠すかどうか |
showTimeSpentInTodoList | Boolean | todoリストでの時間を表示するかどうか |
showTimeSpentInProject | Boolean | プロジェクトでの時間を表示するかどうか |
todoFields | [TodoField] | カスタムtodoフィールド定義 |
注意: GraphQLクエリでこれらのフィールドの任意の組み合わせをリクエストできます。
ページネーションフィールド
pageInfo
オブジェクトは、クエリ結果のページネーションの詳細を提供します:
フィールド | タイプ | 説明 |
---|---|---|
totalPages | Int | 結果のページの総数 |
totalItems | Int | クエリに一致するプロジェクトの総数 |
page | Int | 現在のページ番号 |
perPage | Int | ページあたりのアイテム数 |
hasNextPage | Boolean! | 次のページの結果があるかどうかを示すブール値 |
hasPreviousPage | Boolean! | 前のページの結果があるかどうかを示すブール値 |
クエリパラメータ
フィルターオプション (ProjectListFilter)
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
companyIds |
[String!]! | ✅ はい | 検索対象の会社IDまたはスラグの配列 |
ids |
[String!] | いいえ | 特定のプロジェクトIDでフィルタリング |
archived |
Boolean | いいえ | アーカイブ状態でフィルタリング(true/false) |
isTemplate |
Boolean | いいえ | テンプレートプロジェクトでフィルタリング(true/false) |
search |
String | いいえ | 名前でプロジェクトを検索(大文字と小文字を区別しない) |
folderId |
String | いいえ | フォルダーIDでフィルタリング。ルートレベルのプロジェクトには null を使用 |
inProject |
Boolean | いいえ | ユーザーのメンバーシップでフィルタリング。以下の注意を参照 |
inProject
フィルターに関する注意:
true
またはundefined
: ユーザーがメンバーであるプロジェクトを返しますfalse
: ユーザーが含まれていないプロジェクトを返します(会社のオーナー権限が必要)- フォルダーフィルタリング(
folderId
)は、inProject
がfalse
でない場合にのみ機能します
ソートオプション (ProjectSort)
値 | 説明 |
---|---|
id_ASC |
IDの昇順でソート |
id_DESC |
IDの降順でソート |
name_ASC |
名前の昇順でソート(A-Z) |
name_DESC |
名前の降順でソート(Z-A) |
createdAt_ASC |
作成日でソート(古い順) |
createdAt_DESC |
作成日でソート(新しい順) |
updatedAt_ASC |
最終更新でソート(古い順) |
updatedAt_DESC |
最終更新でソート(新しい順) |
position_ASC |
位置の昇順でソート* |
position_DESC |
位置の降順でソート* |
*位置のソートは、ユーザーがメンバーであるプロジェクトを表示している場合にのみ利用可能です(inProject !== false
)
ページネーションパラメータ
パラメータ | タイプ | デフォルト | 説明 |
---|---|---|---|
skip |
Int | 0 | スキップするレコードの数 |
take |
Int | 20 | 返すレコードの数 |
重要な注意事項
-
非メンバーのプロジェクトに対するデフォルトの動作 (
inProject: false
):archived
フィルターが明示的に設定されていない限り、アーカイブされたプロジェクトは除外されますisTemplate
フィルターが明示的に設定されていない限り、テンプレートプロジェクトは除外されます
-
フォルダーフィルタリングの制限:
- ユーザーのプロジェクトを表示している場合にのみ機能します
inProject: false
と一緒に使用することはできませんfolderId: null
を使用して、どのフォルダーにも含まれないプロジェクトを取得します
-
ソートのフォールバック:
- 非メンバーのプロジェクトを表示している場合、位置のソートは無視されます
- その場合、名前のソートにフォールバックします
-
非推奨のパラメータ:
orderBy
、after
、before
、first
、last
は非推奨ですsort
、skip
、およびtake
を代わりに使用してください