{"id":25441963,"url":"https://github.com/jenkinsci/extensible-choice-parameter-plugin","last_synced_at":"2025-11-01T14:30:21.931Z","repository":{"id":6225703,"uuid":"7457178","full_name":"jenkinsci/extensible-choice-parameter-plugin","owner":"jenkinsci","description":"Jenkins plugin to define choice build parameters where the way to provide choices can be extended.","archived":false,"fork":false,"pushed_at":"2025-02-07T02:01:28.000Z","size":594,"stargazers_count":18,"open_issues_count":5,"forks_count":36,"subscribers_count":98,"default_branch":"master","last_synced_at":"2025-02-07T02:32:22.484Z","etag":null,"topics":["adopt-this-plugin"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/extensible-choice-parameter/","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-01-05T16:12:48.000Z","updated_at":"2025-02-07T02:00:37.000Z","dependencies_parsed_at":"2024-08-08T16:45:37.644Z","dependency_job_id":"28d500e1-decf-4586-b9c7-ad7cf5d9f28d","html_url":"https://github.com/jenkinsci/extensible-choice-parameter-plugin","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fextensible-choice-parameter-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fextensible-choice-parameter-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fextensible-choice-parameter-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fextensible-choice-parameter-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/extensible-choice-parameter-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239293947,"owners_count":19615043,"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","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":["adopt-this-plugin"],"created_at":"2025-02-17T13:16:11.029Z","updated_at":"2025-11-01T14:30:21.886Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Extensible Choice Parameter plugin\n\n:sectanchors:\n\nOlder versions of this plugin may not be safe to use. Please review the following warnings before using an older version:\n\n* https://jenkins.io/security/advisory/2017-04-10/[Arbitrary code execution vulnerability]\n\nThis plugin adds \"Extensible Choice\" as a build parameter.You can select how to retrieve choices, including the way to share choices among all jobs.\n\n[NOTE]\n====\nFor pipeline users:\n\nhttps://plugins.jenkins.io/editable-choice/[Editable Choice plugin] is available and designed pipeline friendly. Please try that for pipelines.\n\nExtensible Choice Parameter plugin is designed for GUI-based jobs like freestyle projects, matrix projects and so on. It's not planned to support pipeline syntaxes.\n====\n\n[[ExtensibleChoiceParameterplugin-Whatsthis]]\n== What's this?\n\nThis plugin provides a Extensible Choice parameter:\n\n* When building, the value can be selected with a dropdown like a built-in Choice parameter.\n* The choices can be provided in several ways:\n** Global Choice Parameter: defines choices in the Configure System page.\n*** Choices can be shared by multiple jobs.\n*** Updating the choices in the Configure System, every job can immediately refer the updated choices.\n** Textarea Choice Parameter: writes choices in a textarea, just like a built-in Choice parameter.\n** System Groovy Script Choice Parameter: runs a System Groovy script to\ndetermine the list of choices\n** File Choice Parameter: lists files in a directory.\n* Checking Editable checkbox allows you to specify any value, even one not in the choices.\n** Edited values can be added to the choice used next time automatically by checking \"Add Edited Value\".\n* You can add a new way to provide choices with Extension Points.\n\n[[ExtensibleChoiceParameterplugin-Disablingproviders]]\n== Disabling providers\n\nSome choice providers may cause security issues in your system:\n\n[cols=\",,\",options=\"header\",]\n|===\n|Choice Provider |Security Issue |Note\n|File Choice Parameter |Any users with project configuration privilege can list files in the OS with the privilege of the OS user Jenkins run with. |Users can do that also with \"Execute shell\" or \"Execute Windows Batch\" build step.\n|===\n\nYou can disable specific providers in system configuration page:\n\n#image:docs/images/extensible-choice-parameter-global-configuration.png[Global configuration]#\n\nIn the above screen, System Groovy Script Choice Parameter (unchecked one) is disabled.\n\n[[ExtensibleChoiceParameterplugin-Screenshots]]\n== Screenshots\n\n* \"Extensible Choice\" is added as a type of build parameters. +\n#image:docs/images/sc1_newparameter.png[Add Parameter]#\n* You can select the way to define choices of the parameter. +\n#image:docs/images/sc2_choiceprovider.png[Choice Provider]#\n** A new way to provide choices can be added with Extension Points.\n* Selecting \"Textarea Choice Parameter\", you can define choices like the built-in Choice parameter. +\n#image:docs/images/sc3_textarea.png[Textarea Choice Parameter]#\n* \"Global Choice Parameter\" enables you to select a set of choices from the ones defined in System Configuration page.\n** Defining in System Configuration page: +\n#image:docs/images/sc4_globalchoice1.png[Global Choice Parameter in System Configuration]#\n** Select which set of choices to use: +\n#image:docs/images/sc5_globalchoice2.png[Global Choice Parameter]#\n* \"System Groovy Choice Parameter\" generate choices with a Groovy script: +\n#image:docs/images/sc7_groovy.png[System Groovy Choice Parameter]#\n* \"File Choice Parameter\" enables select a file in a specified directory: +\n#image:docs/images/sc8_files.png[File Choice Parameter]#\n* You can specify its default value. This is useful with Global Choice Parameter to specify different default values in jobs: +\n#image:docs/images/sc9_default.png[Default Choice]#\n* Checking \"Editable\" enables you to input a value not in choices at build time: +\n#image:docs/images/sc6_editable.png[Editable]#\n** Textarea Choice Parameter and Global Choice Parameter provides \"Add Edited Value\", which automatically adds a value not in the choice list: +\n#image:docs/images/sc10_editedvalue.png[Add Edited Value]#\n\n[[ExtensibleChoiceParameterplugin-Extensionpoint]]\n== Extension point\n\nA new way to provide choices can be added with extending\n`+ChoiceListProvider+`, overriding the following method:\n\n[source,syntaxhighlighter-pre]\n----\nabstract public List\u003cString\u003e getChoiceList()\n----\n\n[[ExtensibleChoiceParameterplugin-Issues]]\n== Issues\n\nhttps://issues.jenkins-ci.org/issues/?jql=project%20%3D%20JENKINS%20AND%20status%20in%20(Open%2C%20%22In%20Progress%22%2C%20Reopened%2C%20%22In%20Review%22%2C%20Verified)%20AND%20component%20%3D%20%27extensible-choice-parameter-plugin%27%20%20%20[Open Issues]\n\nTo report a bug or request an enhancement to this plugin please create a ticket in JIRA (you need to login or to sign up for an account).\nAlso have a look on https://www.jenkins.io/participate/report-issue/[How to report an issue]\n\n* https://issues.jenkins-ci.org/secure/CreateIssueDetails!init.jspa?pid=10172\u0026issuetype=1\u0026components=17512\u0026priority=4\u0026assignee=ikedam[Bug report]\n* https://issues.jenkins-ci.org/secure/CreateIssueDetails!init.jspa?pid=10172\u0026issuetype=4\u0026components=17512\u0026priority=4[Request or propose an improvement of existing feature]\n* https://issues.jenkins-ci.org/secure/CreateIssueDetails!init.jspa?pid=10172\u0026issuetype=2\u0026components=17512\u0026priority=4[Request or propose a new feature]\n\n\ninclude::CHANGELOG.adoc[]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fextensible-choice-parameter-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fextensible-choice-parameter-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fextensible-choice-parameter-plugin/lists"}