如何将事件从Jenkins发送到AWS EventBridge?

hgtggwj0  于 2023-03-22  发布在  Jenkins
关注(0)|答案(1)|浏览(131)

我期待着实现这样的事情。
Jenkins --(json event)--> AWS eventbride event---> multiple targets(cross account EventBridge event bus)
然后,此事件的每个消费者帐户将触发API网关以进行进一步处理。
那么,有没有办法将事件从Jenkins发送到AWS EventBridge?

8i9zcol2

8i9zcol21#

您可以使用AWS CLI或SDK将事件从Jenkins发送到AWS EventBridge。

  • 为Jenkins创建EventBridge规则
  • 在Jenkins服务器上安装AWS CLI,或将AWS SDK添加到Jenkins构建环境中
  • 使用脚本概念将事件发送到EventBridge规则-如下
  • 使用AWS CLI或SDK通过AWS进行身份验证,使用下面的put-events API将事件发送到EventBridge
#!/bin/bash

# Set AWS credentials
export AWS_ACCESS_KEY_ID=<your-access-key-id>
export AWS_SECRET_ACCESS_KEY=<your-secret-access-key>
export AWS_DEFAULT_REGION=<your-region>

    # Set the EventBridge rule name and JSON event data
    RULE_NAME=<your-rule-name>
    EVENT_DATA='{
      "source": "jenkins",
      "detail-type": "jenkins-build",
      "detail": {
        "project": "your-project",
        "branch": "master",
        "status": "success"
      }
    }'

# Send the event to EventBridge using the AWS CLI

aws events put-events --entries "{\"Source\": \"jenkins\", \"DetailType\": \"jenkins-build\", \"Detail\": \"$EVENT_DATA\", \"EventBusName\": \"$RULE_NAME\"}"

相关问题