ビビリフクロウの足跡

いつもお世話になっているインターネットへの恩返し

SlackとGitlabを連携して社内IT部門への依頼をやりやすくした話

背景

弊社では、GitLabをメインリポジトリとして活用しておりまして、社内ITの依頼管理に対してもGitLab上のissue機能を使って管理しております。ところがこの管理には以下のような課題が在りました。

  • 実際の依頼はGitLab上に直接記入するのではなく、Slackで飛んでくることのほうが多い
  • issueの起票形式が起票者によってばらつきがある
  • issueの起票フォーマットがMarkdownであるため、非エンジニアの方がGitLab上に直接起票するのが難しい

そこで、Slack APIを使ってSlackからの依頼を自動的にGitLabのissueとして起票する仕組みを考えることにしました!

仕組み

仕組みはシンプルで、AWSAPI GatewayとLambdaを使ってAPIを作成し、Slackの特定のSlashコマンドが叩かれたら以下のようなフローを持って、issueをGitLabに自動作成するようにしています。

f:id:bbrfkr:20201222140811p:plain

より詳細はslideshareに公開しているため、こちらをご覧いただければ幸いです。

www.slideshare.net

まとめ

実運用を初めて2、3ヶ月くらい経ちますが、特に大きな問題もなく、本ツールを導入することでSlackに窓口を一本化、依頼者が手軽にフォーム形式で起票可能となり、メリットがでてきているようです。是非是非、本記事をご覧いただいた方もSlackを用いた業務オートメーションにチャレンジしてみてはいかがでしょうか!