Umiejętność: Wyświetlanie wszystkich projektów w portfolio
Wyświetlenie projektów w portfolio składa się z dwóch etapów. W jednym zapytaniu możesz pobrać nazwy projektów i podstawowe metadane, takie jak kondycja, status i właściciel. Aby ustalić identyfikator tablicy zadań dla każdego projektu, potrzebne są dodatkowe kroki.
Ten poradnik opisuje oba etapy.
Krok 1 - Wyświetl wszystkie elementy portfolio
Wykonaj zapytanie do tablicy portfolio, aby pobrać elementy projektów wraz z metadanymi:
{
boards(ids: [PORTFOLIO_BOARD_ID]) {
items_page(limit: 50) {
cursor
items {
id
name
column_values(ids: [
"portfolio_project_rag",
"portfolio_project_step",
"portfolio_project_priority",
"portfolio_project_owner",
"portfolio_project_planned_timeline"
]) {
id
type
text
}
}
}
}
}
Zapytanie zwraca wszystkie projekty wraz z informacjami o ich kondycji, etapie, priorytecie, właścicielu i osi czasu. Jeśli portfolio zawiera więcej niż 50 projektów, użyj stronicowania opartego na kursorze.
📘 Uwaga
Jeśli potrzebujesz tylko nazw projektów i ich statusów, a nie identyfikatorów tablic zadań, wystarczy ten krok.
Krok 2 - Pobierz identyfikatory tablic zadań
Kolumna portfolio_project_link (typu board_relation) łączy każdy element portfolio z tablicą zadań. Identyfikatory połączonych tablic są przechowywane w kolumnie settings_str:
{
boards(ids: [PORTFOLIO_BOARD_ID]) {
columns {
id
title
type
settings_str
}
}
}
Odczytaj settings_str dla kolumny o id: "portfolio_project_link":
{"boardIds": [TASKS_BOARD_ID_1, TASKS_BOARD_ID_2, ...]}
W ten sposób uzyskasz wszystkie identyfikatory tablic zadań połączonych z portfolio, ale nie dowiesz się, która tablica należy do którego elementu projektu.
Krok 3 - Dopasuj każdy projekt do jego tablicy zadań
Aby powiązać każdy element portfolio z konkretnym identyfikatorem tablicy zadań, użyj linked_items dla każdego identyfikatora tablicy zadań:
{
boards(ids: [PORTFOLIO_BOARD_ID]) {
items_page(limit: 50) {
items {
id
name
linked_items(
link_to_item_column_id: "portfolio_project_link",
linked_board_id: TASKS_BOARD_ID
) {
id
name
board { id name }
}
}
}
}
}
Wykonaj to zapytanie osobno dla każdego identyfikatora tablicy zadań z kroku 2. Elementy, dla których linked_items zwraca wynik z danym linked_board_id, są powiązane z tą tablicą zadań.
Podsumowanie całego procesu
- Pobierz elementy portfolio → nazwy projektów i metadane
- Pobierz kolumny tablicy portfolio → odczytaj
portfolio_project_link.settings_str→ identyfikatory tablic zadań - Dla każdego identyfikatora tablicy zadań → pobierz
linked_items→ dopasuj element portfolio do tablicy zadań
Ważne informacje
- Wartość kolumny
portfolio_project_linkjest pusta (null) w elementach portfolio - identyfikatory tablic są dostępne tylko przezsettings_str, a nie w wartościach kolumn poszczególnych elementów. - Liczba zapytań
linked_itemsw kroku 3 jest równa liczbie projektów w portfolio. W miarę możliwości łącz zapytania w partie.