如何在Bosun通知定义中传递JIRA API的基础认证令牌?
解决Bosun调用JIRA API的基础认证问题
嘿,我来帮你搞定这个Bosun配置的问题!Bosun的通知定义里确实没有专门针对基础认证的专属关键字,但我们可以通过自定义HTTP请求头来实现JIRA要求的认证方式。
JIRA的基础认证需要在请求中携带Authorization头,格式是Basic <BASE64编码的"用户名:密码">。你只需要在你的通知定义里添加headers字段,把这个认证头配置进去就行,修改后的配置大概是这样:
notification jira_alert { post = https://example.com:8081/rest/api/2/issue/createmeta contentType = application/json headers = map( "Authorization": "Basic <替换成你的BASE64编码字符串>" ) }
这里有几个关键点要注意:
- 把
<替换成你的BASE64编码字符串>换成你实际生成的内容——也就是把你的JIRA用户名:JIRA密码这个字符串做BASE64编码后的结果 headers关键字接受一个map结构,用来定义所有你需要自定义的HTTP请求头
另外,为了安全起见,我不建议你直接把认证字符串硬编码在配置文件里。Bosun提供了secret功能来存储敏感信息,你可以这么配置:
secret jira_auth { type = "string" value = "Basic <替换成你的BASE64编码字符串>" } notification jira_alert { post = https://example.com:8081/rest/api/2/issue/createmeta contentType = application/json headers = map( "Authorization": secret("jira_auth") ) }
这样就能把敏感的认证信息和配置文件分离,更安全也更易于维护。
内容的提问来源于stack exchange,提问作者TomTom
相关产品推荐
相关产品推荐

