目録
- 画面と機能
- DevOps reposで、pull request作成の時、自動的にdescription文字を追加(上限4000字まで)
- pipeline起動条件を設置(特定の動作・特定のブランチ)
- それぞれのbranchの為、特有のpull requestテンプレートを設置
- reposのpipelineが修正されたため、pipeline適用されたpull requestが「Build expired」になる場合
画面と機能
- タスク管理画面
- wiki画面。プロジェクトのドキュメントをまとめる。内容編集の時、
[[_TOC_]]
を入れると、目次自動生成できる。
- repository画面。devopsにはgithubと似た様な倉庫ブランチ機能がある
- pipeline画面。CICD機能として、レポジトリ資材をサービス環境に反映するための自動化処理がある。
Devops reposで自動的にdescription文字を追加
- 倉庫のdefault branchのroot pathにpull_request_template.mdを追加、その中身がdescriptionのテンプレートとして、pull request作成度自動追加される。他の機能はオフィシャル説明 に記載されている
- もし違うpull request先にそれぞれのテンプレートを用意したい場合、オフィシャル説明 の【Branch specific pull request templates】を参考
pipeline起動条件を設置
-
azure Repos git種類の倉庫では、pull requestの作成をpipelineの起動条件にしたい場合、PRを受ける予定ブランチのbranch policiesで、起動したいpipelineを手動追加する。 オフィシャル説明、PR triggers部分を参考
-
「pull request作成」を起動条件にしたpipelineの中、pull request作成側のブランチ名によってい、pipelineの動作を設置(if文の様に)。下↓例文の中、PR作成側のブランチ名が“gitresource“で始まる場合、下の”job”内容が起動される;逆に、PR作成側のブランチ名を”gitresource”以外で始まるを限定したい場合、“startsWith”を“not”で入れ替える
- job: Update_git_resources condition: startsWith(variables['System.PullRequest.SourceBranch'], 'refs/heads/gitresource') steps: - script: echo Git資材更新
-
pull requestがmergeされた後、上のPRのようにpipelineをPR投げ側のブランチ名でpipelineの実行すべきjobを分ける事は出来ない。'System.PullRequest.SourceBranch'と言うパラメータはbranch policiesが追加されたpipeline中のみ使用出来る。システムは、PRがmerge後、どのブランチからPRを投げたのは分からないので。だから現在考えられる、PRがmerge後起動のpipelineに、ファイルやフォルダのチェックを入れるのは妥当だと思う。
例えは、sfdx metadataなら、全ての資材が「force-app」フォルダ、deploy用xmlは「manifest」フォルダ。この二つのフォルダ内容の修正をpipeline triggerにするのはありと思う。
ちなみに、merge動作をtriggerにするpipeline中、'Build.SourceBranch'パラメータがPRを受け側のブランチを表す。
詳しくはオフィシャル説明、SourceBranch部分を参考
それぞれのbranchの為特有のpullrequestテンプレートを設置
DevOps倉庫で、違うブランチへpull request投げたとき、投げ先ブランチ名によってい、「Description」欄にブランチ名に合わせたテンプレート文を自動入力するため、倉庫に
<repository root>/pull_request_template/branches/
のフォルダを作成、そして ブランチ名 .md
のファイルを追加すると、ブランチ特有のテンプレートが設置完了。
詳細はオフィシャル説明「Branch specific pull request templates」部分を参考
pull request出す後pipelineが修正された場合
具体的な情報は: