Görevler
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
Uç noktalarında kullanılan verilerin türleri ve formatlarının tanımları sayfanın alt kısmında bulunabilir.
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.
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[]
GET
https://cubicl.io/api/v1/tasks/:id
id*
string
Görev ID'si
Task
POST
https://cubicl.io/api/v1/tasks
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
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.
id*
string
Görev ID'si
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
Görevin taşınmak istendiği 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ı. Görev farklı bir projeye taşınırken yeni projede farklı bir duruma geçiş yapılmak istendiğinde gereklidir.
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
}
DELETE
https://cubicl.io/api/v1/tasks/:id
id*
string
Görev ID'si
{
// Response
}
POST
https://cubicl.io/api/v1/tasks/:id/subtasks
id*
string
Görev ID'si
subtask*
string
Alt görev olarak eklenmek istenen görevin ID'si.
PUT
https://cubicl.io/api/v1/tasks/:id/state
Görevin durumunu verilen durum ile değiştirir. Bir projenin varsayılan durumları; Bekliyor, Aktif, Tamamlandı ve Askıya Alındı durumlarıdır. Bu durumlar sistem tarafından sırasıyla cb_waiting
, cb_active
, cb_completed
ve cb_suspended
olarak kaydedilir. Varsayılan durumlar kullanılmak istendiğinde sistem tarafından kaydedilen karşılığı gönderilmelidir.
id*
string
Görev ID'si
value*
string
Yeni görev durumu adı.
TaskStateActivity
POST
https://cubicl.io/api/v1/tasks/:id/activities
Görevde gönderi oluşturur.
id*
string
Görev ID'si
content
string
Gönderi içeriği. 'content' veya 'fileIds' değerinin gönderilmesi gereklidir.
fileIds
string[]
Dosya ID'lerinin listesi. Dosya içeren bir gönderi oluşturmak için, gönderiyi oluşturmadan önce dosyaları yüklemeniz ve ID'lerini burada ayarlamanız gerekir. 'fileIds' veya 'content' değerinin gönderilmesi gereklidir.
mentions
Mention[]
Gönderide bahsedilen kullanıcıların listesi.
replyToId
string
Cevaplanmak istenen gönderinin ID'si.
TaskActivity
PUT
https://cubicl.io/api/v1/tasks/:taskId/activities/:activityId
Destek talepleri ve müşteri ile paylaştığınız görevlerde, gönderinizin görünürlüğünü portal müşteriniz için değiştirebilirsiniz. E-posta görevlerinde yer alan gönderiler görünür yapıldığında, gönderi e-posta olarak gönderilir.
taskId*
string
Görev ID'si
activityId*
string
Görünürlüğü değiştirilmek istenilen aktivite ID'si
value*
boolean
Gönderinin görünürlüğünü belirler. true
değeri görünür yapar, false
değeri ise görünürlüğü kaldırır.
GET
https://cubicl.io/api/v1/tasks/:id/activities
id*
string
Görev ID'si
TaskActivity[]
Bir görevin ayrıntıları.
type Task = {
_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ö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;
}
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[];
}
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;
}
type TaskState = {
name: string;
type: 'waiting' | 'active' | 'completed' | 'suspended' | 'cancelled';
color: string;
textColor: string;
isDefault?: boolean;
}
type TaskStateActivity = {
_id: string;
// Aktiviteyi oluşturan kullanıcının ID'si
user: string;
task: string;
type: 'state-change';
data: {
oldState: TaskState;
newState: TaskState;
};
}
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.
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.