前提
- Gitlab Issues Board便利だよねっていうマネージャがいる
- 案件・クライアント毎にProjects/Sub Groupsを分けてIssueを管理している
- 1 Sprintを1週間とし、その週に立ったIssueは翌週の水曜までにテスト環境にDeploy
- ある程度DispatchingできるTeamである
最初にやったこと
- Googleフォーム→Gitlab Service Desk→Issue(Project)
運用内容
- Googleフォームから投稿
- Google Apps Scriptからメール送信
- Gitlab Service Deskで1次受け用のGitlab ProjectにIssueが立つ
- Dispatcherが振り分け
- StatusはLabelでtodo, wip, doneくらい持ってるが初期で割り振られていない
- Issue Close条件
- クライアントの検収確認後
- 案件・クライアントのProjectにIssueをmoveする
- ↑でmoveしたIssueをCloseする(moveすると元のIssueは自動的にCloseする)
メリット
- 開発工数が低い
- Googleフォーム
- テンプレートに合わせてメール本文をBuildする
- Service DeskにGmailApp.sendmail()する
- ランニングコストがG Suiteに含まれるので実質無料
課題
- 案件・クライアントがわかりにくい
- IssueのDescriptionにあってややこしい
- Service Desk経由からだとIssueの細かい表現の設定ができない
- Confidential Issueになる
- Labelを付与できない
- Assigneeを設定できない
次にやったこと
- Google Apps Script→Gitlab APIからPOST→Issue(Project)
運用内容
- Google Apps Scriptのフォームから投稿
- Google Apps ScriptからGitlab APIにPOST
- Gitlab ProjectにIssueが立つ
- Issue Close条件
- クライアントの検収確認後
- Commit/Merge Requestにproject#IssueNoを含めて関連付けする
メリット
- ランニングコストがG Suiteに含まれるので実質無料
- いくつか追加で自動化
- Assignee設定
- 案件・クライアントLabel
- Project横断はCommit/MR messageにproject#IssueNoを含めて関連付けする
課題
- 最初の案に比べると開発工数高い
- Slack通知のChannel分けをどうしたらいいか?(今は案件・クライアント毎にChannelがある)
- 案件・クライアント情報及びGitlab Group User情報などをGoogle Spreadsheetから参照してフォームのSelect boxに出すようなことをやっていたけど、Gitlab APIから取得しても良さそう。
まとめ
まだまだ始めたばかりなので運用しながらKPTするぞい。
Top comments (0)