levonet.ci_jira_comment
CI:带构建信息的Jira评论
添加新评论或更新最后的CI评论,将构建信息添加到Jira任务中。
角色变量
ci_jira_api
(必需):Jira API URL。ci_jira_username
(必需):Jira用户名。ci_jira_password
(必需):Jira密码。ci_jira_github_branch
(必需):Github分支名称。必须包含Jira任务ID。例如TODO-44.feature
。ci_jira_github_pr
(必需):Github拉取请求编号。ci_jira_github_repository_url
(可选):Github代码库URL。ci_jira_task_filter
(必需):从Github分支提取Jira任务的正则表达式过滤器。例如:(TODO|BUGS)-\d+
。ci_jira_message_body
(可选):一些包含CI信息的文本消息。ci_jira_message_id
(可选):唯一的文本消息ID。如果Jira评论中需要多个消息时需要。ci_jira_message_title
(可选):默认值为Continuous Integration
。ci_jira_ignore_errors
(可选):默认值为no
。
示例剧本
- hosts: 127.0.0.1
connection: local
gather_facts: no
vars:
ci_jira_api: https://myorg.atlassian.net/rest/api/2
ci_jira_username: ci-bot
ci_jira_password: secret
ci_jira_github_branch: "{{ github_branch }}"
ci_jira_github_pr: "{{ github_pr_number }}"
ci_jira_github_repository_url: https://github.com/myorg/myapp
ci_jira_task_filter: (MYAPPAPI|MYAPPDB|BUGS)-\d+
ci_jira_message_body: |
* 应用: [pr-{{ ci_jira_github_pr }}.myapp.myorg.com|http://pr-{{ ci_jira_github_pr }}.myapp.myorg.com]
* 日志: [myapp-PR-{{ ci_jira_github_pr }}|http://grafana.myorg.com/d/XxXxXx/logs?var-host=sandbox1&var-app=myapp-PR-{{ ci_jira_github_pr }}]
* Jenkins: [PR-{{ ci_jira_github_pr }}|http://jenkins.myorg.com/job/myapp/view/change-requests/job/PR-{{ ci_jira_github_pr }}/]
roles:
- role: levonet.ci_jira_comment
在Jenkins中运行:
ansible-playbook myplaybook.yml -e github_branch="${CHANGE_BRANCH}" -e github_pr_number="${CHANGE_ID}"
最终,你将在Jira任务中收到如下评论:
持续集成
- Github: PR-115
- 应用: pr-115.myapp.myorg.com
- 日志: myapp-PR-115
- Jenkins: PR-115
许可
作者信息
该角色由 Pavlo Bashynskyi 创建。