Umiejętność: pobieranie zadań przypisanych do osoby w różnych projektach
W API monday.com nie ma zapytania obejmującego wiele tablic. Aby znaleźć wszystkie zadania przypisane do konkretnej osoby w projektach z portfolio, musisz przejść kolejno przez tablicę zadań każdego projektu i filtrować wyniki według osoby przypisanej do zadania.
Krok 1 - Pobierz identyfikatory wszystkich tablic zadań z portfolio
Wykonaj krok 2 z instrukcji List All Projects in a Portfolio, aby pobrać z kolumny portfolio_project_link identyfikatory wszystkich tablic zadań w portfolio:
{
boards(ids: [PORTFOLIO_BOARD_ID]) {
columns {
id
settings_str
}
}
}
Przeanalizuj settings_str kolumny o id: "portfolio_project_link", aby pobrać tablicę boardIds.
Krok 2 - Wykonaj zapytanie dla każdej tablicy zadań, aby pobrać przypisane elementy
Dla każdego identyfikatora tablicy zadań użyj items_page_by_column_values, aby filtrować według osoby przypisanej do zadania:
{
items_page_by_column_values(
limit: 50,
board_id: TASKS_BOARD_ID,
columns: [{ column_id: "project_owner", column_values: ["USER_ID"] }]
) {
cursor
items {
id
name
board { id name }
column_values(ids: ["project_owner", "project_dependency"]) {
id
type
text
}
}
}
}
Powtórz to zapytanie dla każdego identyfikatora tablicy. Jeśli na jednej tablicy jest więcej niż 50 zadań, użyj cursor, aby pobrać kolejne wyniki.
Ważne uwagi
project_ownerto stały identyfikator kolumny wskazującej osobę przypisaną do zadania na tablicach zadań - nie trzeba sprawdzać kolumn osobno na każdej tablicy.- To podejście wymaga O(n) zapytań, gdzie n to liczba projektów w portfolio. Jeśli potrzebujesz zadań tylko z określonego zestawu projektów, przekaż wyłącznie identyfikatory tych tablic.
items_page_by_column_valueswymaga jednegoboard_id- filtrowanie na wielu tablicach nie jest obsługiwane.- Zasady
query_paramsnie działają w przypadku kolumn osób. Do filtrowania według osoby zawsze używajitems_page_by_column_values.