Bu kılavuzda, kullanıcıların Google Workspace Studio'daki bir aracıya ekleyebileceği adımın nasıl oluşturulacağı açıklanmaktadır.
Adım, temsilcinin görev dizisindeki tek bir adımdır. Adımlar bir aracı başlatamaz.
Örneğin, aritmetik işlem yapan bir adımı ele alalım. Kullanıcıdan iki değer ve bir matematik işlemi girmesini ister. Ardından, değerler üzerinde matematiksel işlem gerçekleştirir ve sonucu verir.
Bir adım oluşturmak için eklentinin manifest dosyasında yapılandırın, Google Workspace eklentisinin koduna uygulama mantığı yazın ve adımı dağıtıp test edin.
Adımı tanımlama
Bir adımı yapılandırmak için manifest dosyasında tanımlayın ve uygulama mantığını kod olarak yazın.
Adımı manifest dosyasında tanımlayın
Manifest dosyasında appsscript.json:
onConfigFunctionveonExecuteFunctiondeğerlerini, eklentinin kodundaki ilgili işlevlerin adları olarak ayarlayın. Bu örnekte, işlevleronConfigCalculate()veonExecuteCalculate()olarak adlandırılır.onConfigFunction, adımı oluşturur ve yapılandırır. Gerekirse, e-posta göndermek için adres gibi adımı uygulamak üzere gerekli olan kullanıcı verilerini toplar. Bu kılavuzdaki örnekte iki değer ve bir matematik işlemi istiyoruz.onExecuteFunctionadımı yürütür. Kullanıcılardan toplanan veriler bu işleve aktarılır. Geçerliyse bir çıkış döndürür. Bu kılavuzdaki örnekte, matematiksel bir hesaplamanın sonucunu verir.
Gerekli giriş ve çıkışları ayarlayarak adımın veri toplamasını ve sonraki adımlara göndermesini sağlayın. Bu örnekte, kullanıcıdan iki değer ve
inputs[]içinde tanımlanan bir matematik işlemi girmesini isteyin. Hesaplanan sonucuoutputs[]içinde tanımlandığı şekilde çıkış olarak verin.Girişler ve çıkışlar hakkında daha fazla bilgi edinmek için Giriş değişkenleri ve Çıkış değişkenleri başlıklı makalelere bakın. Aracıların hatasız çalıştığından emin olmak için giriş değişkenlerini doğrulayın.
Hesap makinesi adımının manifest dosyası:
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
},
"flows": {
"workflowElements": [
{
"id": "actionElement",
"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"
}
}
]
}
}
}
Ardından, adımı kodda tanımlayarak destekleyici kodu yazın.
Adımı kodda tanımlama
Uygulama kodunda şunları yapın:
Bu örnekte
onConfigCalculate()olarak adlandırılanonConfigFunctionöğesini yazın. Kullanıcılar adımı bir aracıya eklediğinde, adımın özelliklerini aracı oluşturucuda yapılandırabilir.onConfigFunction, kullanıcıdan gerekli bilgileri toplamak için bir yapılandırma kartı tanımlar.Kartlar, eklentilerdeki kullanıcı arayüzlerinin yapı taşlarıdır. Kartlar, tanımlanmış bir düzeni, düğmeler gibi etkileşimli kullanıcı arayüzü öğelerini ve resimler gibi rich media'yı destekler. Kartlar, adımın çalışması için gereken verileri (ör. e-posta göndermek için e-posta adresi) kullanıcıdan almanın bir yoludur.
OnConfigFunction, kart döndürür. Bu kart, kullanıcıların adımın verilerini ayarladığı kullanıcı arayüzünü tanımlar. Bu örnekte,onConfigFunction, kullanıcıdan iki değer ve bir matematik işlemi isteyen bir kart oluşturuyor.Bu örnekte
onExecuteFunctionadlıonExecuteCalculate()işlevini yazın. Adımınız bir temsilcide çalıştırıldığındaOnExecuteFunctionçalışır. Kullanıcının yapılandırma sırasındaonConfigurationFunctionbölümünde tanımlandığı şekilde ayarladığı tüm giriş değerleriOnExecuteFunctionbölümüne iletilir.OnExecuteFunction(), sağlanan girişleri kullanarak görevini eşzamanlı olarak yürütecek şekilde yaz.OnExecuteFunction(), aracınızın manifest dosyasında tanımlanan tüm çıkışları döndürmelidir. Aksi takdirde hata oluşur.
Bu kod örneğinde, sağlanan değişkenleri adımın çıkışı olarak oluşturan ve gönderen destekleyici bir işlev (outputVariables()) yer alıyor.
Adımınız test edilmeye hazır.
Hesaplama adımı için kod aşağıda verilmiştir:
Apps Komut Dosyası
/**
* 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);
}
Adımınızı test etme
Adımınızı test etmek için eklentinizde test dağıtımı ayarlayın, adımı bir aracıya ekleyin ve ardından aracıyı çalıştırın.
Eklentiniz için test dağıtımı oluşturun:
- Komut dosyası projesini Apps Komut Dosyası Düzenleyicisi'nde açın.
- Dağıt > Dağıtımları test et'i tıklayın.
- Yükle'yi tıklayın.
- Alt tarafta Bitti'yi tıklayın.
Apps Komut Dosyası projesini hesaplarıyla paylaşarak (düzenleme erişimi gerekir) diğer kullanıcıların eklentiyi test etmesine izin verebilirsiniz. Ardından, kullanıcılardan önceki adımları uygulamalarını isteyin.
Yüklendikten sonra eklenti, Agents'ta hemen kullanılabilir. Eklenti görünmeden önce Aracıları yenilemeniz gerekebilir. Eklentiyi kullanmadan önce yetkilendirmeniz de gerekir.
Test dağıtımları hakkında daha fazla bilgi edinmek için Yayınlanmamış bir eklentiyi yükleme başlıklı makaleyi inceleyin.
Aracıları açın.
Adımınızı içeren bir temsilci oluşturun:
- Yeni aracı'yı tıklayın.
- Aracının nasıl başlayacağını seçin. Bir adımı test ederken kendiniz başlatabileceğiniz bir başlangıç seçmeniz iyi bir fikirdir (ör. kendinize e-posta gönderme). Adımınız için bir giriş değişkeni gerekiyorsa giriş değişkenini başlatıcının çıkışının bir parçası olarak yapılandırın.
- Adım ekle'yi tıklayın. Hesapla adlı, oluşturduğunuz veya güncellediğiniz adımı seçin.
- Adımınızı yapılandırın. Hesaplama adımı için iki değer ve bir matematik işlemi seçin. Adım otomatik olarak kaydedilir.
- Adımınızın çıkışını test etmek için başka bir adım ekleyin. Örneğin, bir e-posta iletisine çıkış eklemek için Gmail'in İleti gönderme adımını ekleyebilirsiniz. İleti bölümünde Değişkenler'i tıklayın ve adımınızın çıkışını seçin. Hesaplama adımında Değişkenler > 2. Adım: Hesaplanan sonuç > Hesaplanan sonuç'u seçin. Değişken, Mesaj alanında çip olarak görünür.
- Aç'ı tıklayın. Temsilciniz çalıştırılmaya hazır.
Temsilcinizin başlatıcısını tetikleyerek temsilciyi çalıştırın. Örneğin, aracınız bir e-posta aldığınızda başlıyorsa kendinize bir e-posta gönderin.
Aracının beklendiği gibi çalıştığını doğrulayın. Aracı oluşturucunun Etkinlik sekmesini ziyaret ederek günlükleri kontrol edin. Etkinlik sekmesinde nasıl özel günlük oluşturacağınızı öğrenmek için Etkinlik günlükleri başlıklı makaleyi inceleyin.
İlgili konular
- Giriş değişkenleri
- Giriş değişkenini doğrulama
- Çıkış değişkenleri
- Özel kaynak tanımlama
- Dinamik değişkenler
- Etkinlikleri ve hataları günlüğe kaydetme
- Workspace Studio etkinlik nesneleri