levonet.ci_github_pr_description
CI: 在拉取请求中添加构建信息
在拉取请求描述中添加构建信息。
角色变量
ci_github_api
(默认值: https://api.github.com)ci_github_username
(必填):GitHub 用户名。ci_github_password
(必填):GitHub 访问令牌。ci_github_owner
(必填):GitHub 账号或组织名称。ci_github_repo
(必填):GitHub 项目仓库名称。ci_github_pr_number
(必填):GitHub 拉取请求编号。ci_github_branch
(选填):GitHub 分支名称。ci_github_jira_task_url
(选填):GitHub 仓库 URL。ci_github_jira_task_filter
(选填):从 GitHub 分支过滤的 Jira 任务正则表达式。
例如:(TODO|BUGS)-\d+
。ci_github_message_body
(必填):一些包含 CI 信息的文本消息。ci_github_message_id
(选填):唯一文本消息 ID。如果拉取请求描述中有多个消息则需要填写。
示例剧本
- hosts: 127.0.0.1
connection: local
gather_facts: no
vars:
ci_github_username: ci-bot
ci_github_password: secret
ci_github_branch: "{{ github_branch }}"
ci_github_pr_number: "{{ github_pr_number }}"
ci_github_owner: myorg
ci_github_repo: myapp
ci_github_jira_task_filter: (MYAPPAPI|MYAPPDB|BUGS)-\d+
ci_github_jira_task_url: https://myorg.atlassian.net/browse/
ci_github_message_body: |
* 应用: [pr-{{ ci_github_pr_number }}.myapp.myorg.com|http://pr-{{ ci_github_pr_number }}.myapp.myorg.com]
* 日志: [myapp-PR-{{ ci_github_pr_number }}|http://grafana.myorg.com/d/XxXxXx/logs?var-host=sandbox1&var-app=myapp-PR-{{ ci_github_pr_number }}]
* Jenkins: [PR-{{ ci_github_pr_number }}|http://jenkins.myorg.com/job/myapp/view/change-requests/job/PR-{{ ci_github_pr_number }}/]
roles:
- role: levonet.ci_github_pr_description
在Jenkins中运行:
ansible-playbook myplaybook.yml -e github_branch="${CHANGE_BRANCH}" -e github_pr_number="${CHANGE_ID}"
最终,你将在拉取请求中看到以下描述:
如果有旧描述信息,显示如下:
- Jira: TODO-40
- 应用: pr-115.myapp.myorg.com
- 日志: myapp-PR-115
- Jenkins: PR-115
许可
作者信息
这个角色由 Pavlo Bashynskyi 创建。