问题描述
正如标题所述,我正在尝试使用 RuleTargetInputProperties 复制输入转换器,但我似乎找不到任何示例或获取正确的输入格式。
我要复制的模板如下:
InputTemplate: |
{
"sourceVersion": <sourceVersion>,"artifactsOverride": {"type": "NO_ARTIFACTS"},"environmentvariablesOverride": [
{
"name": "PULL_REQUEST_ID","value": <pullRequestId>,"type": "PLAINTEXT"
},{
"name": "REPOSITORY_NAME","value": <repositoryName>,{
"name": "SOURCE_COMMIT","value": <sourceCommit>,{
"name": "DESTINATION_COMMIT","value": <destinationCommit>,{
"name" : "REVISION_ID","value": <revisionId>,"type": "PLAINTEXT"
}
]
}
InputPathsMap:
sourceVersion: "$.detail.sourceCommit"
pullRequestId: "$.detail.pullRequestId"
repositoryName: "$.detail.repositoryNames[0]"
sourceCommit: "$.detail.sourceCommit"
destinationCommit: "$.detail.destinationCommit"
revisionId: "$.detail.revisionId"
我尝试过使用 RuleTargetInput,但这并没有给我正确的模板
on_pr_rule = repo.on_pull_request_state_change("PR",target=targets.CodeBuildProject(project,dead_letter_queue=dead_letter_queue,event=events.RuleTargetInput.from_object({
"sourceVersion": events.EventField.from_path("$.detail.sourceCommit"),"pullRequestId": events.EventField.from_path("$.detail.pullRequestId"),"repositoryName": events.EventField.from_path("$.detail.repositoryNames[0]"),"sourceCommit": events.EventField.from_path("$.detail.sourceCommit"),"destinationCommit": events.EventField.from_path("$.detail.destinationCommit"),"revisionId": events.EventField.from_path("$.detail.revisionId")
})
)
)
InputTransformer:
InputPathsMap:
detail-sourceCommit: $.detail.sourceCommit
detail-pullRequestId: $.detail.pullRequestId
detail-repositoryNames-0-: $.detail.repositoryNames[0]
detail-destinationCommit: $.detail.destinationCommit
detail-revisionId: $.detail.revisionId
InputTemplate: '{"sourceVersion":<detail-sourceCommit>,"pullRequestId":<detail-pullRequestId>,"repositoryName":<detail-repositoryNames-0->,"sourceCommit":<detail-sourceCommit>,"destinationCommit":<detail-destinationCommit>,"revisionId":<detail-revisionId>}'
有没有人有使用 RuleTargetInputProperties 添加模板的经验?
解决方法
根据输入,我猜您正在处理公关工作流程。这就是我ended up with .
_pr_build_events_input = events.RuleTargetInput.from_object({
"sourceVersion": events.EventField.from_path("$.detail.sourceCommit"),"artifactsOverride": {"type": "NO_ARTIFACTS"},"environmentVariablesOverride": [
{
"name": 'pullRequestId',"value": EventField.from_path('$.detail.pullRequestId'),"type": 'PLAINTEXT',},{
"name": 'repositoryName',"value": EventField.from_path('$.detail.repositoryNames[0]'),{
"name": 'sourceCommit',"value": EventField.from_path('$.detail.sourceCommit'),{
"name": 'destinationCommit',"value": EventField.from_path('$.detail.destinationCommit'),{
"name": 'revisionId',"value": EventField.from_path('$.detail.revisionId'),],})