Çıkış değişkeniyle adımlar arasında veri aktarma

Bu kılavuzda, çıkış değişkeninin nasıl oluşturulacağı açıklanmaktadır.

Çıkış değişkenleri adımlar tarafından döndürülür ve başka bir adıma gönderilebilir. Örneğin, bir e-posta adresini, e-postanın alıcısını belirtmek için kullanılan başka bir adıma iletin.

Çıkış değişkenini iki yerde tanımlayın: eklentinin manifesto dosyasında ve çıkış değişkenini döndüren bir işlev içeren kodda.

Aşağıdaki örnekte, üç giriş değişkeninden (iki sayı ve bir aritmetik işlem) hesaplanmış bir matematiksel sonuç döndürülmektedir.

Manifest dosyasında çıkış değişkenini tanımlayın

Apps Komut Dosyası manifest dosyasında bir outputs[] dizisi ve bir onExecuteFunction belirtin.

outputs[] dizisindeki her öğe şu özelliklere sahiptir:

  • id: Çıkış değişkeni için benzersiz tanımlayıcı.
  • description: Son kullanıcılara gösterilecek çıkış değişkeninin açıklamasıdır.
  • cardinality: Kaç değere izin verilir? Olası değerler:
    • SINGLE: Yalnızca bir değere izin verilir.
  • dataType: Kabul edilen değer türü. dataType, veri türünü tanımlayan basicType özelliğine sahiptir. Geçerli değerler şunlardır:
    • STRING: Alfanümerik bir dize.
    • INTEGER: Bir sayı.
    • TIMESTAMP: "Unix epoch'tan bu yana geçen milisaniye" biçiminde bir zaman damgası. Örneğin, 27 Kasım 2025, 16:49:02 UTC değeri 1764262142988 olarak gösterilir.
    • BOOLEAN: True (doğru) veya false (yanlış).
    • EMAIL_ADDRESS: dana@example.com biçiminde bir e-posta adresi.

Aşağıdaki örnekte, hesap makinesi adımı için bir çıkış değişkeni tanımlanmaktadır. Çıkış değişkeni bir tamsayıdır.

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": "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"
          }
        }
      ]
    }
  }
}

Çıkış değişkenini kodda tanımlama

Adımın kodu, manifestte tanımlanan onExecuteFunction olan onExecuteCalculate adlı bir işlev içeriyor. Kullanıcı tarafından girilen iki değer üzerinde aritmetik işlemler gerçekleştirir ve sonucu outputVariables adlı bir işlevle çıkış değişkeni olarak döndürür.

Bir çıkış değişkeni döndürmek için aşağıdaki koşulları karşılayan JSON'u döndürün:

  • Her çıkış değişkeninin variableId, manifest dosyasındaki karşılık gelen çıkış değişkeninin id ile eşleşmelidir.
  • Çıkış değişkeninin variableData değeri, manifesto dosyasındaki ilgili çıkış değişkeninin dataType ve cardinality değerleriyle eşleşmelidir.

Aşağıdaki örnek, iki giriş sayısının aritmetik değeri olan bir çıkış değişkeni döndürür:

Apps Komut Dosyası

/**
 * 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"];
  var value2 = event.workflow.actionInvocation.inputs["value2"];
  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 variableData = AddOnsResponseService.newVariableData()
    .addIntegerValue(calculatedValue);
  
  const workflowAction = AddOnsResponseService.newReturnOutputVariablesAction()
    .addVariableData("result", variableData);

  const hostAppAction = AddOnsResponseService.newHostAppAction()
    .setWorkflowAction(workflowAction);

  return AddOnsResponseService.newRenderActionBuilder()
    .setHostAppAction(hostAppAction)
    .build();
}