Add Attestify (Issue Certificate action)#21209
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified. |
|
Thanks for submitting this PR! When we review PRs, we follow the Pipedream component guidelines. If you're not familiar, here's a quick checklist:
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughA new ChangesAttestify Integration
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@components/attestify/actions/issue-certificate/issue-certificate.mjs`:
- Line 7: In the component description string (the long sentence starting with
"Issue a tamper-evident..."), change the documentation link text from "[See the
docs]" to "[See the documentation]" while keeping the URL the same. This ensures
compliance with the required documentation-link wording format for component
descriptions.
- Around line 9-10: The action object in issue-certificate.mjs is missing the
required annotations metadata block that provides semantic hints for the action
contract. Add an annotations property to the action object (alongside type and
props) that includes the three required semantic hint fields: readOnlyHint,
destructiveHint, and openWorldHint. Since this action makes external API calls
to issue certificates, set openWorldHint to true as specified in the coding
guidelines.
In `@components/attestify/attestify.app.mjs`:
- Around line 36-37: The completionDate description property (around line 36-37)
specifies the format as YYYY-MM-DD but lacks a concrete date example for
AI-agent clarity. Update the description string to include an inline concrete
example date (such as 2026-06-21) alongside the format specification to make it
clearer for automated agents consuming this schema.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: bd456139-5bda-42a6-a522-87ed938b8bb4
📒 Files selected for processing (5)
components/attestify/README.mdcomponents/attestify/actions/issue-certificate/README.mdcomponents/attestify/actions/issue-certificate/issue-certificate.mjscomponents/attestify/attestify.app.mjscomponents/attestify/package.json
|
Thanks for the review! Addressed the CodeRabbit findings:
Note: Attestify needs no auth (free, no signup), so the app declares no credentials — happy to add an app logo or adjust anything else per the guidelines. Thanks! |
There was a problem hiding this comment.
Hi @novadyne-hq, thank you for your contribution! Attestify is not an app currently supported by pipedream, would you mind raising an integration request at https://github.com/PipedreamHQ/pipedream/issues/new?template=app---service-integration.md so we can review, test and get changes related to Attestify released one a base integration is in place ?
Adding Attestify
This PR adds a new app integration: Attestify — issue tamper-evident, cryptographically-verifiable certificates. Each certificate gets a permanent public verify page anyone can check (Ed25519-signed, so it can't be forged after issuance). The service is free with no signup, so the app declares no auth.
Components
POST https://attestify.novadyne.ai/cert/issue. Takes issuer, course/credential, recipient name (+ optional email and completion date) and returns thecert_id, the permanent publicverify_url, and the Ed25519-signed_record_url.Notes
attestify.app.mjsdeclares no auth.User-Agent: pipedream-attestify/0.0.1so Pipedream-sourced issuances are identifiable.Summary by CodeRabbit