{"id":36992571,"url":"https://github.com/workingconcept/lever-craft-plugin","last_synced_at":"2026-01-13T23:44:43.925Z","repository":{"id":57081878,"uuid":"161553484","full_name":"workingconcept/lever-craft-plugin","owner":"workingconcept","description":"Get Lever job details and post applications from Craft.","archived":true,"fork":false,"pushed_at":"2022-10-12T20:33:49.000Z","size":57,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-14T03:40:26.720Z","etag":null,"topics":["craft-plugin","craft3","craftcms","lever"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/workingconcept.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"license.md","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-12T22:33:51.000Z","updated_at":"2024-01-30T08:15:02.000Z","dependencies_parsed_at":"2022-08-24T14:58:18.002Z","dependency_job_id":null,"html_url":"https://github.com/workingconcept/lever-craft-plugin","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/workingconcept/lever-craft-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingconcept%2Flever-craft-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingconcept%2Flever-craft-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingconcept%2Flever-craft-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingconcept%2Flever-craft-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/workingconcept","download_url":"https://codeload.github.com/workingconcept/lever-craft-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/workingconcept%2Flever-craft-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28405212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"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":["craft-plugin","craft3","craftcms","lever"],"created_at":"2026-01-13T23:44:43.833Z","updated_at":"2026-01-13T23:44:43.906Z","avatar_url":"https://github.com/workingconcept.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Lever](resources/hero.svg)\n\n\u003ch1 align=\"center\"\u003eLever Craft CMS 4 Plugin\u003c/h1\u003e\n\u003ch4 align=\"center\"\u003eGet \u003ca href=\"https://www.lever.co/\"\u003eLever\u003c/a\u003e job details and post applications directly from Craft.\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://scrutinizer-ci.com/g/workingconcept/lever-craft-plugin/\"\u003e\u003cimg src=\"https://scrutinizer-ci.com/g/workingconcept/lever-craft-plugin/badges/quality-score.png?b=master\" alt=\"Scrutinizer status\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n---\n\n## Installation \u0026 Setup\n\n- `composer require workingconcept/craft-lever`\n- `php craft install lever` or install from _Settings_ → _Plugins_ in the control panel\n- add your site and API details in the control panel via _Settings_ → _Lever_\n\n## Development\n\n### Templating\n\n#### `craft.lever.jobs([])`\n\nReturns an array of jobs. Supply valid parameters for the [job postings API](https://github.com/lever/postings-api) if you need to tailor the results.\n\n#### `craft.lever.job(id)`\n\nReturns a specific job matching the provided Lever ID, or `false`.\n\n#### Job Properties\n\n- `id`\n- `text`\n- `categories`\n- `country`\n- `description`\n- `descriptionPlain`\n- `lists`\n- `additional`\n- `additionalPlain`\n- `hostedUrl`\n- `applyUrl`\n- `createdAt`\n- `workplaceType`\n\n### Template Examples\n\n#### List Jobs\n\n```twig\n{% set positions = craft.lever.jobs %}\n\n\u003ch2\u003eWork with Us!\u003c/h2\u003e\n\n\u003cul\u003e\n{% for position in positions %}\n    \u003cli\u003e\u003ca href=\"{{ position.hostedUrl }}\" target=\"_blank\"\u003e{{ position.text }}\u003c/a\u003e\u003c/li\u003e\n{% endfor %}\n\u003c/ul\u003e\n\n```\n\n#### Custom Job Application Form\n\nYou can create your own form and validation and submit it with an `action` field set to `lever/apply`. Use any fields named exactly as seen in the [postings API](https://github.com/lever/postings-api), with `jobId`, `name`, and `email` being required.\n\n```twig\n\u003ch3\u003eApply\u003c/h3\u003e\n\n{% if application is defined and application.getErrors() | length %}\n    {% for field in application.getErrors() %}\n        {% for error in field %}\n            \u003cp class=\"error\" role=\"alert\"\u003e{{ error }}\u003c/p\u003e\n        {% endfor %}\n    {% endfor %}\n{% endif %}\n\n\u003cform id=\"job\" action=\"\" method=\"post\" accept-charset=\"UTF-8\" enctype=\"multipart/form-data\"\u003e\n    {{ csrfInput() }}\n    {{ redirectInput(craft.app.request.absoluteUrl ~ \"?success=y\") }}\n    \u003cinput type=\"hidden\" name=\"action\" value=\"lever/apply\"\u003e\n    \u003cinput type=\"hidden\" name=\"jobId\" value=\"{{ job.id }}\"\u003e\n\n    \u003cinput type=\"text\" name=\"name\" value=\"{{ application.name ?? '' }}\" required\u003e\n    \u003cinput type=\"email\" name=\"email\" value=\"{{ application.email ?? '' }}\" required\u003e\n    \u003ctextarea name=\"comments\"\u003e{{ application.comments ?? '' }}\u003c/textarea\u003e\n\n    \u003cinput type=\"file\" name=\"resume\" required\u003e\n\n    \u003cbutton class=\"btn\"\u003eSubmit\u003c/button\u003e\n\u003c/form\u003e\n```\n\n### Establishing Custom Job Detail Pages\n\nYou can display all job details on your site if you'd like, including custom detail pages. One way you might go about that is to create a detail page template like `jobs/_detail.twig` and set up a custom route for it.\n\nBarebones template:\n\n```twig\n{% extends \"_layout\" %}\n\n{% set job = craft.lever.job(id) %}\n\n{% if job is empty %}\n    {% exit 404 %}\n{% endif %}\n\n{% block content %}\n\n...\n```\n\nCustom route in `config/routes.php`:\n\n```php\nreturn [\n    'jobs/\u003cid\u003e' =\u003e ['template' =\u003e 'jobs/_detail'],\n];\n```\n\nThis will take requests like `https://site.foo/jobs/be9f3647-b59a-4272-94a0-8b937520a69f` and send them to your template, where they'll 404 if the ID is invalid.\n\n### Events\n\n##### `EVENT_BEFORE_VALIDATE_APPLICATION`\n\nTriggered after an application is submitted and before it's validated. You can adjust `$event-\u003eapplication` if you need to do something custom like handle a [FilePond](https://pqina.nl/filepond/) upload and attach it to the LeverJobApplication model.\n\n##### `EVENT_BEFORE_SEND_APPLICATION`\n\nTriggered after an application is submitted and before it's sent to Lever. Grab the application data from `$event-\u003eapplication` and prevent it from being sent by setting `$event-\u003eisSpam` to `true`.\n\n##### `EVENT_AFTER_SEND_APPLICATION`\n\nTriggered immediately after an application is sent to Lever successfully. Same `$event-\u003eapplication` and `$event-\u003eisSpam` properties available.\n\n## Support\n\nPlease submit [an issue](https://github.com/workingconcept/lever-craft-plugin/issues) or [a pull request](https://github.com/workingconcept/lever-craft-plugin/pulls) if anything needs attention. We'll do our best to respond promptly.\n\n---\n\nThis plugin is brought to you by [Working Concept](https://workingconcept.com), which has no affiliation with Lever.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkingconcept%2Flever-craft-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fworkingconcept%2Flever-craft-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fworkingconcept%2Flever-craft-plugin/lists"}