【发布时间】:2020-08-19 05:02:42
【问题描述】:
我正在使用 GitLab 进行 CI/CD 流程。我想在 Slack 中向我的频道发送消息。从终端遵循 API 工作:
curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/xxx/yyyy/zzzz
但是,当我将此行放入我的 .yml 文件时,它给了我一个“yaml 无效错误”。完整版块在这里:
slack_jar:
stage: slack
before_script:
- echo "hi there"
script:
- curl -F file=@target/springApp-0.0.1.jar -F channels=#application_dev_backend -F token='xoxb-1111-2222-yyyyyy' https://slack.com/api/files.upload
only:
- dev
slack_message:
stage: slack
script:
- echo "Send Slack Messages"
- curl -X POST -H 'Content-type: application/json' --data '{"text":"Hello, World!"}' https://hooks.slack.com/services/xxxx/yyyy/zzzz
only:
- dev
第一阶段(发送文件)是正确的,但第二阶段不工作。这是我收到的错误消息:
状态:语法不正确错误:jobs:slack_message:script config 应该是字符串或字符串数组
【问题讨论】:
-
我记得,一个作业中不允许有多个
script键,并且每个作业必须有一个script。请删除第一个。 -
您可以拥有
before_script、script和after_script,所以您很好。您可以发布完整的错误消息吗?你用的是 gitlab CE 还是 EE?