issue管理大変ですよね。
複数のissueを一気に登録したり、システムと連携してイベントベースでissueを登録できたりすると、issueを管理するのがずっと楽になります。
node.jsで実装しているので、AWS Lambda経由で実行するといろんなイベントから呼び出せて汎用性が高そうです。
使うもの
octkitというGithubAPIクライアントのライブラリを使います。
https://developer.github.com/v3/libraries/
ドキュメントも豊富で使いやすいです。
実装
create_issue.js
const { Octokit } = require("@octokit/rest");
const dotEnv = require('dotenv').config();
const octokit = new Octokit({auth: dotEnv.parsed.ACCESS_TOKEN});
if (process.argv.length !== 4) {
console.log('タイトルと本文を指定して下さい');
return;
}
octokit.issues.create({
owner: '組織名',
repo: 'リポジトリ名',
title: process.argv[2],
body: process.argv[3],
}).then(({data}) => {
console.log(data);
}).catch(error => {
console.log(error);
});
dotenvを使ってACCESS_TOKENを外から渡せるようにしてあります。
.env
ACCESS_TOKEN=アクセストークン
これでissueを作成できます。