{"id":18233237,"url":"https://github.com/jenkinsci/eggplant-runner-plugin","last_synced_at":"2025-07-22T01:31:26.365Z","repository":{"id":37703352,"uuid":"473201625","full_name":"jenkinsci/eggplant-runner-plugin","owner":"jenkinsci","description":"Eggplant DAI Runner enable integration of DAI test configuration execution in pipeline","archived":false,"fork":false,"pushed_at":"2025-05-15T03:57:47.000Z","size":310,"stargazers_count":3,"open_issues_count":2,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-15T04:34:45.880Z","etag":null,"topics":["builder","cli","devops","eggplant","java","jenkins","keysight","pipeline","plugin","test"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/eggplant-runner/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"keysight-eggplant/eggplant-runner-jenkins","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-23T13:31:11.000Z","updated_at":"2025-05-15T03:43:40.000Z","dependencies_parsed_at":"2023-02-10T12:46:07.229Z","dependency_job_id":"dc353fb0-c932-46db-8fb3-995b3eb8c5d7","html_url":"https://github.com/jenkinsci/eggplant-runner-plugin","commit_stats":{"total_commits":204,"total_committers":8,"mean_commits":25.5,"dds":0.7303921568627452,"last_synced_commit":"e12295250d7341d45d812b01e4d7e0f4c59d2908"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/jenkinsci/eggplant-runner-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Feggplant-runner-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Feggplant-runner-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Feggplant-runner-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Feggplant-runner-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/eggplant-runner-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Feggplant-runner-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266409463,"owners_count":23924284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["builder","cli","devops","eggplant","java","jenkins","keysight","pipeline","plugin","test"],"created_at":"2024-11-04T15:03:24.695Z","updated_at":"2025-07-22T01:31:26.343Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://www.eggplantsoftware.com/hubfs/Branding/Keysight-Eggplant-Logo_RGB_full-color.svg\" width=\"300px\"/\u003e\n\n# Eggplant DAI Plugin for Jenkins\n \n## Introduction\n\nThe [Eggplant DAI](https://www.eggplantsoftware.com/digital-automation-intelligence) Plugin for Jenkins launches DAI tests from within a Jenkins pipeline.  You can use it to continuously test your application using Eggplant's [model-based approach to testing](https://docs.eggplantsoftware.com/docs/dai-using-eggplant-dai/).  For more information about Eggplant, visit https://www.eggplantsoftware.com.\n\n## Install Eggplant DAI Plugin for Jenkins\n\n**Step 1:** Login to your Jenkins\n\nGo to your Jenkins home page and login into your Jenkins account\n![image](https://user-images.githubusercontent.com/101400930/165949547-26ab3829-466f-478f-ad36-04427d2c7da3.png)\n\n**Step 2**: Manage Jenkins\n\n- Go to Manage Jenkins \u003e Manage Plugins\n![image](https://user-images.githubusercontent.com/101400930/165950020-f80e906b-1c52-4f38-8902-a1cb61019a44.png)\n\n- Go to **Available** and enter **Eggplant Runner** in the search feature\n- Check on the **Eggplant Runner** and click on **Install without restart**\n![image](https://user-images.githubusercontent.com/101400930/165950313-e11ce24c-d424-40a5-83d4-d1d752cbdb35.png)\n\n## How to use Eggplant DAI Plugin for Jenkins\n\n### Freestyle project\n\n**Step 1** : Create new project -\u003e **Freestyle project** -\u003e Click **OK**\n\n![image](https://user-images.githubusercontent.com/101400930/166857604-d512f1b9-95a8-48e3-b884-023690fb68ad.png)\n\n**Step 2**: Add **Eggplant Runner** as build step\n\n![image](https://user-images.githubusercontent.com/101400930/166877164-b314f345-1295-401c-a63b-4da989b80579.png)\n\n**Step 3**: Fill in **Eggplant Runner** parameter's value -\u003e Click **Save**\n![image](https://user-images.githubusercontent.com/103989779/220218471-508b6a2a-b189-4e35-aa2b-add138ca724d.png)\n\n## Inputs\n\n### `serverURL`\n**[Required]** The URL of the Eggplant DAI server, `http(s)://dai_server_hostname:portnumber`.\n\n### `testConfigID`\n**[Required if testConfigName is not given]**  The ID of the Eggplant DAI test configuration that you want to run, e.g. `389fee3e-9d6b-43e6-b31e-f1d379f27cdf`. \n\u003cbr /\u003eTest configuration ID can be obtained by go to `Test Config \u003e Look for a particular test config \u003e Test config id can be obtain from url`.\n![image](https://user-images.githubusercontent.com/103989779/199636740-57d4bfd2-3c94-449c-b2d5-597d69d2f03e.png)\nAlternatively, use [testConfigName](#testconfigname) and remove this input.\n\n### `testConfigName`\n**[Required if testConfigID is not given]** The name of the Eggplant DAI test configuration that you want to run. \n\u003cbr /\u003eMust provide ***one*** of the following supporting arguments:\n\n- ### `modelName`\nDAI model name for the specified test configuration. (Use this argument if only testConfigName is provided)\n\n- ### `suiteName`\nDAI suite name for the specified test configuration. (Use this argument if only testConfigName is provided)\n\n### `clientID`\n**[Required]** The client ID to use to authenticate with the Eggplant DAI server.\n\n### `clientSecret`\n**[Required]** The client secret to use to authenticate with the Eggplant DAI server.\u003cbr /\u003e\n             Alternatively, you could set a repo secret in `Repo Settings \u003e Secrets \u003e Actions` and refer to it like below:\u003cbr /\u003e\n             `clientSecret: \"${{ secrets.DAI_CLIENT_SECRET }}\"`.\n\nThe **DAI Client Secret** can be obtain by go to  `http(s):/dai_server_hostname:portnumber/ \u003e System \u003e API Access \u003e Add New`. (for new API access creation)\n\n![image](https://user-images.githubusercontent.com/101400930/206938890-07a45761-3c49-40a7-bf48-1a1b6f3b3659.png)\n\n### `requestTimeout`\n**[Optional]** The timeout in seconds for each HTTP request to the Eggplant DAI server.\u003cbr /\u003e\n**Default:** `30`\n\n### `requestRetries`\n**[Optional]** The number of times to attempt each HTTP request to the Eggplant DAI server.\u003cbr /\u003e\n**Default:** `5`\n\n### `backoffFactor`\n**[Optional]** The exponential backoff factor between each HTTP request.\u003cbr /\u003e\n**Default:** `0.5`\n\n### `logLevel`\n**[Optional]** The logging level.\u003cbr /\u003e\n**Default:** `INFO`\n\n### `CACertPath`\n**[Optional]** The path to an alternative Certificate Authority pem file.\u003cbr /\u003e\n\n### `testResultPath`\n**[Optional]** The path to a file where the test results will be stored in JUnit XML format.\u003cbr /\u003e\n**Example** `C:\\results\\result.xml`\n\n### `eggplantRunnerPath`\n**[Optional]** The path to Eggplant runner CLI executable.\u003cbr /\u003e\n\n### `parameters`\n**[Optional]** The global parameter(s) to override in the format `parameter_name=parameter_value`.\u003cbr /\u003e\n**Example** `username=Lily`\u003cbr /\u003e\nYou can override multiple parameters by separating them with a two semi-colon delimeter (`;;`).\u003cbr /\u003e\n**Example** `username=Lily;;city=Paris;;hobby=Jogging`\n\n### `parametersFilePath`\n**[Optional]** The path to a user-created JSON file that contains the global parameters you want to override. \u003cbr /\u003e\nExample of a parameter JSON file:\n```json\n{\n  \"MyEnvironment\": \"Production\",\n  \"username\": \"Eggy@eggplant.com\"\n}\n```\n\n### `filterBy`\n**[Optional]** The filters to execute specific steps within a test configuration in the form of `filter_name=filter_value`.\u003cbr /\u003e\n**Example** `step_status_include=Failed,Error`\u003cbr /\u003e\nYou can enter multiple filters by separating them with a two semi-colon delimeter (`;;`).\u003cbr /\u003e\n**Example** `step_status_include=Failed,Error;;test_case_name_exclude=login_user`\u003cbr /\u003e\n\nFilter available: `step_status_include`, `step_status_exclude`, `test_case_tag_include`, `test_case_tag_exclude`, `test_case_name_include`, `test_case_name_exclude`, `scenario_tag`\n\n### `filterByJson`\n**[Optional]** The path to a user-created JSON file that contains all the filters to execute specific steps within a test configuration.\u003cbr /\u003e\nExample of a test configuration's step execution filter JSON file:\n```json\n{\n  \"step_status\": {\n    \"include\": \"Passed,Failed\",\n    \"exclude\": \"Error,Cancelled,Untested\"\n  },\n  \"test_case_tag\": {\n    \"include\": \"admin, tc_tag1\",\n    \"exclude\": \"logic module, critical\"\n  },\n  \"test_case_name\": {\n    \"include\": \"tc_001\",\n    \"exclude\": \"login_user\"\n  },\n  \"scenario_tag\": \"@scea,@input_tag ~@order_page\"\n}\n```\n\n### `previousTaskInstanceID`\n**[Optional]** The UUID of a previously executed test configuration definition to be used in the current test configuration run. Defaults to the last ran execution of the given test configuration.\n\n## Output\n\n**Build** the project to run the step\n![image](https://user-images.githubusercontent.com/101400930/166877993-8fa5b585-205e-44c6-8c33-b03ded69cd83.png)\n\nExecution details are shown in **Console Output**\n![image](https://user-images.githubusercontent.com/101400930/169545643-8d83d7c5-be94-46b6-9a39-605353aafeb7.png)\n\n\n## Advanced Usage\n\n**Pipeline project**\n\n**Step 1**: Create **Pipeline** project\n\n**Step 2**: Copy and paste below scripts into **Pipiline script** section\n```yaml\npipeline {\n    agent any\n\n    environment {\n        DAI_CLIENT_SECRET = credentials('eggplant-runner-client-secret')\n    }\n\n    stages {\n        stage('Eggplant Runner') {\n            steps {\n                // To run DAI test configuration by test config Id, use the following command\n                eggplantRunner serverURL: 'Your DAI server URL', testConfigId: 'Your test configuration that want to execute', clientId: 'Your DAI client ID'\n                //  To run DAI Test Configuration by Test Config Name with model name, use the following command\n                // eggplantRunner serverURL: 'Your DAI server URL', testConfigName: 'Your model-based test configuration name', modelName: 'Your model name', clientId: 'Your DAI client ID'\n                //  To run DAI Test Configuration by Test Config Name with suite name, use the following command\n                // eggplantRunner serverURL: 'Your DAI server URL', testConfigName: 'Your script-based test configuration name', suiteName: 'Your suite name', clientId: 'Your DAI client ID'\n                \n                //Note: Only execute one of the command per each build step\n            }\n        }\n    }\n}\n```\n\n\u003e:warning: **Usage of backslashes in script**: Remember to escape backslashes by replace all instances of `\\` with `\\\\` inside a string.\u003c/br\u003eFor example, rather than:\u003c/br\u003e`CACertPath: \"C:\\certs\\rootCA.cer\"`\u003c/br\u003eyou would use:\u003c/br\u003e`CACertPath: \"C:\\\\certs\\\\rootCA.cer\"`\n\n![image](https://user-images.githubusercontent.com/101400930/168762767-80706d26-e892-4ee1-bd7b-9490ba04ff80.png)\n\n**Step 3**: Setup **Public Credential** for **Client Secret** -\u003e Click **Ok**\n![image](https://user-images.githubusercontent.com/101400930/166881666-1d6512cb-86b2-4027-a574-8314f19d707d.png)\n\n**Step 4**: **Build** the pipeline project\nOutput are shown in **Console Output**\n![image](https://user-images.githubusercontent.com/101400930/169546010-1fce3d53-daa2-42e4-8945-0f6f49870d5d.png)\n\n## Release for DAI \n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth width=\"300px\"\u003eDAI Version\u003c/th\u003e\n      \u003cth width=\"500px\"\u003eRelease\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e25.2.0+5\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003elatest \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e25.1.0+3\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.285.v30ff1ea_cd533/eggplant-runner.hpi\"\u003e 0.0.1.285.v30ff1ea_cd533 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.5.0-10\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.284.va_b_a_6107c0515/eggplant-runner.hpi\"\u003e 0.0.1.284.va_b_a_6107c0515 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.5.0-9\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.280.vfc393dfee9f1/eggplant-runner.hpi\"\u003e 0.0.1.280.vfc393dfee9f1 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.4.0-4\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.274.ve12295250d73/eggplant-runner.hpi\"\u003e 0.0.1.274.ve12295250d73 \u003c/a\u003e (with cve fix)\u003cbr /\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.270.vcb_9192a_2c004/eggplant-runner.hpi\"\u003e 0.0.1.270.vcb_9192a_2c004 \u003c/a\u003e(works with 7.4.0-4)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.3.0-3\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.265.v56273b_eece56/eggplant-runner.hpi\"\u003e 0.0.1.265.v56273b_eece56 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.2.0-4\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.261.v52442e5f8514/eggplant-runner.hpi\"\u003e 0.0.1.261.v52442e5f8514 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.1.0-5\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.259.va_548428d4b_79/eggplant-runner.hpi\"\u003e 0.0.1.259.va_548428d4b_79 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.0.1-1\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.255.vd38258d75ca_6/eggplant-runner.hpi\"\u003e 0.0.1.255.vd38258d75ca_6 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e7.0.0-3\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.252.v8e47de80211e/eggplant-runner.hpi\"\u003e 0.0.1.252.v8e47de80211e \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e6.5.0-3\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.247.va_7031a_586298/eggplant-runner.hpi\"\u003e 0.0.1.247.va_7031a_586298 \u003c/a\u003e\u003c/td\u003e      \n  \u003c/tr\u003e\n   \u003ctr\u003e\n      \u003ctd\u003e6.4.0-5\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://plugins.jenkins.io/eggplant-runner/\"\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.226.v1a_ff67035775/eggplant-runner.hpi\"\u003e 0.0.1.226.v1a_ff67035775 \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e6.3.0-3\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.191.v72dea_07931b_6/eggplant-runner.hpi\"\u003e 0.0.1.191.v72dea_07931b_6\u003c/a\u003e | \u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.189.v1e3397db_cee8/eggplant-runner.hpi\"\u003e0.0.1.189.v1e3397db_cee8\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e6.2.1-2\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.185.v9617008ee458/eggplant-runner.hpi\"\u003e0.0.1.185.v9617008ee458\u003c/a\u003e | \u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.159.v8ed1d9f67f00/eggplant-runner.hpi\"\u003e0.0.1.159.v8ed1d9f67f00\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n      \u003ctd\u003e6.1.2-1\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://updates.jenkins.io/download/plugins/eggplant-runner/0.0.1.108.v32f1564b_19d0/eggplant-runner.hpi\"\u003e0.0.1.108.v32f1564b_19d0\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n## License\n\nThis plug-in is licensed under the terms of the [MIT license](LICENSE.md)\n\n## Notes\n\n1. Release DAI 7.5.0-10 now allows passes after re-run.\n2. For pipeline project in Mac, if `parameters`/`filterBy` input having quotes `\"`, they need to be escaped.\n\n## Contributing\n\nYou need to install the following dependencies if you want to contribute to the Eggplant DAI Runner for Jenkins:\n\n1. You can download and install Java 17 from the [Eclipse Temurin website](https://adoptium.net/).\n2. Download Maven from the [Apache Maven website](https://maven.apache.org/). Make sure to download one of the binary archives (with bin in their name).\n3. To verify that Maven is installed, run the following command: `mvn -version`\n4. You can use `launch.json` to run 'Debug (Attach)' to launch an local Jenkins instance for development. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Feggplant-runner-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Feggplant-runner-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Feggplant-runner-plugin/lists"}