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によって作成されました。