Repository navigation
Promotion Nomination Extend App example - #20
abhi-matti wants to merge 14 commits into
Conversation
Example auditAudited 0 to fix and 5 suggestion(s). Suggestions (5, never block)
Run it yourself: ACTION items fail the Audit examples check. ADVICE never blocks. Maintainers can add the |
Updated the README to clarify the purpose and functionality of the Promotion Nomination App, including detailed usage instructions and key capabilities.
Updated the description to provide more detailed information about the promotion nomination process.
Clarified app reference ID details and updated instructions for tenant-specific configurations.
Added details about the site definition and security domain usage.
Updated API endpoint values to use dynamic gateway endpoint.
Removed duplicate siteId and applicationId fields, and adjusted JSON structure.
Updated the manager nomination presentation file to include additional failOnStatusCodes and modified query construction for various endpoints.
Clarified instructions for app reference ID and provided guidance for handling errors in the app builder.
|
All comments have been fixed. |
| "failOnStatusCodes": [{"code": 400}, {"code": 403}] | ||
| }, | ||
| { | ||
| "deferred": true, |
There was a problem hiding this comment.
PMDSectionOrderingRule (ADVICE)
PMD sections are not in the correct order.
Expected: [1. id, 2. securityDomains, 3. endPoints, 4. outboundData, 5. presentation, 6. deferred, 7. name, 8. baseUrlType, 9. authType, 10. url, 11. failOnStatusCodes]
Actual: [1. id, 2. securityDomains, 3. endPoints, 4. deferred, 5. name, 6. baseUrlType, 7. authType, 8. url, 9. failOnStatusCodes, 10. outboundData, 11. presentation]
Why: Ensures PMD file root-level sections follow consistent ordering for better readability
| "name": "getEmployeeData", | ||
| "baseUrlType": "workday-wql", | ||
| "authType": "sso", | ||
| "url": "<% return '/data?query=' + string:urlEncode(`SELECT worker, location, manager_Level01, hireDate, timeInJobProfile, jobProfile, jobTitle, lastPromotionDate FROM myDirectReports WHERE worker in \"{{selectedWorkerIdQuery}}\"`); %>", |
There was a problem hiding this comment.
ScriptStringConcatRule (ADVICE)
Inbound endpoint 'getEmployeeData' uses string concatenation with + operator: ''/data?query=' + string:urlEncodeSELECT worker, location, manager_Level01, hireDate, timeInJobProfile, jobProfile, jobTitle, lastPromotionDate FROM myDirectReports WHERE worker in "{{selectedWorkerIdQuery}}"'. Consider using PMD template strings with backticks and {{ }} syntax instead (e.g., Hello {{name}}!).
Why: Detects string concatenation with + operator - use PMD templates with backticks and {{ }} instead
Suggested change:
`/data?query={{string:urlEncode`SELECT worker, location, manager_Level01, hireDate, timeInJobProfile, jobProfile, jobTitle, lastPromotionDate FROM myDirectReports WHERE worker in "{{selectedWorkerIdQuery}}"`}}`
| }, | ||
| { | ||
| "type": "outboundVariable", | ||
| "name": "ExtensionResponse", |
There was a problem hiding this comment.
EndpointNameLowerCamelCaseRule (ADVICE)
Outbound Endpoint 'ExtensionResponse' doesn't follow naming conventions. Must follow lowerCamelCase convention (e.g., 'myField', 'userName').
Why: Ensures endpoint names follow lowerCamelCase naming convention (style guide)
| @@ -0,0 +1,19 @@ | |||
| { | |||
| "id": "promotionNomination_rvylxm", | |||
There was a problem hiding this comment.
HubAppReferenceIdRule (ADVICE)
"promotionNomination_rvylxm" is the app reference id Workday generated for the original tenant (the _rvylxm suffix). Anyone who imports this example gets a different suffix. Add a "## Before you deploy" section to the README that tells readers to replace it, or reference it dynamically with site.applicationId in scripts.
Why: A tenant-generated app reference id (the _xxxxxx suffix) is baked into the example without telling readers to replace it.
|
Hey @abhi-matti! Just one small tweak needed - can you change your README to be README.md? Right now it has an uppercase extension, and I'd like to keep it consistent across projects. Once you do that, we should be able to get it merged in! Thanks so much for the contribution! |
|
Hello @chumphrey-wd Updated the readme.md as specified and added the example to the main README too. Please check. |
What this PR adds or changes
Adds a new Workday Extend App example for the promotion nomination flow (
examples/promotion-nomination).Core Features
Checklist for new or changed examples
examples/node scripts/validate-examples.mjs --checkpassesnode scripts/audit-examples.mjs --changedpasses