Tips: CodeBuildでGitHubのPRへコメントを行う
これは何
記事投稿イベント「3000文字Tips」の参加記事です。
CodeBuildについて
CodeBuildとは、AWSで使えるCI/CDサービスです。
詳しくは↓の記事などが参考になると思います。
CodeBuildの準備
まずはCodeBuildとGitHubを以下の記事を参考に連携してください。
CIの発火イベントはPULL_REQUEST_UPDATED
を設定してください。
コメントを行うためのスクリプトを用意する
GitHubのPRへコメントを行うためのスクリプトを用意します。
今回はRubyで書いていますが、GitHubのAPIが叩ければなんでも大丈夫です。
ci.rb
require 'net/http'
require 'uri'
require 'json'
trigger_data = ENV['CODEBUILD_WEBHOOK_TRIGGER'].split('/')
uri = URI.parse("https://api.github.com/repos/#{'ユーザー名'}/#{'リポジトリ名'}/issues/#{trigger_data[1]}/comments")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
params = {
body: <<~EOS
#{'コメントしたい内容'}
EOS
}
headers = {
"Accept" => "application/vnd.github.v3+json",
"Authorization" => "token #{'GITHUBアクセストークン'}"
}
response = http.post(uri.path, params.to_json, headers)
buildspec.ymlの準備
buildspec.ymlに以下のように記述します。
buildspec.yml
phases:
build:
commands:
- |
parsed_triger=(${CODEBUILD_WEBHOOK_TRIGGER//\// })
if [ "${parsed_triger[0]}" = "pr" ]; then
ruby scripts/ci.rb
fi
Author And Source
この問題について(Tips: CodeBuildでGitHubのPRへコメントを行う), 我々は、より多くの情報をここで見つけました https://qiita.com/getty104/items/d02fd368c987f3b9fb7e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .