{"id":18192886,"url":"https://github.com/jenkinsci/markdown-params-plugin","last_synced_at":"2026-01-21T13:15:58.412Z","repository":{"id":260829649,"uuid":"880892933","full_name":"jenkinsci/markdown-params-plugin","owner":"jenkinsci","description":"A jenkins plugin to parse Markdown and extract params from list","archived":false,"fork":false,"pushed_at":"2024-11-06T00:58:41.000Z","size":1155,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-10T02:46:15.914Z","etag":null,"topics":["jenkins-api-plugin","markdown"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/markdown-params/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-30T14:54:14.000Z","updated_at":"2025-04-04T04:17:53.000Z","dependencies_parsed_at":"2024-11-02T22:01:03.395Z","dependency_job_id":"f5d49971-520a-4cd0-b7c8-5e95bd51c658","html_url":"https://github.com/jenkinsci/markdown-params-plugin","commit_stats":{"total_commits":54,"total_committers":3,"mean_commits":18.0,"dds":"0.14814814814814814","last_synced_commit":"576911a6e3bc7006ddd54e073c76aa67f8e1abe4"},"previous_names":["jenkinsci/markdown-params-plugin"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/jenkinsci/markdown-params-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fmarkdown-params-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fmarkdown-params-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fmarkdown-params-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fmarkdown-params-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/markdown-params-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fmarkdown-params-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28633751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["jenkins-api-plugin","markdown"],"created_at":"2024-11-03T07:03:42.218Z","updated_at":"2026-01-21T13:15:58.395Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Markdown Params\n\n## Introduction\n\nMarkdown Params plugin allows Jenkins pipelines to parse Markdown files, extract lists (including checkbox list), and retrieve parameters from them, such as checked or unchecked items. \n\nThis is useful in continuous integration (CI) processes, where Markdown can serve as a task list or selection tool in pull request templates. \n\nCombined with Jenkins plugins like http_request or generic-webhook-trigger, this enables dynamic control over pipelines based on user-defined inputs, such as deploying microservices marked in pull requests.\n\n### Use case\n\nThis diagram illustrates the interaction between the Markdown Params plugin and other components in a pull request workflow.\n\n![use case diagram](doc/usecase.png)\n\n\n\n## Example to get started\n\nTo demonstrate the functionality of the Markdown Params plugin, we can use the following Markdown task list. This checkboxes list outlines the microservices scheduled for deployment.\n\n```markdown\n#### Microservices to deploy\n- [x] Auth\n- [x] Users\n- [ ] Inventory\n- [ ] Billing\n- [ ] Monitoring\n```\n#### Pipeline\n\nIn a minimal pipeline example, the Markdown Params plugin reads the Markdown task list and \"deploy\" the specified microservices.\nThe plugin retrieves the checked items to decide which microservices to deploy.\n\n```groovy\npipeline {\n    agent any\n    stages {\n        stage('Demo') {\n            steps {\n                script {\n                    def md = markdownParams \"#### Microservices to deploy\\n- [x] Auth\\n- [x] Users\\n- [ ] Inventory\\n- [ ] Billing\\n- [ ] Monitoring\"\n                    def items = md.getCheckedItemsOf(\"Microservices to deploy\")\n                    items.each { item -\u003e\n                        echo \"Deploying ${item}\"\n                    }\n                }\n            }\n        }\n    }\n}\n```\n\n#### Output\n\nWhen the above pipeline runs, it will output the following text.\n\n```text\nDeploying Auth\nDeploying Users\n```\n\n\n## Functions\n\n* getCheckboxItemsOf(String header) → returns a list with all checkbox items in \\\u003cheader\\\u003e section\n* getCheckedItemsOf(String header) → returns a list with all checkbox checked items in \\\u003cheader\\\u003e section\n* getUncheckedItemsOf(String header) → returns a list with all checkbox unchecked items in \\\u003cheader\\\u003e section\n* isAllItemsCheckedOf(String header) → returns true if all checkbox items in \\\u003cheader\\\u003e section are checked \n* isNoneItemsCheckedOf(String header) → returns true if all checkbox items in \\\u003cheader\\\u003e section are unchecked\n* getUnorderedListItemsOf(String header) → returns a list with all unordered items in \\\u003cheader\\\u003e section\n* getOrderedListItemsOf(String header) → returns a list with all ordered items in \\\u003cheader\\\u003e section\n\n\u003e ℹ️ **Info:** If the item is not under a specific header, using an empty header `\"\"` will retrieve all items\n\n## Plugin development\n\nRun and try the example\n```shell\nmvn hpi:run\n```\n\nMore details on Jenkins plugin development is available [here](https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial).\nDependencies https://www.jenkins.io/doc/developer/plugin-development/dependency-management/\n\n## Other useful commands\n```shell\nmvn tidy:pom\n```\n\n\n```shell\nmvn clean install\n```\n\n\n```shell\nmvn clean verify\n```\n\n\n```shell\nmvn versions:update-parent\n```\n\n```shell\nmvn spotless:apply\n```\n\n\n## Contributing\n\n[Contributing](https://github.com/jenkinsci/.github/blob/master/CONTRIBUTING.md)\n\n[Contribution guidelines](https://github.com/jenkinsci/.github/blob/master/CONTRIBUTING.md)\n\n## LICENSE\n\nLicensed under MIT, see [LICENSE](LICENSE.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fmarkdown-params-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fmarkdown-params-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fmarkdown-params-plugin/lists"}