Jenkins email verification with BillionVerify
Jenkins is a widely used open-source automation server that powers CI/CD pipelines, build jobs, and developer workflows. By integrating BillionVerify into Jenkins pipelines, engineering teams can automate email validation as part of data pipelines, test fixtures, or user-import jobs—ensuring clean data moves through every stage of the build.
Why verify before the send
Data quality issues that start upstream—like invalid email addresses in seed data, user imports, or API payloads—propagate into production and cause downstream failures. Adding BillionVerify to a Jenkins pipeline catches bad addresses early, prevents them from reaching your application database, and eliminates bounce-related incidents before they ever become your email team's problem.
Ready-to-use n8n workflow
Import this workflow into n8n — it verifies every address with BillionVerify before Jenkins sends, so only deliverable contacts are emailed. Install the BillionVerify community node first, then add your API key.
{
"name": "Verify emails before sending in Jenkins + BillionVerify",
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1,
"position": [
240,
300
],
"name": "When clicking ‘Test workflow’"
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "email-field",
"name": "email",
"value": "jane@example.com",
"type": "string"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
460,
300
],
"name": "Get contacts"
},
{
"parameters": {
"sendTo": "={{ $json.email }}",
"subject": "Message for Jenkins contacts",
"message": "Replace this Gmail send with your Jenkins node — only deliverable, verified contacts reach it.",
"options": {}
},
"type": "n8n-nodes-base.gmail",
"typeVersion": 2.1,
"position": [
900,
300
],
"name": "Send email",
"webhookId": "",
"credentials": {
"gmailOAuth2": {
"id": "",
"name": "Gmail account"
}
}
},
{
"parameters": {
"operation": "verify",
"email": "={{ $json.email }}",
"additionalOptions": {}
},
"type": "n8n-nodes-billionverify.billionVerify",
"typeVersion": 1,
"position": [
540,
300
],
"name": "Verify Email (BillionVerify)",
"credentials": {
"billionVerifyApi": {
"id": "",
"name": "BillionVerify account"
}
}
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": true,
"leftValue": "",
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "is-deliverable",
"leftValue": "={{ $json.is_deliverable }}",
"rightValue": "",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
}
}
]
}
},
"type": "n8n-nodes-base.if",
"typeVersion": 2,
"position": [
720,
300
],
"name": "IF deliverable"
}
],
"connections": {
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Get contacts",
"type": "main",
"index": 0
}
]
]
},
"Get contacts": {
"main": [
[
{
"node": "Verify Email (BillionVerify)",
"type": "main",
"index": 0
}
]
]
},
"Verify Email (BillionVerify)": {
"main": [
[
{
"node": "IF deliverable",
"type": "main",
"index": 0
}
]
]
},
"IF deliverable": {
"main": [
[
{
"node": "Send email",
"type": "main",
"index": 0
}
],
[]
]
}
},
"settings": {
"executionOrder": "v1"
}
}Workflow templates with Jenkins
Ready-to-use workflows that verify emails before Jenkins sends.
How it works
- 1
Trigger a Jenkins job or pipeline stage that processes a batch of email addresses from a file, API, or database query.
- 2
Call the BillionVerify REST API from a shell step or script stage within your Jenkinsfile.
- 3
Parse the verification results to separate valid addresses from invalid, disposable, and risky ones.
- 4
Fail the build, flag records, or route clean addresses to the next pipeline stage based on verification outcome.
- 5
Log results as Jenkins build artifacts for audit trails and downstream reporting.
When to use this
CI pipeline data validation
Run BillionVerify checks as a Jenkins build step when importing user fixtures or test datasets. Invalid addresses are flagged before they reach staging or production environments, keeping your test data realistic and your integration tests accurate.
Automated user import jobs
When Jenkins orchestrates periodic user-data imports from external sources, add a BillionVerify verification stage to filter out undeliverable addresses before they are written to your application database.
FAQ
How do I call BillionVerify from a Jenkins pipeline?
Use a shell step in your Jenkinsfile to make HTTP requests to the BillionVerify REST API, or orchestrate it through an n8n workflow triggered from Jenkins via a webhook call.
Can BillionVerify handle bulk verification in a pipeline job?
Yes. The BillionVerify bulk API endpoint accepts large batches, making it practical for Jenkins jobs that process thousands of records in a single run.
Is there a way to fail a Jenkins build if too many invalid emails are found?
Absolutely. Parse the API response in your pipeline script and use an exit code or threshold check to mark the build as failed or unstable when the invalid-address ratio exceeds your defined limit.
Verify emails in Jenkins
Create a free account, grab your API key, and stop bounces before they happen.
Get started free