fifsky / drone-wechat-work

drone wechat work robot notify
MIT License
6 stars 2 forks source link

DRONE_COMMIT_MESSAGE变量中换行符及引号未能正确处理 #1

Open yw9381 opened 2 years ago

yw9381 commented 2 years ago

.drone.yml中关于drone-wechat-work的step配置

  - name: notify
    image: fifsky/drone-wechat-work
    settings:
      url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXXXXXXXXXX
      msgtype: markdown
      content: |
        {{if eq .Status "success" }}
        #### 🔵 构建成功
        {{else}}
        #### 🔴 构建失败
        {{end}}
        > 项目名称: ${DRONE_REPO}
        > Git地址: [点击访问](${DRONE_REPO_LINK})
        > CommitID: [${DRONE_COMMIT_SHA:0:8}](${DRONE_COMMIT_LINK})
        > 分支名称: ${DRONE_COMMIT_BRANCH}
        > 提交人: ${DRONE_COMMIT_AUTHOR}
        > 构建详情: [点击访问 #${DRONE_BUILD_NUMBER}](${DRONE_BUILD_LINK})
        > 访问UAT环境: [http://1.2.3.4](http://1.2.3.4)
        -----Commit Log-----
        ${DRONE_COMMIT_MESSAGE}
    when:
      event: ['tag', 'push']
      status:
        - failure
        - success

在发送消息时DRONE_COMMIT_MESSAGE如包含换行符,该换行符未能正确处理,在wechat-work中发送的消息,每个换行符都会以n显示 实际在gitea中的commit消息如图所示 image 实际给到drone-wechat-work的完整markdown消息内容,注意末尾有一个换行符\n

#### 🔵 构建成功
> 项目名称: XXX
> Git地址: [点击访问](XXX)
> CommitID: [2EB91B93](http://git.example.com/dev/project/commit/2eb91b9335012811268e3a7b9874b9bd76e7f029))
> 分支名称: master
> 提交人: xxUser
> 构建详情: [点击访问 #5](http://drone.example.com/dev/project/5)
> 访问UAT环境: [http://1.2.3.4](http://1.2.3.4)
-----Commit Log-----
🌈 style(系统状态): 构建时间基于时间戳处理

企业微信中发送消息如图所示 image 在消息中的Commit Log下,整个消息前后多了双引号,每一个换行符最终是以n显示出来

0xJacky commented 1 year ago

换成 ${DRONE_COMMIT_MESSAGE} 换成 {{ .Message }} 就会解析换行了

企业微信截图_8ab5462e-1185-42b1-bf7b-fc4943f95b33