

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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`
+ **匹配** - 选择此运算符可检查变量是否匹配给定的正则表达式字符串值。

  中的所有正则表达式都 CodePipeline 符合 Java 正则表达式语法。有关 Java 正则表达式语法及其构造的全面说明，请参阅 [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`

**变量**  
是否必需：是  
要检查的管道变量。

**值**  
是否必需：是  
要参照检查的表达式值。  
在下面的示例中，将检查存储库名称的输出变量是否等于 `MyDemoRepo`。  

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

在下面的 JSON 示例中，定义了两个单独的规则，一个用于检查存储库和格式为 \$1 \$1SourceVariables的分支名称的`EQ`（等于）语句。 RepositoryName\$1 然后检查格式为 \$1 \$1的提交消息输出变量SourceVariables。`CONTAINS` 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) – 本节提供了一个教程，其中包含使用变量检查规则创建“进入时”条件的步骤。
+ [变量参考](reference-variables.md) – 本节提供管道变量的参考信息和示例。
+ [有关规则和条件的更多信息，请参阅 *CodePipeline API 指南[RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)*中的条件和。[RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html)](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html)