Jira Service Management の管理者向けの利用開始ガイド
最初に、Jira Service Management の使用を開始する方法を確認します。
この記事では、Jira Service Management Cloud の一部のお客様に段階的に展開されている、Jira Service Management でネイティブに利用できる新しいアラート機能を取り上げています。ご利用のサイトにはまだ表示されていないか、利用できない可能性があります。
場所やパスなどの構成ファイル プロパティを設定します。その前に、場所設定ファイルのいくつかの環境変数を設定する必要があります。設定ファイルは次のようにして入手できます。
ローカル ドライブから
Git を使用して
JEC_CONF_SOURCE_TYPE 変数と JEC_CONF_LOCAL_FILEPATH 変数を設定します。
Redhat 6/Centos 6 の場合
/etc/init.d/jec ファイルを編集します。
"start()" 関数の直前に次のエクスポート コマンドを追加します。
1
2
3
4
export JEC_CONF_SOURCE_TYPE="local"
export JEC_CONF_LOCAL_FILEPATH="/home/jsm/jec/config.json"
start().......
Redhat 7 / Centos 7 と Debian / Ubuntu の場合
/etc/systemd/system/jec.service ファイルを編集します。
[Service] キーセクションで、[install] キーの開始直前に次の環境プロパティを追加します。
1
2
3
4
5
6
7
8
...
[Service]
...
...
Environment="JEC_CONF_SOURCE_TYPE=local"
Environment="JEC_CONF_LOCAL_FILEPATH=~/jec/config.json"
...
[Install]
Windows システムの場合
jecService<32 | 64>.json ファイルを編集します (ダウンロードした zip ファイルにあります)。
JSONには "Env" というキーが含まれており、配列を値として取ります。"JEC_CONF_LOCAL_FILEPATH" と "JEC_CONF_SOURCE_TYPE" を値と共に "Env" キーの配列内にリストします。
JSON
1
2
3
4
5
6
7
8
...
...
"Env": [
"JEC_CONF_LOCAL_FILEPATH=C:\\jsm\\jec-win64\\config.json",
"JEC_CONF_SOURCE_TYPE=local"
],
...
...
JEC_CONF_GIT_URL、JEC_CONF_GIT_FILEPATH、JEC_CONF_GIT_PRIVATE_KEY_FILEPATH、JEC_CONF_GIT_PASSPHRASE の各変数を設定します。公開リポジトリを使用している場合は、Git URL の https 形式を使用する必要があります。非公開キーとパスフレーズを設定する必要はありません。オプションで JEC_API_KEY を設定できます。このプロパティが環境に設定されている場合は、その値が apiKey として使用され、それ以外の場合は設定ファイルのapiKeyが使用されます。
設定変数
鍵 (キー) | 値のプロパティ | 例 |
---|---|---|
JEC_CONF_SOURCE_TYPE | git、Git からの読み取り用 local、ローカル環境からの読み取り用 | JEC_CONF_SOURCE_TYPE=git JEC_CONF_SOURCE_TYPE=local |
JEC_CONF_LOCAL_FILEPATH | 拡張子が (.yaml、.yml、または .json) のファイルパス | JEC_CONF_LOCAL_FILEPATH=/home/JSM/JECConfig.yaml
JEC_CONF_LOCAL_FILEPATH=~/JECConfig.json |
JEC_CONF_GIT_URL | git リポジトリの HTTPS または SSH URL | JEC_CONF_GIT_URL=git@bitbucket.com:username/test-private-conf-cem.git |
JEC_CONF_GIT_FILEPATH | git リポジトリ フォルダ内のファイルパス (.yaml、yml、または .json) | JEC_CONF_GIT_FILEPATH=~/jec/config.json |
JEC_CONF_GIT_PRIVATE_KEY_FILEPATH | ローカル ドライブ内の git ssh キーの場所 | JEC_CONF_GIT_PRIVATE_KEY_FILEPATH=~/.ssh/id_rsa |
JEC_CONF_GIT_PASSPHRASE | ssh パス フレーズ | JEC_CONF_GIT_PASSPHRASE=1234 |
JEC_LOG_FORMAT_TYPE | text→ logrus テキスト タイプ ログ | JEC_LOG_FORMAT_TYPE=text |
JEC_API_KEY | JEC 統合ページの API キー。このプロパティが設定されている場合は、設定ファイルで提供された apiKey を上書きします。 | JEC_API_KEY=4XXXXXX7-XXXX-XXXX-XXXX-9XXXXXXXXXX4 |
文字「~」は、顧客のサーバーでユーザーとしてプログラムを実行するためのホーム ディレクトリとして使用できます。
http://localhost:<port-number>/metrics. から Prometheus の既定のメトリックを収集できます。同じ環境で複数の JEC インスタンスを実行するには、-jec-metrics を個別のポート番号値として次のように設定します。-jec-metrics <port-number>
JEC のログは次の場所にあります。
Windows: var/log/jsm/jec<pid>.log
Linux: /var/log/jsm/jec<pid>.log
ファイル名の最後に、実行中のプロセスを識別するためのプログラム ID (pid) があります。
JEC は、フィールドを含む json と yaml のファイル拡張子をサポートしています。ローカルか Git かに応じて、設定ファイルのパスを JEC_CONF_LOCAL_FILEPATH または JEC_CONF_GIT_FILEPATH に設定します。
設定フィールド
フィールド | タイプ | (必須) | 説明 |
---|---|---|---|
API キー | 文字列 | true | JEC インテグレーション ページからコピーされる API キー。 |
ベース URL | 文字列 | false | Jira Service Management ミラーの API URL (既定: 'https://api.atlassian.com') |
logLevel | 文字列 | false | JEC のログ レベル |
globalArgs | 文字列のリスト | false | すべてのアクションに適用される引数を実行する |
globalFlags | 文字列 key-value のマップ | false | すべてのアクションに適用されるフラグを実行します。 |
globalEnv | 文字列のリスト | false | 各要素は、‘=’ 文字で区切られた 1 つの環境変数名と値を示します。すべてのアクションに適用されます (例: “ENV1=value”)。 |
actionMappings | 文字列キーと mappedAction 値のマップ | true | アラート アクション マッピングのマップ |
actionMappings → mappedAction | マップ | true | 各 mappedAction はアクションを表し、アクション プロパティ sourceType、filepath、gitOptions、環境変数が含まれています。 |
actionMappings → mappedAction → sourceType | 文字列 | true | スクリプト ファイルの場所の種類は「ローカル」または「git」にできます |
actionMappings → mappedAction → filepath | 文字列 | true | スクリプトまたは実行ファイルの場所。「local」の場合はフルパスを指定する必要があります ('~' を使用できます)。「git」の場合は、ディレクトリのパスを指定する必要があります。 |
actionMappings → mappedAction → stdout | 文字列 | false | アクションの stdout ファイルパス |
actionMappings → mappedAction → stderr | 文字列 | false | アクションの stderr ファイルパス |
actionMappings → mappedAction → args | 文字列のリスト | false | 指定されたアクションに適用される引数を実行する |
actionMappings → mappedAction → flags | 文字列 key-value のマップ | false | 指定されたアクションに適用されるフラグを実行します。 |
actionMappings → mappedAction → env | 文字列のリスト | false | 各要素は、‘=’ 文字で区切られた 1 つの環境変数名と値を示します。指定されたアクションに適用されます (例: “ENV1=value”)。 |
actionMappings → mappedAction → gitOptions | マップ | git ソースには true です | このフィールドには、url (git リポジトリ URL)、
|
actionMappings → mappedAction → gitOptions → url | 文字列 | git ソースには true です | mappedAction の git リポジトリの HTTPS または SSH URL |
actionMappings → mappedAction → gitOptions → privateKeyFilepath | 文字列 | false | mappedAction の git リポジトリの非公開キー ファイルパス (必要な場合) |
actionMappings → mappedAction → gitOptions → passphrase | 文字列 | false | mappedAction の git リポジトリのパスフレーズ (必要な場合) |
pollerConf | マップ | false | このフィールドでは、JEC の sqs キューをポーリングするポーラーの動作を指定する 3 つすべての整数プロパティを取得します。 |
pollerConf → pollingWaitIntervalInMillis | 整数 | false | キューまたは空きジョブ ワーカーに新しいメッセージがない場合のポーラーの待機時間。 |
pollerConf → visibilityTimeoutInSeconds | 整数 | false | sqs キューからポーリングされるメッセージの表示タイムアウト
|
pollerConf → maxNumberOfMessages | 整数 | false | 一度に受信するメッセージの最大数 |
poolConf | マップ | false | このフィールドによって、人材を管理する人材プールの動作を指定する |
poolConf → maxNumberOfWorker | 整数 | false | ワーカー処理アクションの最大数
|
poolConf → minNumberOfWorker | 整数 | false | ワーカー処理アクションの最小数。 |
poolConf → queueSize | 整数 | false | sqs キューから受信したメッセージの内部キュー サイズ
|
poolConf → keepAliveTimeInMillis | 整数 | false | 実際のワーカー数が minNumberOfWorker よりも多い場合の、アイドル状態のワーカーの有効な時間制限
|
poolConf → monitoringPeriodInMillis | 整数 | false | プール指標を記録するモニタリング間隔
|
args、flags、env のローカル変数はグローバル変数より優先されます。
apiKey、jsmUrl (baseUrl)、payload (JSON としての JEC コールバック) はフラグ形式として args に渡されます。これらのフラグは、アクション スクリプトまたは実行可能ファイル内で解析する必要があります。
ペイロードは、アラート情報とインテグレーション固有のパラメーターで構成されています。[Send via JEC (JEC 経由で送信]) オプションにはインテグレーション固有のパラメーターが存在します。
JEC では 1 分ごとに git リポジトリが更新されます。
JEC インテグレーションでは直接アクション (例: Create、Close、Acknowledge など) を使用します。他のインテグレーションでは主に、それ自体に関連するマップされたアクションを使用します (例: Jira インテグレーションの場合は addCommentToIssue や createIssue など)。
サンプル JSON ファイル
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{
"appName": "JEC-Example",
"apiKey" : "4w3a0df7-d5c8-40d7-96db-975986bx3cb4",
"baseUrl" : "https://api.atlassian.com",
"logLevel" : "debug",
"globalArgs" : ["globalArg"],
"_globalFlags" : {
"comment out" : "remove '_' sign to enable globalFlags",
"flagKey" : "flagValue"
},
"globalEnv" : ["globalEnv1=value"],
"actionMappings" : {
"Create" : {
"sourceType" : "local",
"filepath" : "~/Desktop/executable",
"args" : ["arg"],
"_flags": {
"comment out" : "remove '_' sign to enable flags",
"flagKey" : "flagValue"
},
"env" : ["env1=value"],
"stdout" : "~/Desktop/createOut.txt",
"stderr" : "~/Desktop/createErr.txt"
},
"Acknowledge" : {
"sourceType" : "git",
"filepath" : "/executable",
"gitOptions" : {
"url" : "https://bitbucket.org/example/example.git"
},
"stdout" : "~/Desktop/ackOut.txt",
"stderr" : "~/Desktop/ackErr.txt"
},
"Custom" : {
"sourceType" : "git",
"filepath" : "/executable",
"gitOptions" : {
"url" : "git@gitlab.com:example/example.git",
"privateKeyFilepath" : "~/.ssh/id_rsa",
"passphrase" : "pass"
}
}
},
"pollerConf" : {
"pollingWaitIntervalInMillis" : 100,
"visibilityTimeoutInSeconds" : 30,
"maxNumberOfMessages" : 10
},
"poolConf" : {
"maxNumberOfWorker": 12,
"minNumberOfWorker": 4,
"queueSize" : 0,
"keepAliveTimeInMillis" : 6000,
"monitoringPeriodInMillis" : 15000
}
}
サンプル YAML ファイル
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
appName: JEC-Example
apiKey: 4w3a0df7-d5c8-40d7-96db-975986bx3cb4
baseUrl: https://api.atlassian.com
logLevel: debug
globalArgs:
- globalArg
_globalFlags:
comment out: remove '_' sign to enable globalFlags
flagKey: flagValue
globalEnv:
- globalEnv1=value
actionMappings:
Create:
sourceType: local
filepath: "~/Desktop/executable"
args:
- arg
_flags:
comment out: remove '_' sign to enable flags
flagKey: flagValue
env:
- env1=value
stdout: "~/Desktop/createOut.txt"
stderr: "~/Desktop/createErr.txt"
Acknowledge:
sourceType: git
filepath: "/executable"
gitOptions:
url: https://bitbucket.org/example/example.git
stdout: "~/Desktop/ackOut.txt"
stderr: "~/Desktop/ackErr.txt"
Custom:
sourceType: git
filepath: "/executable"
gitOptions:
url: git@gitlab.com:example/example.git
privateKeyFilepath: "~/.ssh/id_rsa"
passphrase: pass
pollerConf:
pollingWaitIntervalInMillis: 100
visibilityTimeoutInSeconds: 30
maxNumberOfMessages: 10
poolConf:
maxNumberOfWorker: 12
minNumberOfWorker: 4
queueSize: 0
keepAliveTimeInMillis: 6000
monitoringPeriodInMillis: 15000
この内容はお役に立ちましたか?