Smart value

1. Tổng quan

Sử dụng smart values để truy cập và thao tác với dữ liệu từ bên trong hoặc từ bên ngoài hệ thống

2. Phạm vi áp dụng

  • Lấy giá trị từ trường

  • Cập nhật trường sử dụng smart values

  • Trong Action 'Kết nối mục': sử dụng trong lựa chọn 'Smart Values' hoặc 'Dùng bộ lọc'

3. Cấu trúc

Dữ liệu của issue được tổ chức theo dạng cây, một giá trị chứa nhiều yếu tố bên dưới

Các giá trị smart values bắt đầu các giá trị bằng dấu Dollar $, để phân biệt với các nội dung khác. Smart Values có thể truy cập thông tin issue,field,... nên ta cần cung cấp vị trí và thuộc tính để truy cập dữ liệu mình cần.

Nếu muốn chuyển tới các elements bên trong, cần thêm dấu chấm vào trong giá trị của mình.

Ví dụ $input.value

a. Khi lấy giá trị dữ liệu các issue trong luklak:

Để lấy dữ liệu từ issue, ta cần nhập smart values dưới dạng sau :

[issue]: vị trí issue muốn lấy dữ liệu

  • Mục kích hoạt: trigger

  • Mục hiện tại: current

  • Mục cha mục kích hoạt: trigger.parent

  • Mục cha mục hiện tại: current.parent

[object]: nhập đối tượng trong issue muốn lấy thông tin

  • id: trả về id issue - chi tiết

  • key: trả về mã của issue (issue key) - chi tiết

  • url: trả về url dẫn tới issue - chi tiết

  • status: truy cập thông tin trạng thái issue - chi tiết

  • space: truy cập thông tin của space chứa issue - chi tiết

  • issuetype: truy cập thông tin issue type - chi tiết

  • fields: truy cập thông tin các field trong issue

  • createdBy: truy cập thông tin người tạo issue - chi tiết

  • created: truy cập thông tin thời gian tạo issue - chi tiết

[element]: nhập thông tin muốn lấy từ các đối tượng truy cập vào bên trên

b. Lấy thông tin từ automation:

Có thể sử dụng Smart values để lấy thông tin liên quan tới Người kích hoạt hoặc Người thực thi của Automation đang sử dụng

  • Người kích hoạt: $triggerUser

  • Người thực thi: $actorUser

Sau đó có thể truy cập các thuộc tính khác về Người kích hoạt, Người thực thi tương tự như các trường Chọn 1 người

Ví dụ: Lấy tên hiển thị của Người kích hoạt automation

$triggerUser.displayName

c. Khi lấy giá trị từ dữ liệu bên ngoài

Các đối tượng khác

1. Tổng quan

Sử dụng smart values để lấy thông tin của issue hoặc từ space, status, issuetype, createdby, created liên quan tới issue.

2. Mô tả

2.1. Thông tin issue

Ví dụ:

issue ở mục kích hoạt với thông tin như sau:

Id
Key
id issue cha
url

Lấy thông tin của issue

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến issue → mặc định trả về id issue

${trigger}

Giá trị trả về: aaa-aaa

id

Trả về id issue

${trigger.id}

Giá trị trả về: aaa-aaa

key

Trả về key issue

${trigger.key}

Giá trị trả về: BUG-01

url

Trả về url dẫn tới issue

${trigger.url}

Giá trị trả về: https://app.luklak.live/org/orgcuaba/issue/BUG-01

Có thể thay tên hiển thị của url bằng việc thêm tên hiển thị vào trong dấu ngoặc vuông:

[${trigger.key}]${trigger.url}

Giá trị trả về: BUG-01

[link issue}]${trigger.url}

Giá trị trả về: link issue

2.2. Space

Lấy thông tin từ space chứa issue, từ đó có thể truy cập vào thông tin của areafunction của space đó

Lưu ý: cách xem id space, area hoặc function(tạm thời)

  • Chọn space, area hoặc function cần xem id

  • Id của space, area hoặc function hiển thị trên url

  • space:

  • area:

  • function

Ví dụ :

space chứa issue ở mục kích hoạt với thông tin như sau:

Id space
Tên space
Key
URL

Với thông tin về areafunction của space đó:

Id area
Tên area
Key
URL

area-area

BP Phát triển Sản phẩm

AR3

Id function
Tên function
Key
status

func-func

Kiểm thử phần mềm

KTPM

ACTIVE

a. Lấy thông tin từ space

Smart values
Mô tả
Ví dụ

id

Trả về id space

${trigger.space.id}

Giá trị trả về: space-space

key

Trả về key của space

${trigger.space.key}

Giá trị trả về: BUG

mặc định

Smart values truy cập đến space → mặc định trả về id space

${trigger.space}

Giá trị trả về: space-space

name

Trả về tên hiển thị của space

${trigger.space.name}

Giá trị trả về: Kiểm thử

url

Trả về url dẫn tới space

${trigger.space.url}

Giá trị trả về: https://app.luklak.live/org/orgcuaba/space/BUG

Có thể thay tên hiển thị của url bằng việc thêm tên hiển thị vào trong dấu ngoặc vuông:

[${trigger.space.key}]${trigger.space.url}

Giá trị trả về: BUG

[trigger.space.name}]${trigger.url}

Giá trị trả về: Kiểm thử

b. Lấy thông tin từ area

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến area → mặc định trả về id area

${trigger.space.area}

Giá trị trả về: area-area

id

Trả về id area

${trigger.space.area.id}

Giá trị trả về: area-area

name

Trả về tên hiển thị của area

${trigger.space.area.name}

Giá trị trả về: BP Phát triển Sản phẩm

url

Trả về url dẫn tới area

${trigger.space.area.url}

Giá trị trả về: https://app.luklak.live/org/orgcuaba/area/AR3

Có thể thay tên hiển thị của url bằng việc thêm tên hiển thị vào trong dấu ngoặc vuông:

[link area}]${trigger.apce.area.url}

Giá trị trả về: link area

key

Trả về key của area

${trigger.space.area.key}

Giá trị trả về: AR3

c. Lấy thông tin từ function

2.3. Status

Lấy thông tin liên quan tới trạng thái hiện tại của issue

Lưu ý: cách xem id status hoặc của status category

  • Chọn status hoặc của status category cần xem id

  • Id của space, area hoặc function hiển thị trên url

Ví dụ:

statsus hiện tại của issue ở mục kích hoạt với thông tin như sau:

Id status
Tên
Key
Description

sta-sta

CẦN LÀM

todo

mô tả cần làm

với thông tin về category của status hiện tại của space đó:

Id category
Tên
Key
Description

cate-cate

Kế hoạch

planned

mô tả category

a. Lấy thông tin từ status

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến status → mặc định trả về id status

${trigger.status}

Giá trị trả về: sta-sta

id

Trả về id space

${trigger.status.id}

Giá trị trả về: sta-sta

name

Trả về tên hiển thị của space

${trigger.status.name}

Giá trị trả về: CẦN LÀM

key

Trả về key của space

${trigger.status.key}

Giá trị trả về: todo

description

Trả về mô tả của trạng thái

${trigger.status.description}

Giá trị trả về: mô tả cần làm

b. Lấy thông tin từ category status

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến category → mặc định trả về thông tin id loại trạng thái

${trigger.status.category}

Giá trị trả về: cate-cate

id

Trả về id category status

${trigger.status.category.id}

Giá trị trả về: cate-cate

name

Trả về tên của category status

${trigger.status.category.name}

Giá trị trả về: Kế hoạch

key

Trả về key của category status

${trigger.status.category.key}

Giá trị trả về: planned

description

Trả về description của category status

${trigger.status.category.key}

Giá trị trả về: mô tả category

2.4. Issuetype :

Lấy thông tin liên quan tới loại mục (issuetype)của issue

Ví dụ:

issuetype hiện tại của issue ở mục kích hoạt với thông tin như sau:

Id
Tên
Category

ttt-ttt

Thông tin

ISSUE

a. Lấy thông tin từ issuetype

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến issuetype → mặc định trả về id issuetype

${trigger.issuetype}

Giá trị trả về: ttt-ttt

id

Trả về id issuetype

${trigger.issuetype.id}

Giá trị trả về: ttt-ttt

name

Trả về tên của issuetype

${trigger.issuetype.name}

Giá trị trả về: Thông tin

category

Trả về tên loại của issuetype

(category có các gái trị: ISSUE, SUBTASK)

${trigger.issuetype.category}

Giá trị trả về: ISSUE

2.5. CreatedBy:

Lấy thông tin của người tạo ra issue

Ví dụ:

Người tạo issue ở mục kích hoạt với thông tin như sau:

Tên hiển thị
Id
Username
Email

Nguyễn Văn A

aaa-aaa

nguyenvana

Khi Smart Values truy cập đến createdBy → mặc định trả về id người dùng

Ví dụ:

${trigger.createdBy}

Giá trị trả về: aaa-aaa

2.6. Created

Lấy thông tin về thời gian tạo ra issue

Ví dụ :

Thời gian tạo issue ở mục kích hoạt với thông tin như sau:

Giá trị

05.08.2024 09:00

Khi Smart Values truy cập đến created → mặc định trả về giá trị của trường

Ví dụ:

${trigger.created}

Giá trị trả về: 2024-08-05T00:09:00.000+07:00

Fields

1. Tổng quan

Sử dụng smart values để lấy thông tin từ các trường dữ liệu của một issue

2. Mô tả

1. Smart Values - List (các trường multi)

Sử dụng smart values với các trường multi (Sổ xuống chọn nhiều, Nhiều hộp kiểm, Chọn nhiều người, Chọn nhiều nhóm): link mô tả

2. Smart Values - User

Sử dụng smart values để lấy giá trị từ người dùng với các trường dạng người (Chọn một người, Chọn nhiều người): link mô tả

3. Smart Values - Group

Sử dụng smart values để lấy giá trị từ nhóm với các trường dạng nhóm (Chọn một nhóm, Chọn nhiều nhóm): link mô tả

4. Smart Values - Select

Sử dụng smart values để lấy giá trị từ các trường dạng select (Sổ xuống chọn nhiều, Sổ xuống chọn một): link mô tả

5. Smart Values - Checkbox

Sử dụng smart values để lấy giá trị từ các trường dạng dạng hộp kiểm (Nhiều hộp kiểm, Hộp kiểm đơn): link mô tả

6. Smart Values - Date, Date time

Sử dụng smart values để lấy giá trị từ các trường ngày, ngày giờ (Chọn ngày, Chọn ngày giờ): link mô tả

7. Smart Values - Email

Sử dụng smart values để lấy giá trị từ các trường email (Một email, Nhiều email): link mô tả

8. Smart Values - Phone number

Sử dụng smart values để lấy giá trị từ các trường Phone number: link mô tả

9. Smart Values - Number

Sử dụng smart values để lấy giá trị từ các trường số (Số nguyên, Số thập phân, Công thức): link mô tả

10. Smart Values - Text

Sử dụng smart values để lấy giá trị từ các trường chữ (Dòng chữ, Đoạn văn bản): link mô tả

11. Smart Values - Issue picker

Sử dụng smart values để lấy giá trị từ các trường Chọn mục (Chọn một mục, Chọn nhiều mục): link mô tả

12. Lưu ý

Với các trường thông tin đặc biệt liên quan đến việc tương tác, ghi nhận thời gian cuối sẽ không thể lấy thông tin, giá trị do các dữ liệu này không được coi là một trường dữ liệu.

  • Cập nhật (updated)

  • Tương tác (interacted)

  • Trao đổi (dicussed)

  • Chuyển trạng thái (statusChanged)

  • Hoàn thành (completed)

  • Kết luận (resolution)

  • Người cập nhật

  • Người theo dõi

List (Kiểu trường multi)

Các smart values để truy cập tới một giá trị hoặc thay đổi kí tự phân tách khi liệt kê giá trị của các trường dạng Multi:

  • Chọn nhiều người

  • Chọn nhiều nhóm

  • Sổ xuống chọn nhiều

  • Nhiều hộp kiểm

  • Nhiều email

Một số lưu ý:

  • Hiện tại khi cập nhật các trường dạng multi qua smart values có thể cập nhật bằng nhiều giá trị, các giá trị phân cách nhau bởi dấu phảy.

  • Ví dụ: khi cập nhật trường Người Quyền Cao qua smart values của Người Liên Quan:

    ${trigger.fields.relatedUsers.join()}

    Giá trị trả về: aaa-aaa, bbb-bbb, ccc-ccc, ddd-ddd

  1. Mô tả

Ví dụ:

Trường Người Liên Quan (key field: relatedusers) ở Mục kích hoạt có 4 giá trị Nguyễn Văn A, Nguyễn Văn B, Nguyễn Văn C, Nguyễn Văn D

Tên hiển thị
Id
UserName
Email

Nguyễn Văn A

aaa-aaa

nguyenvana

Nguyễn Văn B

bbb-bbb

nguyenvanb

Nguyễn Văn C

ccc-ccc

nguyenvanc

Nguyễn Văn D

ddd-ddd

nguyenvand

Trường Lớp học (key field: class) ở Mục kích hoạt có 5 giá trị: Lớp 1, Lớp 2, Lớp 3, Lớp 4, Lớp 5

Key
Giá trị

lop_01

Lớp 01

lop_02

Lớp 02

lop_03

Lớp 03

lop_04

Lớp 04

lop_05

Lớp 05

Chi tiết

Với các smart values để lấy một giá trị trong danh sách

  • Với trường Chọn nhiều người, Chọn nhiều nhóm: trả về id

  • Với trường Sổ xuống chọn nhiều, Nhiều hộp kiểm, Nhiều email: trả về value

  • Sau đó có thể truy cập tiếp các thuộc tính của giá trị đó: Chọn nhiều người (id, username, displayName, email), Chọn nhiều nhóm (id, name), Sổ xuống chọn nhiều (key, value), Nhiều hộp kiểm (key, value)

Smart values
Mô tả
Ví dụ

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.relatedusers.empty()}

Giá trị trả về: false

first()

Trả về giá trị đầu tiên trong danh sách các giá trị được chọn.

(trả về kết quả dựa theo vị trí hiển thị trên issue, không theo thứ tự chọn)

Trường Chọn nhiều người:

${trigger.fields.relatedusers.first()}

Giá trị trả về: aaa-aaa

Trường Sổ xuống chọn nhiều:

${trigger.fields.multiselect.first()}

Giá trị trả về: Lớp 01

Truy cập tiếp các thuộc tính

${trigger.fields.relatedusers.first().displayName} 
${trigger.fields.relatedusers.first().id}
${trigger.fields.relatedusers.first().username}
${trigger.fields.relatedusers.first().email}

Giá trị trả về:

Nguyễn Văn A aaa-aaa nguyenvana a@gmail.com

${trigger.fields.multiselect.first().key}
${trigger.fields.multiselect.first().value}

Giá trị trả về:

lop_01

Lớp 01

last()

Trả về giá trị cuối cùng trong danh sách các giá trị được chọn.

(trả về kết quả dựa theo vị trí hiển thị trên issue, không theo thứ tự chọn)

Trường Chọn nhiều người:

${trigger.fields.relatedusers.last()}

Giá trị trả về: ddd-ddd

Trường Sổ xuống chọn nhiều:

${trigger.fields.multiselect.last()}

Giá trị trả về: Lớp 5

Truy cập tiếp các thuộc tính: tương tự first()

get(position)

Trả về giá trị trong danh sách các giá trị được chọn theo vị trí

Nhập vị trí của giá trị muốn lấy vào trong ngoặc, giá trị thứ n trong danh sách sẽ có vị trí n-1

Ngoài ra có thể nhập vị trí theo số âm để lấy theo giá trị tính từ cuối lên: giá trị cuối cùng sẽ ở vị trí -1

Không nhập vị trí → Lỗi

Trường Chọn nhiều người có 4 giá trị, lấy giá trị thứ 2:

${trigger.fields.relatedusers.get(1)}
${trigger.fields.relatedusers.get(-3)}

Giá trị trả về: bbb-bbb

Trường Sổ xuống chọn nhiều (Lớp) có 5 giá trị, lấy giá trị thứ 4:

${trigger.fields.multiselect.get(4)}
${trigger.fields.multiselect.get(-2)}

Giá trị trả về: Lớp 4

Truy cập tiếp các thuộc tính: tương tự first()

quantity()

Trả về số lượng giá trị được chọn

${trigger.fields.relatedusers.quantity()}

Giá trị trả về: 4

${trigger.fields.multiselect.quantity()}

Giá trị trả về: 5

contains('value')

Kiểm tra xem có chứa giá trị đưa vào (trả về true / false)

Với trường Chọn nhiều ngườiChọn nhiều nhóm: giá trị tìm kiếm là theo id

Với trường Sổ xuống chọn nhiều, Nhiều hộp kiểm, Nhiều email: giá trị tìm kiếm là theo value

${trigger.fields.relatedusers.contains('fff-fff')}

Giá trị trả về: false

${trigger.fields.multiselect.contains('lop_01')}

Giá trị trả về: true

containsAll('value1', 'value2')

Kiểm tra xem có chứa các giá trị đưa vào (trả về true / false)

Giá trị tìm kiếm tương tự contains()

${trigger.fields.relatedusers.containsAll('aaa-aaa', 'fff-fff')}

Giá trị trả về: false

${trigger.fields.multiselect.containsAll('lop_01', 'lop_02')}

Giá trị trả về: true

Đổi kí tự phân tách

Đổi kí tự ngăn cách giữa các giá trị mặc định: sử dụng join()

Nhập kí muốn ngăn cách vào trong dấu nháy đơn → các giá trị sẽ phân cách nhau bởi kí tự nằm trong dấu nháy đơn

Đổi kí tự ngăn cách giữa các giá trị thuộc tính: thêm kí tự phân tách vào trong các smart values

Nhập kí muốn ngăn cách vào trong dấu nháy đơn → các giá trị sẽ phân cách nhau bởi kí tự nằm trong dấu nháy đơn

Khi không nhập gì, mặc định là dấu phảy

${trigger.fields.relatedusers.join()}

Giá trị trả về: aaa-aaa, bbb-bbb, ccc-ccc, ddd-ddd

Khi nhập kí tự phân tách nằm trong nháy đơn:

${trigger.fields.relatedusers.join('/')}

Giá trị trả về: aaa-aaa/bbb-bbb/ccc-ccc/ddd-ddd

Khi không nhập gì, mặc định là dấu phảy

${trigger.fields.relatedusers.usernames()}

Giá trị trả về: nguyenvana, nguyenvanb, nguyenvanc, nguyenvand

Khi nhập kí tự phân tách nằm trong nháy đơn:

${trigger.fields.relatedusers.usernames('/')}

Giá trị trả về: nguyenvana/nguyenvanb/nguyenvanc/nguyenvand

User

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường Người (Chọn một người, Chọn nhiều người)

  1. Mô tả

Lưu ý: cách xem id người dùng (tạm thời)

  • vào chat riêng, chọn user muốn xem id

  • id của user hiển thị trên url

2.1. Chọn một người (single user picker)

Ví dụ:

Trường Người làm (key field: assignee) có giá trị Nguyễn Văn A với thông tin như sau:

Tên hiển thị
Id
Username
Email

Nguyễn Văn A

aaa-aaa

nguyenvana

Lấy thông tin từ trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về id người dùng

${trigger.fields.assignee}

Giá trị trả về: aaa-aaa

id

Trả về id người dùng

(Sử dụng để cập nhật trường Chọn một người qua Smart values)

${trigger.fields.assignee.id}

Giá trị trả về: aaa-aaa

username

Trả về username người dùng được chọn

${trigger.fields.assignee.username}

Giá trị trả về: nguyenvana

displayName

Trả về tên hiển thị người dùng được chọn

${trigger.fields.assignee.displayName}

Giá trị trả về: Nguyễn Văn A

email

Trả về email người dùng được chọn

${trigger.fields.assignee.email}

Giá trị trả về: [email protected]

mention()

Nhắc đến người dùng được chọn

${trigger.fields.assignee.mention()}

Giá trị trả về: Nguyễn Văn A

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.assignee.empty()}

Giá trị trả về: false

2.2. Chọn nhiều người(multi user picker)

Ví dụ:

Trường Người Liên Quan (key field: relatedusers) ở Mục kích hoạt có 3 giá trị Nguyễn Văn A, Nguyễn Văn B, Nguyễn Văn C

Tên hiển thị
Id
Username
Email

Nguyễn Văn A

aaa-aaa

nguyenvana

Nguyễn Văn B

bbb-bbb

nguyenvanb

Nguyễn Văn C

ccc-ccc

nguyenvanc

Lấy thông tin từ trường

Smart values khi lấy danh sách các thuộc tính tương tự như trường single và thêm hậu tố 's()'

Các giá trị khi trả về mặc định phân tách nhau bởi dấu phảy, người dùng có thể chủ động đổi kí tự phân tách

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → Mặc định trả về danh sách các id người dùng

${trigger.fields.relatedusers}

Giá trị trả về: aaa-aaa, bbb-bbb, ccc-ccc

ids()

Trả về id các người dùng được chọn

${trigger.fields.relatedusers.ids()}

Giá trị trả về: aaa-aaa, bbb-bbb, ccc-ccc

usernames()

Trả về username các người dùng được chọn

${trigger.fields.relatedusers.usernames()}

Giá trị trả về: nguyenvana, nguyenvanb, nguyenvanc

displayNames()

Trả về tên hiển thị các người dùng được chọn

${trigger.fields.relatedusers.displayNames()}

Giá trị trả về: Nguyễn Văn A, Nguyễn Văn B, Nguyễn Văn C

emails()

Trả về email các người dùng được chọn

${trigger.fields.relatedusers.emails()}

Giá trị trả về: [email protected], [email protected], [email protected]

mention()

Nhắc đến các người dùng được chọn

${trigger.fields.relatedusers.mention()}

Giá trị trả về: Nguyễn Văn ANguyễn Văn BNguyễn Văn C

Dạng list

Do thuộc kiểu trường dữ liệu multi nên khi lấy giá trị từ trường Chọn nhiều người có thể sử dụng các smart values dạng list. Đọc thêm Tại đây

Group

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường Nhóm

  • Chọn một nhóm

  • Chọn nhiều nhóm

  1. Mô tả

Lưu ý: Cách xem id nhóm (tạm thời)

  • Vào cài đặt admin / Nhóm

  • Chọn nhóm muốn xem id

  • Id nhóm hiển thị trên url

2.1. Chọn một nhóm(single group picker)

Ví dụ:

Trường Nhóm Thực Hiện (key field: nhom_thuc_hien) có giá trị Nhóm A

id
Tên

aaa-aaa

Nhóm A

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về id nhóm

${trigger.fields.nhom_thuc_hien}

Giá trị trả về: aaa-aaa

id

Trả về id nhóm

${trigger.fields.nhom_thuc_hien.id}

Giá trị trả về: aaa-aaa

name

Trả về tên hiển thị của nhóm

${trigger.fields.nhom_thuc_hien.name}

Giá trị trả về: Nhóm A

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.nhom_thuc_hien.empty()}

Giá trị trả về: false

2.2. Chọn nhiều nhóm(multi group picker)

Ví dụ:

Trường Nhóm Liên Quan (key field: relatedgroups) ở Mục kích hoạt có 3 giá trị Nhóm A, Nhóm B, Nhóm C

Id
Tên

aaa-aaa

Nhóm A

bbb-bbb

Nhóm B

ccc-ccc

Nhóm C

Lấy thông tin của trường

Smart values khi lấy danh sách các thuộc tính tương tự như trường single và thêm hậu tố 's()'

Các giá trị khi trả về mặc định phân tách nhau bởi dấu phảy, người dùng có thể chủ động đổi kí tự phân tách.

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về danh sách các id nhóm

${trigger.fields.relatedgroups}

Giá trị trả về: aaa-aaa, bbb-bbb, ccc-ccc

ids()

Trả về id các nhóm được chọn

${trigger.fields.relatedgroups.ids()}

Giá trị trả về: aaa-aaa, bbb-bbb, ccc-ccc

names()

Trả về tên của các nhóm được chọn

${trigger.fields.relatedgroups.names()}

Giá trị trả về: Nhóm A, Nhóm B, Nhóm C

Dạng list

Do thuộc kiểu trường dữ liệu multi nên khi lấy giá trị từ trường Chọn nhiều nhóm có thể sử dụng các smart values dạng list. Đọc thêm Tại đây

Select

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường:

  • Sổ xuống chọn một

  • Sổ xuống chọn nhiều

  1. Mô tả

2.1. Sổ xuống chọn một

Ví dụ:

Trường lớp học (key field: class) ở Mục kích hoạt có giá trị 'Lớp 01' với thông tin như sau:

Key
Value

lop_01

Lớp 01

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của option

${trigger.fields.class}

Giá trị trả về: Lớp 01

key

Trả về Mã (key) của option được chọn

${trigger.fields.class.key}

Giá trị trả về: lop_01

value

Trả về Giá trị (value) của option được chọn

${trigger.fields.class.value}

Giá trị trả về: Lớp 01

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.class.empty()}

Giá trị trả về: false

2.2. Sổ xuống chọn nhiều

Ví dụ:

Trường Lớp học (key field: class) ở Mục kích hoạt có đang chọn 3 giá trị: Lớp 1, Lớp 2, Lớp 3

Key
Giá trị

lop_01

Lớp 01

lop_02

Lớp 02

lop_03

Lớp 03

Lấy thông tin của trường

Smart values khi lấy danh sách các thuộc tính tương tự như trường single và thêm hậu tố 's()'

Các giá trị khi trả về mặc định phân tách nhau bởi dấu phảy, người dùng có thể chủ động đổi kí tự phân tách

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → Trả về danh sách tên các giá trị được chọn

${trigger.fields.class}

Giá trị trả về: Lớp 01, Lớp 02, Lớp 03

keys()

Trả về mã (key) của các option đang được chọn

${trigger.fields.lua_chon.keys()}

Giá trị trả về: lop_01, lop_02, lop_03

values()

Trả về tên các option đang được chọn

${trigger.fields.lua_chon.values()}

Giá trị trả về: Lớp 01, Lớp 02, Lớp 03

Dạng list

Do thuộc kiểu trường dữ liệu multi nên khi lấy giá trị từ trường Sổ xuống chọn nhiều có thể sử dụng các smart values dạng list. Đọc thêm Tại đây

Checkbox

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường:

  • Hộp kiểm đơn

  • Nhiều hộp kiểm

  1. Mô tả

2.1. Hộp kiểm đơn

a. Lấy dữ liệu từ trường

Ví dụ:

Trường Xác nhận (key field: xac_nhan) ở Mục kích hoạt đang được tick chọn

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường (true / false).

${trigger.fields.xac_nhan}

Giá trị trả về: true

2.2. Nhiều hộp kiểm

Ví dụ:

Trường Lớp học (key field: class) ở Mục kích hoạt có đang chọn 3 giá trị: Lớp 1, Lớp 2, Lớp 3

Key
Giá trị

lop_01

Lớp 01

lop_02

Lớp 02

lop_03

Lớp 03

Lấy thông tin của trường

Các giá trị khi trả về mặc định phân tách nhau bởi dấu phảy, người dùng có thể chủ động đổi kí tự phân tách

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → Mặc định trả về danh sách tên các giá trị được chọn

${trigger.fields.class}

Giá trị trả về: Lớp 01, Lớp 02, Lớp 03

keys()

Trả về mã (key) của các option đang được chọn

${trigger.fields.lua_chon.keys()}

Giá trị trả về: lop_01, lop_02, lop_03

values()

Trả về tên các option đang được chọn

${trigger.fields.lua_chon.values()}

Giá trị trả về: Lớp 01, Lớp 02, Lớp 03

Dạng list

Do thuộc kiểu trường dữ liệu multi nên khi lấy giá trị từ trường Nhiều hộp kiểm có thể sử dụng các smart values dạng list. Đọc thêm Tại đây

Date - Date time

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường:

  • Chọn ngày

  • Chọn ngày giờ

  1. Mô tả

2.1. Chọn ngày

Ví dụ:

Trường Ngày làm (key field: ngay_lam) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Ngày làm (ngay_lam)

05.08.2024

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

(Sử dụng để cập nhật trường Chọn ngày qua Smart values)

${trigger.fields.ngay_lam}

Giá trị trả về: 2024-08-05

date()

Trả về kết quả có định dạng

${trigger.fields.class.ngay_lam.date()}

Giá trị trả về: 05/08/2024

after('value')

Kiểm tra giá trị của trường có sau giá trị đưa vào

${trigger.fields.ngay_lam.after('04/08/2024')}

Giá trị trả về: true

before('value')

Kiểm tra giá trị của trường có trước giá trị đưa vào

${trigger.fields.ngay_lam.before('04/08/2024')}

Giá trị trả về: false

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.ngay_lam.empty()}

Giá trị trả về: false

plusDays()

Cộng thêm ngày, cộng thêm số nguyên

${trigger.fields.ngay_lam.plusDays(5)}

Giá trị trả về: 2024-08-10

${trigger.fields.ngay_lam.plusDays(${trigger.fields.so_luong})}

Giá trị trường Số lượng: 3

Giá trị trả về: 2024-08-08

plusMonths()

Cộng thêm tháng, cộng thêm số nguyên

${trigger.fields.ngay_lam.plusMonths(5)}

Giá trị trả về: 2025-01-05

${trigger.fields.ngay_lam.plusDays(${trigger.fields.so_luong})}

Giá trị trường Số lượng: 3

Giá trị trả về: 2024-11-05

2.2. Chọn ngày giờ

Ví dụ:

Trường Email khách (key field: email_khach) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Thời điểm (thoi_diem)

05.08.2024 09:00

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

(Sử dụng để cập nhật trường Chọn ngày giờ qua Smart values)

${trigger.fields.thoi_diem}

Giá trị trả về: 2024-08-05T00:09:00.000+07:00

datetime()

Trả về kết quả có định dạng

${trigger.fields.class.thoi_diem.datetime()}

Giá trị trả về: 05/08/2024 09:00

after('value')

Kiểm tra giá trị của trường có sau giá trị đưa vào

${trigger.fields.thoi_diem.after('08/08/2024 09:00')}

Giá trị trả về: false

before('value')

Kiểm tra giá trị của trường có trước giá trị đưa vào

${trigger.fields.thoi_diem.before('08/08/2024 09:00')}

Giá trị trả về: true

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.thoi_diem.empty()}

Giá trị trả về: false

plusHours()

Cộng thêm giờ, cộng thêm số nguyên

${trigger.fields.thoi_diem.plusHours(5)}

Giá trị trả về: 2024-08-10T00:14:00.000+07:00

${trigger.fields.thoi_diem.plusDays(${trigger.fields.so_luong})}

Giá trị trường Số lượng: 3

Giá trị trả về: 2024-08-08T00:11:00.000+07:00

plusDay()

Cộng thêm ngày, cộng thêm số nguyên

${trigger.fields.thoi_diem.plusDays(5)}

Giá trị trả về: 2024-08-10T00:09:00.000+07:00

${trigger.fields.thoi_diem.plusDays(${trigger.fields.so_luong})}

Giá trị trường Số lượng: 3

Giá trị trả về: 2024-08-08T00:09:00.000+07:00

plusMonths()

Cộng thêm tháng, cộng thêm số nguyên

${trigger.fields.thoi_diem.plusMonths(5)}

Giá trị trả về: 2025-01-05T00:09:00.000+07:00

${trigger.fields.thoi_diem.plusDays(${trigger.fields.so_luong})}

Giá trị trường Số lượng: 3

Giá trị trả về: 2024-11-05T00:09:00.000+07:00

Tính khoảng thời gian giữa 2 trường:

Có thể sử dụng cú pháp sau để tính khoảng thời gian giữa 2 trường ngày giờ:

$trigger.fields.[key_field_1].diff($trigger.fields.[key_fields_2]).[abs].[unit_time]

trong đó:

  • [key_field_1]: mã trường ngày giờ đích

  • [key_field_2]: mã trường ngày giờ bắt đầu

  • [abs]: có thể có hoặc không, giúp trả về giá trị tuyệt đối giữa 2 khoảng thời gian

  • [unit_time]: đơn vị thời gian muốn tính ra kết quả

    • millis: mili giây

    • seconds: giây

    • minutes: phút

    • hours: giờ

    • days: ngày

Ví dụ:

Tính khoảng thời gian giữa 2 trường kiểu Ngày giờ là Thời điểm bắt đầu (start_time) và Thời điểm kết thúc (end_time) ở Mục kích hoạt:

Trường
Giá trị

Thời điểm bắt đầu (start_time)

05.08.2024 09:00

Thời điểm kết thúc (end_time)

05.09.2024 20:30

$trigger.fields.start_time.diff($trigger.fields.end_time).millis
$trigger.fields.start_time.diff($trigger.fields.end_time).seconds
$trigger.fields.start_time.diff($trigger.fields.end_time).minutes
$trigger.fields.start_time.diff($trigger.fields.end_time).hours
$trigger.fields.start_time.diff($trigger.fields.end_time).days

Giá trị trả về:

2719800000 2719800 45330 755 31

Email

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường:

  • Một email

  • Nhiều email

  1. Mô tả

2.1. Một email

Ví dụ:

Trường Email khách (key field: email_khach) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Email khách (email_khach)

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về id người dùng

${trigger.fields.email_khach}

Giá trị trả về: a@gmail.com

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.email_khach.empty()}

Giá trị trả về: false

2.2. Nhiều mail

Trường
Giá trị

Email nhận (email_nhan)

Lấy thông tin từ trường

Các giá trị khi trả về mặc định phân tách nhau bởi dấu phảy, người dùng có thể chủ động đổi kí tự phân tách

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → Mặc định trả về danh sách các id người dùng

${trigger.fields.email_nhan}

Giá trị trả về: a@gmail.com, b@gmail.com, c@gmail.com

Dạng list

Do thuộc kiểu trường dữ liệu multi nên khi lấy giá trị từ trường Nhiều email có thể sử dụng các smart values dạng list. Đọc thêm Tại đây

PhoneNumber

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ trường Số điện thoại

  1. Mô tả

Ví dụ:

Trường Số liên hệ (key field: so_lien_he) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Số liên hệ (so_lien_he)

8423124124

Lấy thông tin của trường:

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

${trigger.fields.so_lien_he}

Giá trị trả về: 8423124124

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.so_lien_he.empty()}

Giá trị trả về: false

Number

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường:

  • Số nguyên

  • Số thập phân

  • Công thức

  1. Mô tả

2.1. Số nguyên

Ví dụ:

Trường Số lượng (key field: so_luong) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Số lượng (so_luong)

5

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

${trigger.fields.so_luong}

Giá trị trả về: 5

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.so_luong.empty()}

Giá trị trả về: false

2.2. Số thập phân

Ví dụ:

Trường Chiều dài (key field: chieu_dai) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị
Hiển thị ngoài issue

Chiều dài (chieu_dai)

0,5

Dạng Cơ bản: 0,5

Dạng Phần trăm: 50%

Dạng Tiền tệ: $ 0,5

Dạng Khoa học: 5E-1

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

${trigger.fields.chieu_dai}

Giá trị trả về: 0,5

format()

Hiển thị giá trị dưới định dạng đã chọn

${trigger.fields.class.chieu_dai.format()}

Giá trị trả về:

Cơ bản: 0,5

Phần trăm: 50%

Tiền tệ: $ 0,5

Khoa học: 5E-1

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.chieu_dai.empty()}

Giá trị trả về: false

2.3. Công thức

Ví dụ:

Trường Khoảng cách (key field: khoang_cach) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị
Hiển thị ngoài issue

Khoảng cách (khoang_cach)

1,5

Dạng Cơ bản: 1,5

Dạng Phần trăm: 150%

Dạng Tiền tệ: $ 1,5

Dạng Khoa học: 1,5E0

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

${trigger.fields.khoang_cach}

Giá trị trả về: 1,5

format()

Hiển thị giá trị dưới định dạng đã chọn

${trigger.fields.class.khoang_cach.format()}

Giá trị trả về:

Cơ bản: 1,5

Phần trăm: 150%

Tiền tệ: $ 1,5

Khoa học: 1,5E0

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.khoang_cach.empty()}

Giá trị trả về: false

if-else

Sử dụng if-else để tính toán giá trị

Text

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ các trường:

  • Dòng chữ (text field)

  • Đoạn văn bản (text area)

  1. Mô tả

2.1. Dòng chữ (text field)

Ví dụ:

Trường Lời nhắc (key field: loi_nhac) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Lời nhắc (loi_nhac)

Dòng chữ này

Lấy thông tin của trường

Smart
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

${trigger.fields.loi_nhac}

Giá trị trả về: Dòng chữ này

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.loi_nhac.empty()}

Giá trị trả về: false

2. Đoạn văn bản (text area)

Ví dụ:

Trường Nội dung (key field: noi_dung) ở Mục kích hoạt có giá trị như sau

Trường
Giá trị

Nội dung (noi_dung)

Đoạn văn bản này

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về giá trị của trường

${trigger.fields.noi_dung}

Giá trị trả về: Đoạn văn bản này

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.noi_dung.empty()}

Giá trị trả về: false

Component

  1. Tổng quan

Sử dụng smart values để lấy giá trị từ component

  1. Mô tả

Ví dụ:

Thành Phần (component) ở Mục kích hoạt có giá trị như sau

Id
Giá trị

fd1c4882-1ef2-11ef-b517-005056be9d7b

Quan trọng

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về tên của thành phần được chọn

${trigger.fields.component}

Giá trị trả về: Quan trọng

id

Trả về id của thành phần được chọn

${trigger.fields.component.id}

Giá trị trả về: fd1c4882-1ef2-11ef-b517-005056be9d7b

name

Trả về tên của thành phần được chọn

${trigger.fields.component.name}

Giá trị trả về: Quan trọng

Issue picker

  1. Tổng quát

Sử dụng smart values để lấy giá trị từ các trường Nhóm

  • Chọn một mục

  • Chọn nhiều mục

  1. Mô tả

2.1. Chọn một mục (single issue picker) Ví dụ:

Trường Danh sách công việc (key field: danh_sach_cong_viec) có giá trị là issue In tài liệu

Issue Key
Tiêu đề
Người làm
Trạng thái

CV-01

In tài liệu

Hải.T.V

ĐANG LÀM

Lấy thông tin của trường

Smart values
Mô tả
Ví dụ

Mặc định

Smart values truy cập đến mã trường (key field) → mặc định trả về Issue key các issue được chọn

${trigger.fields.danh_sach_cong_viec}

Giá trị trả về: CV-01

Truy cập vào issue được chọn

Lấy thông tin của issue được chọn (space, area, custom field,...)

Cấu trúc: ${[issue].fields.[key_field_picker].fields.[key_field]}

Ta có thể truy cập vào thuộc tính các field của issue được chọn, đọc thêm các thuộc tính cho các field tại đây

${trigger.fields.danh_sach_cong_viec.fields.title}

Giá trị trả về: In tài liệu

${trigger.fields.danh_sach_cong_viec.fields.assignee.displayName}

Giá trị trả về: Hải.T.V

empty()

Kiểm tra trường có trống hay không (trả về true / false)

${trigger.fields.danh_sach_cong_viec.empty()}

Giá trị trả về: false

Last updated

Was this helpful?