このページでは、ワークフロー自動化アクションカタログで利用可能なJenkinsジョブアクションのリファレンスを提供します。これらのアクションを使用して、Jenkinsビルドをトリガーおよび管理します。
前提条件
ワークフロー自動化でJenkinsジョブアクションを使用する前に、以下が必要です:
- HTTPS経由でNew Relicワークフローオートメーションから到達可能なJenkinsサーバー。Jenkinsインスタンスがファイアウォールの背後またはプライベートネットワーク内にある場合は、New Relicワークフローオートメーションからのインバウンドアクセスを許可してください。
- ワークフローを実行するアカウントのJenkins APIトークン。Jenkinsユーザープロファイルから生成します:Configure > API Token > Add new Token。
username:apiTokenのBase64エンコードされた値を含むNew Relic Secrets Serviceのシークレット。ワークフロー内で${{ :secrets:<keyName> }}として参照します。- フォルダベースのジョブの場合、
/を区切り文字として使用したジョブへの完全なフォルダパス(たとえば、deployments/production/my-job)。
Jenkinsジョブをトリガーします
アクション識別子はjenkins.job.triggerです。
オプションのパラメーターを使用してJenkinsビルドをトリガーします。成功するとqueueIdが返されます。これをjenkins.queue.getItemで使用して、ビルドの進行状況を追跡し、実行開始後にビルド番号を取得できます。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
authToken | 文字列(シークレット) | 必須。 HTTP Basic認証用のBase64エンコードされた
。Jenkinsユーザープロファイルの Configure > API Token からAPIトークンを生成します。 |
|
url | 弦 | 必須。 JenkinsサーバーのURL。 |
|
jobName | 弦 | 必須。 トリガーするJenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。 |
|
パラメーター | 地図 | オプション。 パラメーター化されたビルド用に、ビルドパラメーターをキーの値のペアとして指定します。指定された場合、アクションは自動的に
エンドポイントを使用します。 |
|
selectors | リスト | オプション。 アクションの出力から特定のフィールドを抽出するためのJQセレクター。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
queueId | Int | キューアイテムID、たとえば
。
と一緒に使用して、ビルドの進行状況を追跡し、実行開始後にビルド番号を取得します。 |
queueUrl | 弦 | 完全なキューURL、たとえば
。 |
ステータスコード | Int | HTTPステータスコード。
はトリガーの成功を示します。 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | ビルドのトリガーに失敗した場合のエラーメッセージ。成功した場合は
。 |
次の例では、パラメータ化されたJenkinsビルドをトリガーし、追跡のためにキューIDをキャプチャします。
ワークフローの例 |
|---|
|
Jenkinsビルドのステータスを取得
アクション識別子はjenkins.job.getStatusです。
Jenkinsジョブビルドのステータスを取得します。このアクションを使用して、jenkins.job.triggerによってトリガーされたビルドをポーリングします。
最新のビルドではなく特定のビルドを確認するには、そのbuildNumberを指定します。ビルドをトリガーした後、jenkins.queue.getItemを使用してキューをポーリングし、ビルド番号を取得します。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
authToken | 文字列(シークレット) | 必須。 HTTP Basic認証用のBase64エンコードされた
です。 |
|
url | 弦 | 必須。 JenkinsサーバーのURL。 |
|
jobName | 弦 | 必須。 Jenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。 |
|
buildNumber | Int | オプション。 確認する特定のビルド番号。指定されていない場合、最後のビルドのステータスを返します。 |
|
selectors | リスト | オプション。 HTTPレスポンスから特定のフィールドを抽出するためのJQセレクタ。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | Jenkins APIからのビルドの詳細です。ビルドがまだ進行中の場合、 |
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | リクエストが失敗した場合のエラーメッセージです。成功した場合は
。 |
次の例では、Jenkinsビルドのステータスを確認し、結果に基づいて分岐します。
ワークフローの例 |
|---|
|
Jenkinsジョブを削除する
アクション識別子はjenkins.job.deleteです。
Jenkinsジョブとそのすべてのビルド履歴を完全に削除します。この操作は元に戻せません。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
authToken | 文字列(シークレット) | 必須。 HTTP Basic認証用のBase64エンコードされた
です。 |
|
url | 弦 | 必須。 JenkinsサーバーのURL。 |
|
jobName | 弦 | 必須。 削除するJenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。 |
|
selectors | リスト | オプション。 HTTPレスポンスから特定のフィールドを抽出するためのJQセレクタ。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | 削除に成功すると、JenkinsはHTTP 302(リダイレクト)を返します。ジョブはすぐに削除されます。例:
|
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | 削除に失敗した場合のエラーメッセージです。成功した場合は
。 |
次の例では、一時的なJenkinsジョブを削除します。
ワークフローの例 |
|---|
|
実行中のJenkinsビルドを停止します。
アクション識別子はjenkins.job.stopです。
実行中のJenkinsビルドを停止または中止します。停止すると、JenkinsはビルドをABORTEDとしてマークします。
実行中のビルドのbuildNumberが必要です。jenkins.job.triggerでビルドをトリガーし、jenkins.queue.getItemをポーリングして取得します。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
authToken | 文字列(シークレット) | 必須。 HTTP Basic認証用のBase64エンコードされた
です。 |
|
url | 弦 | 必須。 JenkinsサーバーのURL。 |
|
jobName | 弦 | 必須。 Jenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。 |
|
buildNumber | Int | 必須。 停止するビルド番号。現在実行中のビルドである必要があります。 |
|
selectors | リスト | オプション。 HTTPレスポンスから特定のフィールドを抽出するためのJQセレクタ。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト | Jenkinsは、停止リクエストが成功するとHTTP 302(リダイレクト)を返します。例:
|
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | ビルドの停止に失敗した場合のエラーメッセージ。成功した場合は
。 |
次の例は、実行中のJenkinsビルドを停止します。
ワークフローの例 |
|---|
|
Jenkinsビルドからコンソール出力を取得
アクション識別子はjenkins.job.getConsoleOutputです。
Jenkinsビルドからコンソール出力とログを取得します。
buildNumberが必要です。jenkins.job.triggerでビルドをトリガーし、jenkins.queue.getItemをポーリングして取得します。
次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。
入力 | タイプ | 説明 | 例 |
|---|---|---|---|
authToken | 文字列(シークレット) | 必須。 HTTP Basic認証用のBase64エンコードされた
です。 |
|
url | 弦 | 必須。 JenkinsサーバーのURL。 |
|
jobName | 弦 | 必須。 Jenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。 |
|
buildNumber | Int | 必須。 コンソール出力を取得するビルド番号。 |
|
selectors | リスト | オプション。 HTTPレスポンスから特定のフィールドを抽出するためのJQセレクター。コンソール出力テキストは
にあります。 |
|
次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。
出力 | タイプ | 説明 |
|---|---|---|
response | オブジェクト |
|
success | ブール値 |
成功時は、失敗時は
。 |
errorMessage | 弦 | コンソール出力の取得に失敗した場合のエラーメッセージ。成功した場合は
。 |
次の例では、ビルドログを取得し、エラーを確認します。
ワークフローの例 |
|---|
|