Ambil dan pantau aliran aktivitas proyek menggunakan Blue API.


Ambil Aktivitas Proyek

Kueri activityList memberikan akses ke umpan aktivitas komprehensif untuk proyek dan perusahaan. Aktivitas secara otomatis dihasilkan ketika pengguna melakukan tindakan seperti membuat todo, komentar, atau melakukan perubahan proyek.

Contoh Dasar

query ProjectActivity {
  activityList(
    projectId: "your-project-id"
    first: 20
    orderBy: createdAt_DESC
  ) {
    activities {
      id
      category
      html
      createdAt
      createdBy {
        id
        name
        email
      }
      project {
        id
        name
      }
    }
    pageInfo {
      hasNextPage
      endCursor
    }
    totalCount
  }
}

Contoh Lanjutan dengan Penyaringan

query FilteredActivity {
  activityList(
    companyId: "your-company-id"
    categories: [CREATE_TODO, MARK_TODO_AS_COMPLETE, CREATE_COMMENT]
    userIds: ["user1-id", "user2-id"]
    startDate: "2024-01-01T00:00:00Z"
    endDate: "2024-12-31T23:59:59Z"
    first: 50
    orderBy: createdAt_DESC
  ) {
    activities {
      id
      uid
      category
      html
      createdAt
      updatedAt
      createdBy {
        id
        name
        email
      }
      affectedBy {
        id
        name
      }
      todo {
        id
        title
      }
      comment {
        id
        text
      }
      project {
        id
        name
        slug
      }
    }
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount
  }
}

Parameter Input

Kueri activityList

Parameter Tipe Diperlukan Deskripsi
companyId String Tidak Saring aktivitas berdasarkan ID perusahaan atau slug
projectId String Tidak Saring aktivitas berdasarkan ID proyek atau slug
userId String Tidak Saring aktivitas berdasarkan pengguna tertentu
userIds [String!] Tidak Saring aktivitas berdasarkan beberapa pengguna
tagIds [String!] Tidak Saring aktivitas berdasarkan tag todo
categories [ActivityCategory!] Tidak Saring berdasarkan jenis aktivitas tertentu
startDate DateTime Tidak Saring aktivitas dari tanggal ini
endDate DateTime Tidak Saring aktivitas hingga tanggal ini
skip Int Tidak Lewati sejumlah catatan ini (paginasi offset)
first Int Tidak Kembalikan N catatan pertama (paginasi kursor)
last Int Tidak Kembalikan N catatan terakhir (paginasi kursor)
after String Tidak Kembalikan catatan setelah kursor ini
before String Tidak Kembalikan catatan sebelum kursor ini
orderBy ActivityOrderByInput Tidak Urutan hasil

Nilai ActivityCategory

Sistem secara otomatis melacak berbagai jenis aktivitas:

Kategori Deskripsi
CREATE_TODO Todo/tugas baru telah dibuat
MARK_TODO_AS_COMPLETE Todo telah ditandai sebagai selesai
CREATE_COMMENT Komentar telah ditambahkan
CREATE_DISCUSSION Diskusi telah dimulai
CREATE_STATUS_UPDATE Pembaruan status telah diposting
CREATE_TODO_LIST Daftar todo baru telah dibuat
MOVE_TODO Todo telah dipindahkan antar daftar
COPY_TODO Todo telah disalin
ADD_USER_TO_PROJECT Pengguna telah ditambahkan ke proyek
REMOVE_USER_FROM_PROJECT Pengguna telah dihapus dari proyek
ARCHIVE_PROJECT Proyek telah diarsipkan
UNARCHIVE_PROJECT Proyek telah dibuka kembali
CREATE_INVITATION Pengguna telah diundang
ACCEPT_INVITATION Undangan telah diterima
CREATE_CUSTOM_FIELD Bidang kustom telah dibuat
RECEIVE_FORM Pengiriman formulir telah diterima

Nilai ActivityOrderByInput

Nilai Deskripsi
createdAt_DESC Terbaru terlebih dahulu (default)
createdAt_ASC Terlama terlebih dahulu
updatedAt_DESC Terbaru yang diperbarui terlebih dahulu
updatedAt_ASC Terlama yang diperbarui terlebih dahulu
category_ASC Alfabetis berdasarkan kategori
category_DESC Alfabetis terbalik berdasarkan kategori

Bidang Respons

Tipe Aktivitas

Bidang Tipe Deskripsi
id ID! Identifikasi unik untuk aktivitas
uid String! Identifikasi unik alternatif
category ActivityCategory! Tipe aktivitas yang terjadi
html String! Deskripsi HTML kaya dari aktivitas
createdAt DateTime! Waktu ketika aktivitas terjadi
updatedAt DateTime! Waktu ketika aktivitas terakhir diperbarui
createdBy User! Pengguna yang melakukan tindakan
affectedBy User Pengguna yang terpengaruh oleh tindakan
company Company Perusahaan terkait
project Project Proyek terkait
todo Todo Todo terkait (jika ada)
todoList TodoList Daftar todo terkait (jika ada)
comment Comment Komentar terkait (jika ada)
discussion Discussion Diskusi terkait (jika ada)
statusUpdate StatusUpdate Pembaruan status terkait (jika ada)
metadata String Metadata aktivitas tambahan

Respons ActivityList

Bidang Tipe Deskripsi
activities [Activity!]! Array catatan aktivitas
pageInfo PageInfo! Informasi paginasi
totalCount Int! Total jumlah aktivitas yang cocok dengan filter

Pembaruan Aktivitas Waktu Nyata

Langganan perubahan aktivitas menggunakan langganan subscribeToActivity:

subscription ActivityUpdates($companyId: String!, $projectId: String) {
  subscribeToActivity(companyId: $companyId, projectId: $projectId) {
    mutation
    node {
      id
      category
      html
      createdAt
      createdBy {
        id
        name
        email
      }
      project {
        id
        name
      }
    }
  }
}

Parameter Langganan

Parameter Tipe Diperlukan Deskripsi
companyId String Tidak Langganan untuk aktivitas di seluruh perusahaan
projectId String Tidak Langganan untuk aktivitas proyek tertentu

Langganan akan memberi tahu Anda tentang:

  • ACTIVITY_CREATED - Aktivitas baru
  • ACTIVITY_UPDATED - Aktivitas yang dimodifikasi
  • ACTIVITY_DELETED - Aktivitas yang dihapus

Penyaringan dan Privasi

Penyaringan Otomatis

Umpan aktivitas secara otomatis menyaring hasil berdasarkan:

  • Pengaturan Proyek: Hanya menampilkan aktivitas dari proyek dengan pelacakan aktivitas yang diaktifkan
  • Izin Pengguna: Peran pengguna yang berbeda melihat jenis aktivitas yang berbeda
  • Keanggotaan Proyek: Pengguna hanya melihat aktivitas dari proyek yang mereka akses
  • Keanggotaan Perusahaan: Aktivitas dibatasi pada perusahaan pengguna

Pertimbangan Privasi

  • Pengguna dengan peran CLIENT memiliki visibilitas terbatas terhadap aktivitas administratif tertentu
  • Aktivitas menghormati pengaturan privasi tingkat proyek
  • Operasi sensitif mungkin tidak menghasilkan aktivitas publik

Respons Kesalahan

Proyek/Perusahaan Tidak Valid

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "NOT_FOUND"
    }
  }]
}

Izin Ditolak

{
  "errors": [{
    "message": "You do not have permission to view activities for this project",
    "extensions": {
      "code": "FORBIDDEN"
    }
  }]
}

Rentang Tanggal Tidak Valid

{
  "errors": [{
    "message": "Start date must be before end date",
    "extensions": {
      "code": "BAD_USER_INPUT"
    }
  }]
}

Praktik Terbaik

  1. Gunakan Paginasi: Umpan aktivitas bisa besar, selalu gunakan parameter first
  2. Saring berdasarkan Proyek: Umpan aktivitas di seluruh perusahaan bisa sangat banyak
  3. Pembaruan Waktu Nyata: Gunakan langganan untuk umpan aktivitas langsung
  4. Penyaringan Tanggal: Gunakan rentang tanggal untuk analisis aktivitas historis
  5. Penyaringan Kategori: Saring berdasarkan jenis aktivitas tertentu untuk umpan yang lebih terfokus
  6. Penyaringan Pengguna: Lacak aktivitas anggota tim tertentu menggunakan userIds

Catatan Penting

  • Aktivitas dihasilkan secara otomatis dan tidak dapat dibuat secara manual melalui API
  • Teks aktivitas menggunakan format HTML untuk tampilan yang kaya
  • Bidang text sudah tidak digunakan lagi demi html
  • Aktivitas disimpan secara permanen dan menyediakan jejak audit yang lengkap
  • Langganan waktu nyata memerlukan otentikasi koneksi WebSocket

Asisten AI

Respon dihasilkan menggunakan AI dan mungkin mengandung kesalahan.

Bagaimana saya bisa membantu Anda?

Tanyakan apa saja tentang Blue atau dokumentasi ini.

Masukkan untuk mengirim • Shift+Masukkan untuk baris baru • ⌘I untuk membuka