SPIDERPLUS Tech Blog

建設SaaS「スパイダープラス」のエンジニアとデザイナーのブログ

Devinを使ったGitHub Issueの作成効率化

こんにちは。
iOSアプリ開発を行っているG.C.です。

みなさんは開発業務の中で、仕様の策定、設計、実装、テスト以外の作業にも時間が取られていることってありませんか?

それを効率化することができたらなと思い、最近、生成AIのDevinを使って作業の一部をアウトソーシングしています。

今回は、Devinを使って行っている業務の一例を示し、そこで感じたことを紹介していきたいと思います。

きっかけ

SpiderPlus & Co.では、プロダクトの企画を行うチームと開発チームが分かれていて、
企画チームはエンハンスやバグの管理を「Backlog」で、開発チームでは「GitHub」で行っています。
そのため、開発チームでエンハンスやバグに着手する際には、「Backlog」から「GitHub」への転記作業を行う必要があります。
上記の作業をAIに任せて人間の作業を軽減できないかと考えました。

Devinにスクリプトで指示を出してBacklogの内容をGitHubに起票してみた

SlackからDevinにスクリプトを送信して、Backlogを元にGitHubに起票しました。
結果は以下の通り。

Backlog

Backlog画面より引用

スクリプト

起票に利用したテンプレート(problem.yml)

name: "issues"
description: "不具合の報告用テンプレート"
title: "[問題] タイトルを記入"
labels: ["起因:Bug", "デバイスiPad"]
assignees: []

body:
  - type: markdown
    attributes:
      value: "## 発信元\nここに発信元を記載する。etc"

  - type: input
    id: source
    attributes:
      label: "発信元"
      description: "発信元を記入してください。"
      placeholder: "Backlog URL etc"

  - type: textarea
    id: phenomenon
    attributes:
      label: "事象(結果)"
      description: "ここに不具合の事象を記載する。"

  - type: textarea
    id: problem
    attributes:
      label: "問題点"
      description: "ここにユーザーの困りごと(その事象が発生することでユーザーは何が困るのか)を記載する。"

 ・・・

起票されたGitHub Issue

BacklogへGitHub IssueのURLを設定

メリット

  • 自動化によって、開発者の起票に費やす時間が軽減される
    • 起票に15分 → スクリプトをテンプレ化することによって30秒
  • 即席で自動化ができる
    • APIの調査や自動化などの必要がない。
  • GitHub APIやBacklog APIに対する知識が特に必要ない(これが一番重要)
    • 自然言語で指示を出すだけでGitHub Issueが完成するため、スクリプトのテンプレの作成から技術者がいなくても実施が可能である。

苦労したこと

  • スクリプトの調整が面倒臭い
    • テンプレートを利用してGitHub Issueの起票を行っているが、スクリプトの記述順番を変更すると、テンプレートが正しく適用されないことがある。

テンプレートが適用されなかった例

上記で使用したスクリプトの「テンプレート」と「タイトル」の順番を入れ変えてDevinに送信しました。

テンプレートが適用されなかった時のスクリプト

テンプレートが正しく適用されずに起票されたGitHub Issue

まとめ

即席で自動化できるのは「いいね!」と思った反面、伝える順番が逆になっただけで、テンプレートが適用されないという問題が発生する。Devinさんとの日々の会話とDevinさんの癖を学ぶ必要がありますね。
皆さんも、Devinとコミュニケーションを取りながら、楽に!効率的に!仕事をしていきましょう。

スパイダープラスでは仲間を募集中です。
スパイダープラスにちょっと興味が出てきたなという方がいらっしゃったらお気軽にご連絡ください。