はじめに
こんにちは!!
Firebase Functionsを使っていると、時々エラーが発生しますよね。そんな時、手動でエラーログを確認し、Jiraにバグのチケットを作成するのは手間がかかります。
そこで、Firebase Functionsでエラーが発生した際に、Jiraに自動でチケットを作成する方法をご紹介します。使用する言語はTypeScript、Node.js、そしてHTTPリクエストにはaxiosを使用します。
何を書いたか
この記事では、Firebase Functionsでエラーが発生した際に、自動でJiraにバグのチケットを作成する方法について詳しく説明します。
なぜ書いたか
エラー発生時に迅速に対応するためには、エラーログを確認し、バグのチケットを作成することが重要です。しかし、手動でこれを行うのは非効率です。そこで、自動化することでエラー対応を迅速かつ効率的に行えるようにこの記事を書きました。
対象読者は、Firebase Functionsを使用しているエンジニアや、エラー処理を自動化したいと考えている方々です。
本題
必要なもの
- Firebase Functions
- Jiraアカウント
- axiosライブラリ
- TypeScript
手順
- axiosのインストール
HTTPリクエストを送信するためのaxiosライブラリをインストールします。
npm install axios
-
Jira APIトークンの取得
JiraのAPIトークンを取得します。Jiraのアカウント設定からAPIトークンを生成します。 -
関数の作成
エラーが発生した際にJiraにチケットを作成する関数を作成します。
import axios from 'axios'
const JIRA_API_TOKEN = 'YOUR_JIRA_API_TOKEN'
const JIRA_HOST = 'your-domain.atlassian.net'
const JIRA_ISSUE_TYPE = '10010' // BugのID
const JIRA_PROJECT_KEY = 'YOUR_PROJECT_KEY'
const JIRA_USERNAME = 'your-email@example.com'
const createJiraIssue = async (funcName: string, message: string): Promise<void> => {
const jiraIssueData = {
fields: {
summary: `${funcName}関数でエラーが発生しました`,
description: {
version: 1,
type: 'doc',
content: [
{
type: 'paragraph',
content: [
{
type: 'text',
text: message
}
]
}
]
},
assignee: null,
issuetype: {
id: JIRA_ISSUE_TYPE
},
project: {
key: JIRA_PROJECT_KEY
}
}
}
try {
await axios.post(`https://${JIRA_HOST}/rest/api/3/issue`, jiraIssueData, {
auth: {
username: JIRA_USERNAME,
password: JIRA_API_TOKEN
},
headers: {
'Content-Type': 'application/json'
}
})
console.log('Jiraチケットを正常に作成しました')
} catch (err) {
console.error('Jiraチケットの作成に失敗しました:', JSON.stringify(err))
}
}
参考文献
最後に
最後まで読んでいただきありがとうございます。
質問やフィードバックがあれば、ぜひコメントしてください。