Hướng dẫn này giải thích cách tạo một bước mà người dùng có thể thêm vào một quy trình trong Google Workspace Studio.
Bước là một bước riêng lẻ trong trình tự các tác vụ của một quy trình. Các bước không thể bắt đầu một quy trình.
Ví dụ: hãy xem xét một bước thực hiện phép tính số học. Bước này yêu cầu người dùng cung cấp hai giá trị và một phép toán. Sau đó, bước này sẽ thực hiện phép toán trên các giá trị và đưa ra kết quả.
Để tạo một bước, hãy định cấu hình bước đó trong tệp kê khai của tiện ích bổ sung, viết logic ứng dụng trong mã của tiện ích bổ sung Google Workspace, đồng thời triển khai và kiểm thử bước đó.
Xác định bước
Để định cấu hình một bước, hãy xác định bước đó trong tệp kê khai và viết logic ứng dụng của bước đó trong mã.
Xác định bước trong tệp kê khai
Trong tệp kê khai, appsscript.json:
- Đặt
onConfigFunctionvàonExecuteFunctionthành tên của các hàm tương ứng trong mã của tiện ích bổ sung. Trong ví dụ này, các hàm được gọi làonConfigCalculatevàonExecuteCalculate.onConfigFunctionthiết lập và định cấu hình bước. Nếu cần, hãy thu thập dữ liệu cần thiết từ người dùng để thực thi bước này, chẳng hạn như địa chỉ để gửi email. Trong ví dụ của hướng dẫn này, hãy chỉ định hai giá trị và một phép toán.onExecuteFunctionthực thi bước. Nếu dữ liệu được thu thập từ người dùng, thì dữ liệu đó sẽ được chuyển đến hàm này. Nếu có, hãy trả về một kết quả đầu ra. Trong ví dụ của hướng dẫn này, hãy trả về kết quả của một phép tính số học.
Đặt các giá trị đầu vào và đầu ra bắt buộc để bước này có thể thu thập dữ liệu và gửi dữ liệu đó đến các bước sau. Trong ví dụ này, hãy yêu cầu người dùng cung cấp hai giá trị và một phép toán được xác định trong
inputs[]. Đưa ra kết quả đã tính toán như được xác định trongoutputs[].Để tìm hiểu thêm về giá trị đầu vào và đầu ra, hãy xem bài viết Biến đầu vào và Biến đầu ra. Để đảm bảo các quy trình chạy mà không gặp lỗi, hãy xác thực các biến đầu vào.
Dưới đây là tệp kê khai cho bước Tính toán:
JSON
{
"timeZone": "America/Los_Angeles",
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"addOns": {
"common": {
"name": "Calculator",
"logoUrl": "https://www.gstatic.com/images/branding/productlogos/calculator_search/v1/web-24dp/logo_calculator_search_color_1x_web_24dp.png",
"useLocaleFromApp": true
},
"studio": {
"flows": {
"workflowElements": [
{
"id": "calculatorDemo",
"state": "ACTIVE",
"name": "Calculate",
"description": "Asks the user for two values and a math operation, then performs the math operation on the values and outputs the result.",
"workflowAction": {
"inputs": [
{
"id": "value1",
"description": "value1",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "value2",
"description": "value2",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "operation",
"description": "operation",
"cardinality": "SINGLE",
"dataType": {
"basicType": "STRING"
}
}
],
"outputs": [
{
"id": "result",
"description": "Calculated result",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
}
],
"onConfigFunction": "onConfigCalculate",
"onExecuteFunction": "onExecuteCalculate"
}
}
]
}
}
}
}
Tiếp theo, hãy viết mã hỗ trợ bằng cách xác định bước trong mã.
Xác định bước trong mã
Trong mã xử lý ứng dụng, hãy làm như sau:
Viết
onConfigFunction, được gọi làonConfigCalculatetrong ví dụ này. Khi thêm bước này vào một quy trình, người dùng có thể định cấu hình các khía cạnh của bước đó trong trình tạo quy trình. Để thu thập thông tin bắt buộc từ người dùng,onConfigFunctionsẽ xác định một thẻ cấu hình.Thẻ là các khối xây dựng cho giao diện người dùng trong tiện ích bổ sung. Thẻ hỗ trợ bố cục đã xác định, các phần tử trên giao diện người dùng tương tác như nút và nội dung đa phương tiện như hình ảnh. Thẻ là cách bạn có thể lấy dữ liệu từ người dùng mà bước này cần để chạy, chẳng hạn như địa chỉ email để gửi email.
onConfigFunctiontrả về một thẻ. Thẻ này xác định giao diện người dùng nơi người dùng đặt dữ liệu của bước. Trong ví dụ này,onConfigFunctionsẽ tạo một thẻ yêu cầu người dùng cung cấp hai giá trị và một phép toán.Viết
onExecuteFunction, được gọi làonExecuteCalculatetrong ví dụ này. Khi bước của bạn chạy trong một quy trình,onExecuteFunctionsẽ chạy. Mọi giá trị đầu vào mà người dùng đã đặt trong quá trình định cấu hình như được xác định trongonConfigFunctionđều được chuyển đếnonExecuteFunction.Viết
onExecuteFunctionđể hàm này thực thi đồng bộ tác vụ của mình bằng các giá trị đầu vào được cung cấp.onExecuteFunctionphải trả về tất cả các giá trị đầu ra được xác định trong tệp kê khai của quy trình, nếu không sẽ xảy ra lỗi.
Mã mẫu này bao gồm một hàm hỗ trợ, outputVariables, hàm này tạo và gửi các biến được cung cấp dưới dạng kết quả đầu ra từ bước này.
Bước của bạn đã sẵn sàng để kiểm thử.
Dưới đây là mã cho bước Máy tính:
Apps Script
/**
* Generates and displays a configuration card for the sample calculation step.
*
* This function creates a card with input fields for two values and a drop-down
* for selecting an arithmetic operation.
*
* The input fields are configured to let the user select outputs from previous
* steps as input values using the `hostAppDataSource` property.
*/
function onConfigCalculate() {
const firstInput = CardService.newTextInput()
.setFieldName("value1")
.setTitle("First Value")
.setHostAppDataSource(
CardService.newHostAppDataSource()
.setWorkflowDataSource(
CardService.newWorkflowDataSource()
.setIncludeVariables(true)
)
);
const secondInput = CardService.newTextInput()
.setFieldName("value2")
.setTitle("Second Value").setHostAppDataSource(
CardService.newHostAppDataSource()
.setWorkflowDataSource(
CardService.newWorkflowDataSource()
.setIncludeVariables(true)
)
);
const selectionInput = CardService.newSelectionInput()
.setTitle("operation")
.setFieldName("operation")
.setType(CardService.SelectionInputType.DROPDOWN)
.addItem("+", "+", false)
.addItem("-", "-", true)
.addItem("x", "x", false)
.addItem("/", "/", false);
const sections = CardService.newCardSection()
.setHeader("Action_sample: Calculate")
.setId("section_1")
.addWidget(firstInput)
.addWidget(selectionInput)
.addWidget(secondInput)
var card = CardService.newCardBuilder()
.addSection(sections)
.build();
return card;
}
/**
* Returns output variables from a step.
*
* This function constructs an object that, when returned, sends the
* provided variable values as output from the current step.
* The variable values are logged to the console for debugging purposes.
*/
function outputVariables(variableDataMap) {
const workflowAction = AddOnsResponseService.newReturnOutputVariablesAction()
.setVariableDataMap(variableDataMap);
const hostAppAction = AddOnsResponseService.newHostAppAction()
.setWorkflowAction(workflowAction);
const renderAction = AddOnsResponseService.newRenderActionBuilder()
.setHostAppAction(hostAppAction)
.build();
return renderAction;
}
/**
* Executes the calculation step based on the inputs from a flow event.
*
* This function retrieves input values and the operation from the flow event,
* performs the calculation, and returns the result as an output variable.
* The function logs the event for debugging purposes.
*/
function onExecuteCalculate(event) {
console.log("output: " + JSON.stringify(event));
var calculatedValue = 0;
var value1 = event.workflow.actionInvocation.inputs["value1"].integerValues[0];
var value2 = event.workflow.actionInvocation.inputs["value2"].integerValues[0];
var operation = event.workflow.actionInvocation.inputs["operation"].stringValues[0];
if (operation == "+") {
calculatedValue = value1 + value2;
} else if (operation == "-") {
calculatedValue = value1 - value2;
} else if (operation == "x") {
calculatedValue = value1 * value2;
} else if (operation == "/") {
calculatedValue = value1 / value2;
}
const variableDataMap = { "result": AddOnsResponseService.newVariableData().addIntegerValue(calculatedValue) };
return outputVariables(variableDataMap);
}
Kiểm thử bước
Để kiểm thử bước, hãy thiết lập một bản triển khai thử nghiệm cho tiện ích bổ sung, thêm bước đó vào một quy trình rồi chạy quy trình đó.
Thiết lập một bản triển khai thử nghiệm cho tiện ích bổ sung:
- Mở dự án tập lệnh trong trình chỉnh sửa Apps Script.
- Nhấp vào Triển khai > Bản triển khai thử nghiệm.
- Nhấp vào Cài đặt.
- Ở dưới cùng, hãy nhấp vào Xong.
Bạn có thể cho phép người dùng khác kiểm thử tiện ích bổ sung bằng cách chia sẻ dự án Apps Script với tài khoản của họ (bạn phải cấp quyền chỉnh sửa). Sau đó, hãy nhắc người dùng làm theo các bước trước đó.
Sau khi cài đặt, tiện ích bổ sung sẽ có ngay trong Quy trình. Bạn có thể cần làm mới Quy trình trước khi tiện ích bổ sung xuất hiện. Bạn cũng phải cho phép tiện ích bổ sung trước khi sử dụng.
Để tìm hiểu thêm về bản triển khai thử nghiệm, hãy xem bài viết Cài đặt tiện ích bổ sung chưa phát hành.
Mở Quy trình.
Tạo một quy trình bao gồm bước của bạn:
- Nhấp vào Quy trình mới.
- Chọn cách bắt đầu quy trình. Khi kiểm thử một bước, bạn nên chọn một trình khởi động mà bạn có thể tự thiết lập, chẳng hạn như gửi email cho chính mình. Nếu bước của bạn yêu cầu một biến đầu vào, hãy định cấu hình biến đầu vào đó trong kết quả đầu ra của trình khởi động.
- Nhấp vào biểu tượng thêmThêm bước. Chọn bước bạn đã tạo hoặc cập nhật, được gọi là Tính toán.
- Định cấu hình bước của bạn. Đối với bước tính toán, hãy chọn hai giá trị và một phép toán. Bước này sẽ tự động lưu.
- Để kiểm thử kết quả đầu ra của bước, hãy thêm một bước khác. Ví dụ: để thêm kết quả đầu ra vào một nội dung email, bạn có thể thêm bước Gửi thư của Gmail. Trong Thư, hãy nhấp vào Biến rồi chọn kết quả đầu ra của bước. Đối với bước tính toán, hãy chọn Biến > Bước 2: Kết quả đã tính toán > Kết quả đã tính toán. Biến này sẽ xuất hiện dưới dạng một thẻ trong trường Thư.
- Nhấp vào Bật. Quy trình của bạn đã sẵn sàng để chạy.
Chạy quy trình bằng cách thiết lập trình khởi động của quy trình. Ví dụ: nếu quy trình của bạn bắt đầu khi bạn nhận được email, hãy gửi email cho chính mình.
Xác minh rằng quy trình chạy như mong đợi. Kiểm tra nhật ký bằng cách truy cập vào thẻ Hoạt động của trình tạo quy trình. Để tìm hiểu cách tạo nhật ký tuỳ chỉnh trong thẻ Hoạt động, hãy xem bài viết Nhật ký hoạt động.
Chủ đề có liên quan
- Biến đầu vào
- Xác thực biến đầu vào
- Biến đầu ra
- Xác định tài nguyên tuỳ chỉnh
- Biến động
- Ghi nhật ký hoạt động và lỗi
- Đối tượng sự kiện Workspace Studio
- Lớp học lập trình: Tạo trình khởi động và các bước hành động tuỳ chỉnh trong Workspace Studio
- Lớp học lập trình: Tạo trình khởi động và các bước hành động tuỳ chỉnh trong Workspace Studio bằng Node.js