Bu kılavuzda, kullanıcıların Google Workspace Studio'da bir akışa ekleyebileceği bir adımın nasıl oluşturulacağı açıklanmaktadır.
Adım, bir akışın görev sırasındaki tek bir adımdır. Adımlar akış başlatamaz.
Örnek olarak, 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 matematik işlemi gerçekleştirir ve sonucu verir.
Bir adım oluşturmak için eklentinin manifest dosyasında yapılandırın, Google Workspace eklentisinin kodunda 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
Manifesto dosyasında appsscript.json:
onConfigFunctionveonExecuteFunctiondeğerlerini, eklentinin kodundaki ilgili işlevlerin adları olarak ayarlayın. Bu örnekte, işlevlereonConfigCalculateveonExecuteCalculateadı verilmiştir.onConfigFunction, adımı oluşturur ve yapılandırır. Gerekirse kullanıcıdan adımı yürütmek için gereken verileri (ör. e-posta gönderilecek adres) toplar. Bu kılavuzdaki örnekte iki değer ve bir matematik işlemi belirtin.onExecuteFunctionadımı yürütür. Kullanıcılardan veri toplandıysa bu veriler bu işleve aktarılır. Geçerliyse bir çıkış döndürür. Bu kılavuzdaki örnekte, matematiksel bir hesaplamanın sonucunu döndürür.
Gerekli giriş ve çıkışları ayarlayın. Bu sayede adım, veri toplayıp sonraki adımlara gönderebilir. 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. Akışların hatasız çalıştığından emin olmak için giriş değişkenlerini doğrulayın.
Hesap makinesi adımının manifesto dosyası aşağıda verilmiştir:
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"
}
}
]
}
}
}
}
Ardından, adımın kodunu tanımlayarak destekleyici kodu yazın.
Adımı kodda tanımlayın
Uygulama kodunda şunları yapın:
onConfigFunctionyazın. Bu örnekteonConfigCalculateolarak adlandırılır. Kullanıcılar adımı bir akışa eklediğinde akış oluşturucuda adımın çeşitli yönlerini 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ımlı bir düzeni, düğmeler gibi etkileşimli kullanıcı arayüzü öğelerini ve resimler gibi rich media öğelerini 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ızı sağlar.
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 örnekteonConfigFunction, kullanıcıdan iki değer ve bir matematik işlemi isteyen bir kart oluşturur.Bu örnekte
onExecuteCalculateolarak adlandırılanonExecuteFunctionyazın. Adımınız bir akışta çalıştırıldığındaonExecuteFunctionçalışır. Kullanıcının yapılandırma sırasındaonConfigFunctionbölümünde tanımlandığı şekilde ayarladığı tüm giriş değerlerionExecuteFunctionbölümüne iletilir.onExecuteFunctionyazarak, sağlanan girişleri kullanarak görevini eşzamanlı olarak yürütmesini sağlayın.onExecuteFunction, akışınızın manifest dosyasında tanımlanan tüm çıkışları döndürmelidir. Aksi takdirde hata oluşur.
Bu kod örneği, sağlanan değişkenleri oluşturup adımdan çıkış olarak gönderen destekleyici bir işlev (outputVariables) içerir.
Adımınız test edilmeye hazır.
Hesap makinesi adımının kodu 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 eklentiniz için bir test dağıtımı oluşturun, adımı bir akışa ekleyin ve ardından akışı çalıştırın.
Eklentiniz için test dağıtımı oluşturma:
- Komut dosyası projesini Apps Komut Dosyası düzenleyicisinde açın.
- Deploy (Dağıt) > Test deployments'ı (Dağıtımları test et) tıklayın.
- Yükle'yi tıklayın.
- Alt tarafta Bitti'yi tıklayın.
Apps Komut Dosyası projesini diğer kullanıcıların hesaplarıyla paylaşarak (düzenleme erişimi gerekir) eklentiyi test etmelerine izin verebilirsiniz. Ardından, kullanıcılardan önceki adımları uygulamalarını isteyin.
Eklenti yüklendikten sonra Akışlar'da hemen kullanılabilir. Eklentinin görünmesi için Flows'u yenilemeniz gerekebilir. Ayrıca, eklentiyi kullanmadan önce yetkilendirmeniz gerekir.
Test dağıtımları hakkında daha fazla bilgi edinmek için Yayınlanmamış bir eklentiyi yükleme başlıklı makaleyi inceleyin.
Flows'u açın.
Adımınızı içeren bir akış oluşturun:
- Yeni akış'ı tıklayın.
- Akışın nasıl başlayacağını seçin. Bir adımı test ederken, kendinize e-posta göndermek gibi kendiniz başlatabileceğiniz bir başlatıcı seçmek iyi bir fikirdir. Adımınız için 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. Oluşturduğunuz veya güncellediğiniz Calculate (Hesapla) adlı 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önder adımını ekleyebilirsiniz. Mesaj bölümünde Değişkenler'i tıklayın ve adımınızın çıkışını seçin. Hesaplama adımı için 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. Akışınız çalıştırılmaya hazır.
Akışınızın başlatıcısını etkinleştirerek akışı çalıştırın. Örneğin, akışınız bir e-posta aldığınızda başlıyorsa kendinize bir e-posta gönderin.
Akışın beklendiği gibi çalıştığını doğrulayın. Akış oluşturucunun Etkinlik sekmesini ziyaret ederek günlükleri kontrol edin. Etkinlik sekmesinde özel günlükler oluşturmayı öğ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
- Codelab: Özel Workspace Studio başlatıcı ve işlem adımları oluşturma
- Codelab: Node.js ile özel Workspace Studio başlatıcı ve işlem adımları oluşturma