Skip to content

Promotion Nomination App - #7

Open
abhi-matti wants to merge 17 commits into
Workday:mainfrom
abhi-matti:Promotion_Nomination
Open

abhi-matti wants to merge 17 commits into
Workday:mainfrom
abhi-matti:Promotion_Nomination

Conversation

@abhi-matti

@abhi-matti abhi-matti commented Sep 9, 2026

Copy link
Copy Markdown

What this PR adds or changes

Checklist for new or changed examples

  • The example lives entirely in its own folder under examples/
  • node scripts/validate-examples.mjs --check passes (valid example.json, README present, index table in sync)
  • The README says what the artifact is and how to use it
  • No credentials, tenant names, or real personal data anywhere in the folder

Anything reviewers should know?

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example audit: 40 inline suggestion(s). The summary comment on this PR has the full list.

Comment thread examples/Promotion_Nomination/app-info.json Outdated
Comment thread examples/Promotion_Nomination/presentation/eventDetails.pmd
Comment thread examples/Promotion_Nomination/presentation/eventDetails.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/eventDetails.pmd
Comment thread examples/Promotion_Nomination/presentation/eventDetails.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example audit: 16 inline suggestion(s). The summary comment on this PR has the full list.

Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/managerNomination.pmd Outdated
Comment thread examples/Promotion_Nomination/presentation/promotionNomination_rvylxm.amd Outdated
@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown

The Audit examples check failed because of the items under Fix before merge. Push a fix and it re-runs automatically.

Example audit

Audited examples/Promotion_Nomination. Passed: no hardcoded Workday URLs or app ids; no debug logging.

4 to fix and 10 suggestion(s).

Fix before merge

Where Rule What to change
examples/Promotion_Nomination HubFolderKebabCaseRule Folder name "Promotion_Nomination" is not kebab-case (lowercase letters, digits, and hyphens). Rename it to "promotion-nomination". Replace Promotion_Nomination with promotion-nomination.
examples/Promotion_Nomination/README.md HubReadmeSectionsRule README.md uses HTML headings instead of markdown. Rewrite it with the four markdown sections from examples/_template/README.md: "## What it is", "## What's inside", "## How to use it", "## Before you deploy".
examples/Promotion_Nomination/example.json HubExampleJsonRule example.json is missing. "app-info.json" looks like the metadata file; rename it to example.json. Replace app-info.json with example.json.
examples/Promotion_Nomination/presentation/managerNomination.pmd line 353 WidgetIdRequiredRule Widget of type 'richText' at footer->children[0]->type: richText is missing required 'id' field.
Suggestions (10, never block)
Where Rule What to change
examples/Promotion_Nomination ArcaneAuditorWarning Arcane Auditor could not parse part of this folder, so some script rules were skipped: * LPAR
examples/Promotion_Nomination/model/.gitkeep HubGitkeepRule .gitkeep is no longer needed because "examples/Promotion_Nomination/model" has 5 other file(s). Delete it.
examples/Promotion_Nomination/presentation/.gitkeep HubGitkeepRule .gitkeep is no longer needed because "examples/Promotion_Nomination/presentation" has 4 other file(s). Delete it.
examples/Promotion_Nomination/presentation/managerNomination.pmd line 32 PMDSectionOrderingRule PMD sections are not in the correct order. Expected: [1. id, 2. securityDomains, 3. endPoints, 4. outboundData, 5. presentation, 6. _comment, 7. deferred, 8. name, 9. baseUrlType, 10. authType, 11. url, 12. failOnStatusCodes] Actual: [1. id, 2. securityDomains, 3. endPoints, 4. _comment, 5. deferred, 6. name, 7. baseUrlType, 8. authType, 9. url, 10. failOnStatusCodes, 11. outboundData, 12. presentation]
examples/Promotion_Nomination/presentation/managerNomination.pmd line 37 ScriptStringConcatRule 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}}!). Replace '/data?query=' + string:urlEncodeSELECT worker, location, manager_Level01, hireDate, timeInJobProfile, jobProfile, jobTitle, lastPromotionDate FROM myDirectReports WHERE worker in "{{selectedWorkerIdQuery}}"with/data?query={{string:urlEncodeSELECT worker, location, manager_Level01, hireDate, timeInJobProfile, jobProfile, jobTitle, lastPromotionDate FROM myDirectReports WHERE worker in "{{selectedWorkerIdQuery}}"}}``.
examples/Promotion_Nomination/presentation/managerNomination.pmd line 45 ScriptStringConcatRule Inbound endpoint 'getJobProfiles' uses string concatenation with + operator: ''/data?query=' + string:urlEncodeSELECT jobProfileName, workdayID FROM allActiveJobProfiles (dataSourceFilter = defaultFilter) WHERE jobProfileName startswith "{{instanceListQuery}}"'. Consider using PMD template strings with backticks and {{ }} syntax instead (e.g., Hello {{name}}!). Replace '/data?query=' + string:urlEncodeSELECT jobProfileName, workdayID FROM allActiveJobProfiles (dataSourceFilter = defaultFilter) WHERE jobProfileName startswith "{{instanceListQuery}}"with/data?query={{string:urlEncodeSELECT jobProfileName, workdayID FROM allActiveJobProfiles (dataSourceFilter = defaultFilter) WHERE jobProfileName startswith "{{instanceListQuery}}"}}``.
examples/Promotion_Nomination/presentation/managerNomination.pmd line 78 ScriptComplexityRule File section 'outboundEndpoints[0]->name: storePromotionNominationBO->onSend' has complexity of 15 (max recommended: 10). Consider refactoring.
examples/Promotion_Nomination/presentation/managerNomination.pmd line 130 EndpointNameLowerCamelCaseRule Outbound Endpoint 'ExtensionResponse' doesn't follow naming conventions. Must follow lowerCamelCase convention (e.g., 'myField', 'userName').
examples/Promotion_Nomination/presentation/promotionNomination_rvylxm.amd HubAppReferenceIdRule "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.
examples/Promotion_Nomination/presentation/promotionNomination_rvylxm.smd line 2 HubAppReferenceIdRule "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.

Run it yourself: ./scripts/install-arcane.sh once, then node scripts/audit-examples.mjs --changed. Rule explanations and fixes: docs/EXAMPLE_BEST_PRACTICES.md.

ACTION items fail the Audit examples check. ADVICE never blocks. Maintainers can add the audit-override label to merge with open ACTION items.

7 finding(s) are file-level and appear only in this summary.

@Ekwuno

Ekwuno commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

Hey @abhi-matti thanks for submitting this PR are you able to accept the changes from the audit? We'd love to get this example in

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example audit: 1 inline comment(s). The summary comment on this PR has the full list.

"failOnStatusCodes": [{"code": 400}, {"code": 403}]
},
{
"_comment": "Retrieves selected worker information",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PMDSectionOrderingRule (ADVICE)

PMD sections are not in the correct order.
Expected: [1. id, 2. securityDomains, 3. endPoints, 4. outboundData, 5. presentation, 6. _comment, 7. deferred, 8. name, 9. baseUrlType, 10. authType, 11. url, 12. failOnStatusCodes]
Actual: [1. id, 2. securityDomains, 3. endPoints, 4. _comment, 5. deferred, 6. name, 7. baseUrlType, 8. authType, 9. url, 10. failOnStatusCodes, 11. outboundData, 12. presentation]

Why: Ensures PMD file root-level sections follow consistent ordering for better readability

Read more

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants