• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

Jenkinsジョブアクション

|View as Markdown (English)

このページでは、ワークフロー自動化アクションカタログで利用可能な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エンコードされた

username:apiToken

。Jenkinsユーザープロファイルの

Configure > API Token

からAPIトークンを生成します。

${{ :secrets:jenkinsAuthToken }}

url

必須。

JenkinsサーバーのURL。

https://jenkins.example.com

jobName

必須。

トリガーするJenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。

deployments/production/my-job

パラメーター

地図

オプション。

パラメーター化されたビルド用に、ビルドパラメーターをキーの値のペアとして指定します。指定された場合、アクションは自動的に

/buildWithParameters

エンドポイントを使用します。

{"ENVIRONMENT": "production", "VERSION": "v1.2.3"}

selectors

リスト

オプション。

アクションの出力から特定のフィールドを抽出するためのJQセレクター。

[{"name": "queueId", "expression": ".queueId"}]

次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。

出力

タイプ

説明

queueId

Int

キューアイテムID、たとえば

123

jenkins.queue.getItem

と一緒に使用して、ビルドの進行状況を追跡し、実行開始後にビルド番号を取得します。

queueUrl

完全なキューURL、たとえば

"http://jenkins.example.com/queue/item/123/"

ステータスコード

Int

HTTPステータスコード。

201

はトリガーの成功を示します。

success

ブール値

true

成功時は、失敗時は

false

errorMessage

ビルドのトリガーに失敗した場合のエラーメッセージ。成功した場合は

null

次の例では、パラメータ化されたJenkinsビルドをトリガーし、追跡のためにキューIDをキャプチャします。

ワークフローの例

name: trigger-jenkins-build
description: 'Trigger a parameterized Jenkins build'
steps:
- name: trigger_build
type: action
action: jenkins.job.trigger
version: 1
inputs:
authToken: ${{ :secrets:jenkinsAuthToken }}
url: "https://jenkins.example.com"
jobName: "deployments/production-deploy"
parameters:
ENVIRONMENT: "production"
VERSION: "v1.2.3"
selectors:
- name: "queueId"
expression: ".queueId"
next: end

Jenkinsビルドのステータスを取得

アクション識別子はjenkins.job.getStatusです。

Jenkinsジョブビルドのステータスを取得します。このアクションを使用して、jenkins.job.triggerによってトリガーされたビルドをポーリングします。

最新のビルドではなく特定のビルドを確認するには、そのbuildNumberを指定します。ビルドをトリガーした後、jenkins.queue.getItemを使用してキューをポーリングし、ビルド番号を取得します。

次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。

入力

タイプ

説明

authToken

文字列(シークレット)

必須。

HTTP Basic認証用のBase64エンコードされた

username:apiToken

です。

${{ :secrets:jenkinsAuthToken }}

url

必須。

JenkinsサーバーのURL。

https://jenkins.example.com

jobName

必須。

Jenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。

deployments/production/my-job

buildNumber

Int

オプション。

確認する特定のビルド番号。指定されていない場合、最後のビルドのステータスを返します。

42

selectors

リスト

オプション。

HTTPレスポンスから特定のフィールドを抽出するためのJQセレクタ。

[{"name": "buildStatus", "expression": ".responseBody | fromjson.result"}]

次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。

出力

タイプ

説明

response

オブジェクト

Jenkins APIからのビルドの詳細です。ビルドがまだ進行中の場合、resultフィールドの値はSUCCESSFAILUREUNSTABLEABORTEDNOT_BUILT、またはnullです。

{
"number": 42,
"result": "SUCCESS",
"building": false,
"duration": 45000,
"timestamp": 1625234567000,
"url": "http://jenkins.example.com/job/my-job/42/"
}

success

ブール値

true

成功時は、失敗時は

false

errorMessage

リクエストが失敗した場合のエラーメッセージです。成功した場合は

null

次の例では、Jenkinsビルドのステータスを確認し、結果に基づいて分岐します。

ワークフローの例

name: check-jenkins-build-status
description: 'Check the status of a Jenkins build and branch on result'
steps:
- name: check_build_status
type: action
action: jenkins.job.getStatus
version: 1
inputs:
authToken: ${{ :secrets:jenkinsAuthToken }}
url: "https://jenkins.example.com"
jobName: "deployments/production-deploy"
buildNumber: 42
selectors:
- name: buildStatus
expression: ".responseBody | fromjson.result"
- name: isBuilding
expression: ".responseBody | fromjson.building"
- name: handle_result
type: switch
switch:
- condition: ${{ .steps.check_build_status.outputs.buildStatus == "SUCCESS" }}
next: notify_success
next: notify_failure

Jenkinsジョブを削除する

アクション識別子はjenkins.job.deleteです。

Jenkinsジョブとそのすべてのビルド履歴を完全に削除します。この操作は元に戻せません。

次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。

入力

タイプ

説明

authToken

文字列(シークレット)

必須。

HTTP Basic認証用のBase64エンコードされた

username:apiToken

です。

${{ :secrets:jenkinsAuthToken }}

url

必須。

JenkinsサーバーのURL。

https://jenkins.example.com

jobName

必須。

削除するJenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。

temporary/test-job-123

selectors

リスト

オプション。

HTTPレスポンスから特定のフィールドを抽出するためのJQセレクタ。

[{"name": "statusCode", "expression": ".statusCode"}]

次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。

出力

タイプ

説明

response

オブジェクト

削除に成功すると、JenkinsはHTTP 302(リダイレクト)を返します。ジョブはすぐに削除されます。例:

{ "statusCode": 302, "body": "" }

success

ブール値

true

成功時は、失敗時は

false

errorMessage

削除に失敗した場合のエラーメッセージです。成功した場合は

null

次の例では、一時的なJenkinsジョブを削除します。

ワークフローの例

name: cleanup-jenkins-job
description: 'Delete a temporary Jenkins job'
steps:
- name: delete_job
type: action
action: jenkins.job.delete
version: 1
inputs:
authToken: ${{ :secrets:jenkinsAuthToken }}
url: "https://jenkins.example.com"
jobName: "temporary/test-job-123"
next: end

実行中のJenkinsビルドを停止します。

アクション識別子はjenkins.job.stopです。

実行中のJenkinsビルドを停止または中止します。停止すると、JenkinsはビルドをABORTEDとしてマークします。

実行中のビルドのbuildNumberが必要です。jenkins.job.triggerでビルドをトリガーし、jenkins.queue.getItemをポーリングして取得します。

次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。

入力

タイプ

説明

authToken

文字列(シークレット)

必須。

HTTP Basic認証用のBase64エンコードされた

username:apiToken

です。

${{ :secrets:jenkinsAuthToken }}

url

必須。

JenkinsサーバーのURL。

https://jenkins.example.com

jobName

必須。

Jenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。

deployments/production/my-job

buildNumber

Int

必須。

停止するビルド番号。現在実行中のビルドである必要があります。

42

selectors

リスト

オプション。

HTTPレスポンスから特定のフィールドを抽出するためのJQセレクタ。

[{"name": "statusCode", "expression": ".statusCode"}]

次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。

出力

タイプ

説明

response

オブジェクト

Jenkinsは、停止リクエストが成功するとHTTP 302(リダイレクト)を返します。例:

{ "statusCode": 302, "body": "" }

success

ブール値

true

成功時は、失敗時は

false

errorMessage

ビルドの停止に失敗した場合のエラーメッセージ。成功した場合は

null

次の例は、実行中のJenkinsビルドを停止します。

ワークフローの例

name: stop-jenkins-build
description: 'Stop a running Jenkins build'
steps:
- name: stop_build
type: action
action: jenkins.job.stop
version: 1
inputs:
authToken: ${{ :secrets:jenkinsAuthToken }}
url: "https://jenkins.example.com"
jobName: "deployments/production-deploy"
buildNumber: 42
next: end

Jenkinsビルドからコンソール出力を取得

アクション識別子はjenkins.job.getConsoleOutputです。

Jenkinsビルドからコンソール出力とログを取得します。

buildNumberが必要です。jenkins.job.triggerでビルドをトリガーし、jenkins.queue.getItemをポーリングして取得します。

次の表は、このアクションで利用可能なすべての入力フィールドについて説明しています。

入力

タイプ

説明

authToken

文字列(シークレット)

必須。

HTTP Basic認証用のBase64エンコードされた

username:apiToken

です。

${{ :secrets:jenkinsAuthToken }}

url

必須。

JenkinsサーバーのURL。

https://jenkins.example.com

jobName

必須。

Jenkinsジョブの名前。フォルダーベースのジョブの場合は、区切り文字としてスラッシュを使用します。

deployments/production/my-job

buildNumber

Int

必須。

コンソール出力を取得するビルド番号。

142

selectors

リスト

オプション。

HTTPレスポンスから特定のフィールドを抽出するためのJQセレクター。コンソール出力テキストは

response.body

にあります。

[{"name": "buildLogs", "expression": ".responseBody"}]

次の表は、このアクションによって返されるすべての出力フィールドについて説明しています。

出力

タイプ

説明

response

オブジェクト

response.bodyでプレーンテキストとして返されるコンソール出力。セレクターを使用して、ログから特定の情報を抽出します。

{
"body": "Started by user admin\nBuilding in workspace...\n[Pipeline] End of Pipeline\nFinished: SUCCESS",
"statusCode": 200
}

success

ブール値

true

成功時は、失敗時は

false

errorMessage

コンソール出力の取得に失敗した場合のエラーメッセージ。成功した場合は

null

次の例では、ビルドログを取得し、エラーを確認します。

ワークフローの例

name: get-jenkins-build-logs
description: 'Retrieve Jenkins build logs and check for errors'
steps:
- name: get_build_logs
type: action
action: jenkins.job.getConsoleOutput
version: 1
inputs:
authToken: ${{ :secrets:jenkinsAuthToken }}
url: "https://jenkins.example.com"
jobName: "deployments/production-deploy"
buildNumber: 142
selectors:
- name: buildLogs
expression: ".responseBody"
- name: hasErrors
expression: ".responseBody | contains(\"ERROR\") or contains(\"FAILED\")"
- name: check_for_errors
type: switch
switch:
- condition: ${{ .steps.get_build_logs.outputs.hasErrors }}
next: handle_error
next: end
Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.