Görevler

Uç noktalarında kullanılan verilerin türleri ve formatlarının tanımları sayfanın alt kısmında bulunabilir.

Uç Noktaları

Görevleri Getir

GET https://cubicl.io/api/v1/tasks

Verilen arama kriterlerine uyan görevleri getirir. Yanıtta bazı ayrıntılar döndürülmemektedir. Tüm ayrıntıları almak için ID'e göre Görev Getir isteğini kullanın.

Query Parameters

NameTypeDescription

group

string

Proje ID'si

assignee

string

Görevli ID'si

assignedBy

string

Görev Sahibi ID'si

customer

string

Müşteri ID'si

tag

string

Etiket ismi

startDate

number

Görev başlangıç tarihi. "endDate" parametresi ile kullanılmalıdır.

endDate

number

Görev bitiş tarihi

archived

string

true : arşivlenmiş görevleri getirir.

false : arşivlenmemiş görevleri getirir.

all : tüm görevleri getirir.

Varsayılan değer : false

search

string

Görev adında aranacak metin

recursive

string

true : alt projeleri de getirir.

Sadece verilen projedeki görevleri almak için boş bırakın.

Varsayılan değer : false

skip

number

limit

number

include

string

Yanıta dahil edilecek alanların virgülle ayrılmış listesi

exclude

string

Yanıtta hariç tutulacak alanların virgülle ayrılmış listesi. "include" ile birlikte kullanılamaz.

Task[]

Id'e göre Görev Getir

GET https://cubicl.io/api/v1/tasks/:id

Path Parameters

NameTypeDescription

id*

string

Görev ID'si

Task

Görev Ekle

POST https://cubicl.io/api/v1/tasks

Request Body

NameTypeDescription

group*

string

Proje ID'si

name*

string

Görev adı

state

string

Aşama adı. Verilmezse, proje detaylarında ayarlanan varsayılan aşama kullanılır.

desc

string

Görev açıklaması

start

number

Başlangıç ​​tarihi

deadline

number

assignees

string[]

Görevli ID'lerin listesi

priority

number

1'den 5'e kadar olabilir.

En yüksek değer : 5

Varsayılan değer : 3

tags

string[]

Etiket ID'leri

customer

string

Müşteri ID'si

files

string[]

Dosya ID'lerinin listesi. Dosya içeren bir görev oluşturmak için, görevi oluşturmadan önce dosyaları yüklemeniz ve ID'lerini burada ayarlamanız gerekir.

stepType

string

none : görev adımı yok

steps : kontrol listesi

progress : ilerleme çubuğu

Varsayılan değer : none

steps

CheckList | ProgressBar

'stepType' değeri 'steps' ise adımları CheckList biçiminde belirtin. ID alanı zorunlu değildir. Sunucuda ayarlanmaktadır.

'stepType' değeri 'progress' ise adımları ProgressBar biçiminde belirtin.

'stepType' değeri 'none' ise bunu ayarlamayın.

recurrent

boolean

Varsayılan değer : false

recurrence

Recurrence

'recurrent' değeri 'true' ise bu ayarlanmalıdır. Yineleme ayrıntıları için aşağıyı kontrol edin.

private

boolean

Varsayılan değer : false

parent

string

Üst görevin ID'si. Görev başka bir görevin alt görevi olarak oluşturulduğunda ayarlanır.

workFlowId

string

Görev bir iş akışı ile oluşturulduğunda ayarlanır.

estimatedTime

number

Görevin saniye cinsinden tahmini teslim süresi. Yalnızca proje ayarlarında etkinleştirildiğinde kullanıcı arayüzünde gösterilir.

customFields

object

Özel alanların adlarının ve değerlerin olduğu bir nesne.

followers

string[]

Görev takipçilerinin ID'leri. Ayarlanmazsa, görev sahibi ve atananlar takipçi olur.

Task

Görev Güncelle

PUT https://cubicl.io/api/v1/tasks/:id

Bir görevi verilen ayrıntılarla günceller. Tüm ayrıntılar isteğe bağlıdır. Sadece verilen alanlar güncellenir. Bir alanın değerini kaldırmanız gerekirse, değerlerini 'null' veya uygun 'falsy' değerine ayarlayın. Örneğin, dizeler için boş bir dize.

Path Parameters

NameTypeDescription

id*

string

Görev ID'si

Request Body

NameTypeDescription

updateTemplate

boolean

Görev tekrarlanıyorsa, bu alan yalnızca görevin kendisindeki ayrıntıların güncellenip güncellenmeyeceğini veya görevin gelecekteki kopyalarının dahil edilip edilmeyeceğini belirler.

assignees

string[]

Atananların ID'si

customer

string

Müşteri ID'si

customFields

object

Özel alanların adlarının ve değerlerin olduğu bir nesne.

deadline

number

Son teslim tarihi

desc

string

Açıklama

estimatedTime

number

Görevin saniye cinsinden tahmini teslim süresi.

files

string[]

Dosya ID'lerinin listesi

followers

string[]

Görev takipçilerinin ID'leri

group

string

Proje ID'si

name

string

Görev adı

private

boolean

recurrence

Recurrence

Görev tekrarlama ayrıntısı

recurrent

boolean

Tekrarlama

start

number

Başlangıç tarihi

state

string

Görev durumu adı

steps

Checklist | ProgressBar

'stepType' değeri 'steps' veya 'progress' olduğunda gereklidir.

stepType

string

'none', 'steps' veya 'progress'

subtasks

string[]

Alt görevlerin ID listesi

workflowId

string

İş akış ID'si

{
    activity: TaskActivity,
    task: Task
}

Görev Sil

DELETE https://cubicl.io/api/v1/tasks/:id

Deletes the task with given id.

Path Parameters

NameTypeDescription

id*

string

Görev ID'si

{
    // Response
}

Veriler

Görev

Bir görevin ayrıntıları.

{
    _id: string;
    name: string;
    desc: string;
    state: string;
    start: number | null; // Başlangıç tarihi
    deadline: number | null;
    assignees: string[]; // Atananların ID'si
    assignedBy: string; // Sahip ID'si
    followers: string[];
    // Müşteri portalında görev paylaşılıyorsa, bu görevi takip eden
    // portal kullanıcılarının ID'leri
    portalFollowers?: string[];
    // 1'den 5'e kadar olabilir. En yüksek değer : 5
    priority: number;
    // Aynı önceliğe sahip görevleri kendi aralarında sıralamak için bir puan.
    // En düşük puan en üstte gösterilir.
    priorityScore: number;
    // Proje ID'si
    group: string;
    completedAt: number;
    archivedAt?: number | null;
    /* none: Görev adımı yok
     * steps: Görevin bir kontrol listesi var
     * progress: Görevin bir ilerleme çubuğu var
     */
    stepType: 'none' | 'steps' | 'progress';
    // Bu türlerin tanımları için aşağıyı kontrol edin
    steps?: CheckList | ProgressBar;
    customer: {
        _id: string,
        name: string,
    } | null,
    createdAt: number;
    files: { _id: string }[];
    tags: string[];
    subtasks: string[];
    parent: string | null;
    // Bu alan, gelen bir posta için görev oluşturulursa mevcuttur.
    // E-posta gönderen için bir ID oluşturulur.
    email?: {
        emailUserId: string,
    };
    // Bu alan, Müşteri Portalı aracılığıyla bir destek talebi
    // görevi oluşturulursa mevcuttur.
    support?: {
        portalUser: string, // Müşteri portalı kullanıcısının ID'si
    };
    private: boolean;
    sharedWithCustomer?: boolean;
    // Görev bir iş akışına aitse mevcuttur.
    workflow?: {
        id: string,
        templateId: string,
        isCompleted: boolean,
        taskflowId: string
    };
    estimatedTime?: number; // Saniye cinsinden süre
    // Görevin özel alanları varsa, her alanın adını ve değerini tutar.
    customFields?: {[fieldName: string]: string};
    // Görev tekrarlanıyorsa, bunun en yeni kopya olup olmadığını gösterir.
    lastCopy?: boolean;
}

Görev Adımları

Görevler, adımları veya genel ilerlemeyi belirtmek için bir kontrol listesine veya ilerleme çubuğuna sahip olabilir.

type ProgressBar = {
    completed: number;
    total: number;
}

type CheckList = TaskStep[];

type TaskStep = {
    id: string;
    name: string;
    desc?: string;
    assignees: string[]; // Adım için atanan kullanıcıların ID'leri
    /* Görev adımları özyinelemelidir. Onların da alt adımları olabilir.
     * Ayarlanmazsa, adımın alt adımları yoktur.
     * 'steps' değeri 'steps' olarak ayarlandıysa alt adımları tutar.
     * 'progress', değeri 'total' adlı bir özelliğe sahiptir
     */
    stepType?: 'steps' | 'progress';
    steps?: CheckList;
    // 'stepType' değeri 'progress' olarak ayarlandığında çubuktaki toplam adım
    // sayısını gösteren bir sayı olmalıdır. Aksi takdirde,
    // görevin tamamlandığını belirtmek için bir boolean değeri içermelidir.
    completed: boolean | number;
    // 'stepType' değeri 'progress' olduğunda ayarlanmalıdır.
    total?: number;
}
    

Tekrarlama

type Recurrence = {
    type: 'daily' | 'weekly' | 'monthly';
    // Örnek: Her 3 günde/haftada/ayda bir kopyalanacak görev için 3 değeri verilmeli.
    period: number;
    // Yeni kopya, görev son tarihinden sonra veya görev tamamlandığında oluşturulur.
    createWhen: 'after-deadline' | 'completed';
    // Doğruysa, tekrarlama devam eder. Aksi takdirde duraklayacaktır.
    active: boolean;
    /* 'none': Süresiz olarak devam eder
     * 'date': 'end' parametresinde belirtilen tarihe kadar devam eder.
     * 'count': 'maxCount' parametresinde ayarlanan kopya sayısı oluşturulana kadar
     * devam eder. Görevin kendisi ilk kopyadır. Dolayısıyla, maxCount 1 ise hiçbir
     * kopya oluşturulmayacaktır.
     */
    stopCondition: 'none' | 'date' | 'count';
    end?: number;
    maxCount?: number;
    // 'type' parametresi 'weekly' ise, bir kopyanın haftanın hangi günlerinde oluşturulması
    //  gerektiğini ayarlayabilirsiniz. Liste, o gün bir kopyanın oluşturulup oluşturulmayacağını
    //  gösteren haftanın günleridir. Pazartesi ile başlar.
    days?: boolean[];
}

Varsayılan Görev Durumları

Görev durumları proje için özelleştirilmemişse, varsayılan durumlar kullanılır. Bu değerler, kullanıcı arayüzünde gösterildiğinde kullanıcının diline çevrilir.

Durum DeğeriKullanıcı Aayüzünde Çevirisi

cb_waiting

Bekliyor

cb_active

Aktif

cb_completed

Tamamlandı

cb_suspended

Askıya Alındı

Görev durumlarının özelleştirilip özelleştirilmediğini veya varsayılanların kullanılıp kullanılmadığını görmek için proje nesnesini kontrol edebilirsiniz.

Görev Aktivitesi

Güncelleme, ilerleme eylemleri ve görevlerdeki mesajlar görev aktivitelerini oluşturur.

type TaskActivity = {
    _id: string;
    // Aktiviteyi oluşturan kullanıcının ID'si
    user: string;
    // Aktiviteyi oluşturan portal kullanıcının ID'si. Yalnızca Müşteri Portalında
    // bir müşteri tarafından etkinlik oluşturulduğunda mevcuttur.
    portalUser?: string;
    // E-posta gönderenin ID'si. Aktivite, gelen bir posta nedeniyle oluşturulduğunda mevcuttur.
    emailUser?: string;
    type:
        | 'post'         // Görevle ilgili bir gönderi (yorum)
        | 'update'       // Görev güncellendi
        | 'progress'     // Görev adımı tamamlandı/tamamlanmadı, ilerleme değişti
        | 'archive'      // Görev arşivlendi
        | 'restore'      // Görev arşivden geri yüklendi
        | 'state-change' // Görev durumu değiştirildi
        | 'delete';      // Görev silindi
    // Güncelleme ile ilgili bilgileri tutar. Şekil 'type' parametresine bağlıdır.
    data?: object;
    // 'type' parametresi 'post' ise yorum içeriğini tutar
    content?: string;
    // 'type' parametresi 'post' ise dosya ayrıntılarını tutar
    files?: File[] = [];
    createdAt: number;
    // Aktivite, önceki bir gönderiye verilen yanıtsa, başvurulan aktivite ID'si korunur.
    replyToId?: string;
    // Aktivitenin (gönderinin) bir Müşteri Portalı kullanıcısı ile paylaşılıp paylaşılmadığını belirtir.
    customerCanSee: boolean;
    // Gönderide bahsedilen kullanıcıların listesi
    mentions: Mention[];
    customFields?: {
        fieldName: string;
        value: string;
    }[];
    // Gelen bir e-postadan bir görev oluşturulursa
    emailDetails?: EmailDetails;
    // Gelen bir e-posta için görev oluşturulursa, görevdeki gönderiler e-posta olarak
    // gönderilebilir. Bu, postanın durumunu tutar.
    mailStatus?: 'not-sent' | 'sending' | 'sent' | 'mail-box-error' | 'error';
}

type Mention = {
    id: string;   // Kullanıcı ID'si
    name: string; // Gönderide kullanıcıdan bahsetmek için kullanılan metin
}

type EmailDetails = {
    to: EmailPerson[];
    cc: EmailPerson[];
    from: EmailPerson;
}

type EmailPerson = {
    name: string;
    emailAddress: string;
}

Last updated