如何通过API对Bitbucket Pull Request进行Markdown / HTML注释?

时间:2019-10-21 09:18:07

标签: bash api bitbucket pull-request

我正在使用Bitbucket API(2.0)向Pull Rrequests提交评论,但是我很难确定如何使用Markdown或HTML发送“样式化”评论。

到目前为止,我只能以原始模式发送评论。

这是文档

https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/pullrequests/%7Bpull_request_id%7D/comments#post

这是发送原始消息的代码:


BITBUCKET_API_ROOT="https://api.bitbucket.org/2.0"
BITBUCKET_STATUS_API="$BITBUCKET_API_ROOT/repositories/$BITBUCKET_NAMESPACE/$BITBUCKET_REPOSITORY/pullrequests/$PR_ID/comments"


MESSAGE="this is my message."

echo "Pushing comment to $BITBUCKET_STATUS_API..."
curl --request POST $BITBUCKET_STATUS_API \
--user $BITBUCKET_USERNAME:$BITBUCKET_ACCESS_TOKEN \
--header "Content-Type:application/json" \
--silent \
--data "{\"content\": { \"raw\": \"$MESSAGE\" }}"

尝试通过以下方式指定降价:

--data "{\"content\": { \"raw\": \"$MESSAGE\", \"markup\": \"markdown\"  }}"

导致:

{"type": "error", "error": {"fields": {"content.markup": "extra keys not allowed"}, "message": "Bad request"}}

尝试其他操作(例如指定html字段)也无济于事。

1 个答案:

答案 0 :(得分:0)

我很确定这是文档中的错误。您可以检查当有人评论PR时他们发送的请求。他们发送数据:--data '{"content":{"raw":"test **2**"}}'。然后您可以检查响应情况,使用什么渲染器解析您的消息。
因此,只要发送带有markdown的原始消息,Bitbucket就会使用markdown渲染器进行显示。
您可以在community.atlassian.com上找到类似这些问题:
https://community.atlassian.com/t5/Bitbucket-questions/Is-it-possible-to-reply-to-a-pull-request-comment-via-Bitbucket/qaq-p/1047943
https://community.atlassian.com/t5/Bitbucket-questions/How-to-post-html-comments-on-pull-request-via-2-0-api/qaq-p/1066809
他们都没有Atlassian的答案。