

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# VariableCheck
<a name="rule-reference-VariableCheck"></a>

建立條件時，您可以新增`VariableCheck`規則。本節提供規則參數的參考。如需規則和條件的詳細資訊，請參閱 [階段條件如何運作？](concepts-how-it-works-conditions.md)。

您可以使用 `VariableCheck`規則來建立條件，其中會根據提供的表達式檢查輸出變數。當變數值符合規則條件，例如值等於或大於指定的輸出變數時，規則會通過檢查。

**Topics**
+ [規則類型](#rule-reference-VariableCheck-type)
+ [組態參數](#rule-reference-VariableCheck-config)
+ [範例規則組態](#rule-reference-VariableCheck-example)
+ [另請參閱](#rule-reference-VariableCheck-links)

## 規則類型
<a name="rule-reference-VariableCheck-type"></a>
+ 類別：`Rule`
+ 擁有者：`AWS`
+ 提供者：`VariableCheck`
+ 版本：`1`

## 組態參數
<a name="rule-reference-VariableCheck-config"></a>

**運算子**  
必要：是  
表示要為變數檢查執行哪些操作的運算子。  
在下列範例中，將檢查儲存庫名稱的輸出變數是否等於 `MyDemoRepo`。  

```
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
```
下列運算子可用於建立表達式，如下所示。  
+ **等於** - 選擇此運算子來檢查變數是否等於字串值。

  **CLI 參數：** `EQ`
+ **包含** - 選擇此運算子，以檢查變數是否包含字串值作為子字串。

  **CLI 參數：** `CONTAINS`
+ **相符** - 選擇此運算子，以檢查變數是否符合指定的 regex 表達式做為字串值。

  CodePipeline 中的所有規則表達式都符合 Java regex 語法。如需 Java regex 語法及其建構的全面描述，請參閱 [java.util.regex.Pattern](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html)。

  **CLI 參數：** `MATCHES`
+ **不等於** - 選擇此運算子來檢查變數是否不等於字串值。

  **CLI 參數：** `NE`

**變數**  
必要：是  
要檢查的管道變數。

**Value**  
必要：是  
要檢查的表達式值。  
在下列範例中，將檢查儲存庫名稱的輸出變數是否等於 `MyDemoRepo`。  

```
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
```

在下列 JSON 範例中，定義了兩個不同的規則，一個用於 `EQ`（等於） 陳述式，檢查格式為 \$1\$1SourceVariables.RepositoryName\$1 的儲存庫和分支名稱`CONTAINS`，另一個用於檢查格式為 \$1\$1SourceVariables.CommitMessage\$1 的遞交訊息輸出變數，與提供的值「更新」。

```
  "beforeEntry": {
                    "conditions": [
                        {
                            "result": "FAIL",
                            "rules": [
                                {
                                    "name": "MyVarCheckRule",
                                    "ruleTypeId": {
                                        "category": "Rule",
                                        "owner": "AWS",
                                        "provider": "VariableCheck",
                                        "version": "1"
                                    },
                                    "configuration": {
                                        "Operator": "EQ",
                                        "Value": "MyDemoRepo",
                                        "Variable": "#{SourceVariables.RepositoryName}"
                                    },
                                    "inputArtifacts": [],
                                    "region": "us-east-1"
                                },
                                {
                                    "name": "MyVarCheckRuleContains",
                                    "ruleTypeId": {
                                        "category": "Rule",
                                        "owner": "AWS",
                                        "provider": "VariableCheck",
                                        "version": "1"
                                    },
                                    "configuration": {
                                        "Operator": "CONTAINS",
                                        "Value": "update",
                                        "Variable": "#{SourceVariables.CommitMessage}"
                                    },
                                    "inputArtifacts": [],
                                    "region": "us-east-1"
                                }
                            ]
                        }
                    ]
                }
            }
        ],
```

## 範例規則組態
<a name="rule-reference-VariableCheck-example"></a>

------
#### [ YAML ]

```
- name: MyVariableCheck
  ruleTypeId:
    category: Rule
    owner: AWS
    provider: VariableCheck
    version: '1'
  configuration:
    Variable: "#{SourceVariables.RepositoryName}"
    Value: MyDemoRepo
    Operator: EQ
  inputArtifacts: []
  region: us-west-2
```

------
#### [ JSON ]

```
"rules": [
    {
        "name": "MyVariableCheck",
        "ruleTypeId": {
            "category": "Rule",
            "owner": "AWS",
            "provider": "VariableCheck",
            "version": "1"
        },
        "configuration": {
            "Variable": "#{SourceVariables.RepositoryName}",
            "Value": "MyDemoRepo",
            "Operator": "EQ"
        },
        "inputArtifacts": [],
        "region": "us-west-2"
    }
]
```

------

## 另請參閱
<a name="rule-reference-VariableCheck-links"></a>

下列相關資源可協助您處理此規則。
+ [教學課程：建立管道的變數檢查規則做為進入條件](tutorials-varcheckrule.md) – 本節提供教學課程，其中包含使用變數檢查規則建立 On Entry 條件的步驟。
+ [變數參考](reference-variables.md) – 本節提供管道變數的參考資訊和範例。
+ 如需規則和條件的詳細資訊，請參閱 *CodePipeline API 指南*中的 [Condition](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html)、[RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) 和 [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)。