Skip to content

Conversation

@deusdete
Copy link
Contributor

@deusdete deusdete commented Jun 10, 2025

WHY

By adding these actions, users can fully automate CodeQR workflows in Pipedream—creating, retrieving, and deleting both links and QR codes—directly from their existing integrations. This expands the automation possibilities for marketing campaigns, feedback collection, analytics reporting, and more.

Description

This PR adds the following Pipedream actions to support CodeQR link and QR code management:

  • Create a Link (create-link.mjs)

    • Key: codeqr-create-link
    • Description: Converts a long URL into a CodeQR short link, with support for custom keys, domains, tags, expiration, pre-redirect pages, and more.
  • Get a Link (get-link-info.mjs)

    • Key: codeqr-get-link
    • Description: Retrieves an existing short link by linkId, externalId, or domain + key via query parameters.
  • Delete a Link (delete-link.mjs)

    • Key: codeqr-delete-link
    • Description: Deletes a short link by linkId or externalId.
  • Create a QR Code (create-qrcode.js)

    • Key: codeqr-create-qrcode
    • Description: Generates a new QR code in CodeQR with customizable content (URL, text, email, phone, vCard, Wi-Fi, PIX, etc.), styling (colors, size, logo), and tracking options.
  • Delete a QR Code (delete-qrcode.js)

    • Key: codeqr-delete-qrcode
    • Description: Deletes a dynamic or static QR code by qrcodeId or externalId.
  • Get QR Code Info (get-qrcode-info.js)

    • Key: codeqr-get-qrcode-info
    • Description: Retrieves QR code metadata by qrcodeId, externalId, or domain + key via query parameters.

Summary by CodeRabbit

  • New Features
    • Introduced comprehensive actions for creating, retrieving, and deleting QR codes and short links with customizable options including tracking, expiration, geo-targeting, and device-specific URLs.
    • Enhanced API integration with dynamic selection of existing links and QR codes, plus improved request handling and error validation.
  • Documentation
    • Added detailed README outlining CodeQR API capabilities, integration workflows, and example use cases.
  • Chores
    • Updated package version and added necessary dependencies.

@vercel
Copy link

vercel bot commented Jun 10, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
pipedream-docs-redirect-do-not-edit ⬜️ Ignored (Inspect) Jun 13, 2025 1:00am

@vercel
Copy link

vercel bot commented Jun 10, 2025

@deusdete is attempting to deploy a commit to the Pipedreamers Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jun 10, 2025

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This update introduces the CodeQR integration module, enabling dynamic QR code and short link management via a standardized API client. It adds actions for creating, retrieving, and deleting QR codes and links, centralizes API communication using Axios, and documents the module's capabilities and use cases. Constants and dependencies are also defined.

Changes

File(s) Change Summary
components/codeqr/README.md Added documentation describing the CodeQR API, integration use cases, and example workflows.
components/codeqr/common/constants.mjs Introduced a module exporting the BASE_URL constant for API requests.
components/codeqr/codeqr.app.mjs Refactored to add standardized HTTP request helpers and CRUD methods for links and QR codes using Axios.
components/codeqr/actions/create-link/create-link.mjs Added action to create a short link with extensive configurable parameters via the CodeQR API.
components/codeqr/actions/create-qrcode/create-qrcode.mjs Added action to create a QR code with configurable properties via the CodeQR API.
components/codeqr/actions/delete-link/delete-link.mjs Added action to delete a short link by link ID or external ID, with input validation and error handling.
components/codeqr/actions/delete-qrcode/delete-qrcode.mjs Added action to delete a QR code by QR code ID or external ID, with input validation and error handling.
components/codeqr/actions/get-link-info/get-link-info.mjs Added action to retrieve link information by ID, external ID, or domain/key, with input validation.
components/codeqr/actions/get-qrcode-info/get-qrcode-info.mjs Added action to retrieve QR code information by ID, external ID, or domain/key, with input validation.
components/codeqr/package.json Updated version to 0.1.2 and added a dependency on "@pipedream/platform".

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant ActionModule
    participant CodeQRApp
    participant CodeQRAPI

    User->>ActionModule: Provide action inputs
    ActionModule->>CodeQRApp: Call method (e.g., createLink, createQrcode)
    CodeQRApp->>CodeQRAPI: Send HTTP request (Axios)
    CodeQRAPI-->>CodeQRApp: Return response
    CodeQRApp-->>ActionModule: Return processed data
    ActionModule-->>User: Output result
Loading

Poem

🐇
Hop, hop, a QR code springs,
With links and stats and clever things.
Create, fetch, or delete with ease,
CodeQR now does all of these!
Through docs and flows, the rabbits cheer—
New actions and APIs are finally here!


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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@adolfo-pd adolfo-pd added the User submitted Submitted by a user label Jun 10, 2025
@pipedream-component-development
Copy link
Collaborator

Thank you so much for submitting this! We've added it to our backlog to review, and our team has been notified.

@pipedream-component-development
Copy link
Collaborator

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:

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (10)
components/codeqr/common/constants.mjs (1)

1-5: Consider making the base URL configurable

Hard-coding the API root prevents users from easily switching between staging, sandbox, or self-hosted environments. Exporting the string as the default is fine, but additionally reading from process.env.CODEQR_BASE_URL (and falling back to the hard-coded value) would give consumers more flexibility without breaking existing code.

-const BASE_URL = "https://api.codeqr.io";
+const BASE_URL = process.env.CODEQR_BASE_URL ?? "https://api.codeqr.io";
components/codeqr/README.md (1)

1-4: Remove stray control characters and fix minor style issues

There’s an artefact (fileciteturn3file0) embedded after “2,500 apps”, and LanguageTool flagged wordiness around “a new record”. These don’t affect code but will show up in rendered docs.

-… 2,500 apps. fileciteturn3file0
+… 2,500 apps.

Optional tidy-up:

-When a new record is added …
+When a record is added …

Also applies to: 16-18

components/codeqr/actions/get-link-info/get-link-info.mjs (1)

5-9: Rename for grammatical clarity

“Get a Link Info” reads awkwardly in the UI. Dropping the article is enough.

-name: "Get a Link Info",
+name: "Get Link Info",
components/codeqr/actions/get-qrcode-info/get-qrcode-info.mjs (3)

40-47: Clarify validation error message

The check correctly blocks calls where neither qrcodeId, externalId, nor the (domain && key) pair is supplied, but the thrown message does not explain that both domain and key are required when that lookup mode is used.
A more explicit message prevents user confusion.

-        "Please provide qrcodeId, externalId, or both domain and key.",
+        "Provide one of: qrcodeId, externalId, OR the combination of domain and key.",

48-52: Payload assembly can be reduced to a one-liner

The four conditional assignments are repetitive. Using Object.fromEntries or a spread with conditional property inclusion makes the intent clearer and scales better if parameters grow.

-const params = {};
-qrcodeId && (params.qrcodeId = qrcodeId);
-externalId && (params.externalId = externalId);
-domain && (params.domain = domain);
-key && (params.key = key);
+const params = Object.fromEntries(
+  Object.entries({ qrcodeId, externalId, domain, key })
+    .filter(([, v]) => v != null),
+);

56-62: Nested ternary hurts readability

The summary construction is correct but the triple-nest ternary is hard to scan. Consider an if/else block or a helper that derives the “source” string.

components/codeqr/actions/create-qrcode/create-qrcode.mjs (2)

17-24: static identifier may surprise consumers

While this.static works in JS, static is a reserved keyword in class bodies and highlighting/linters often flag it. Renaming to isStatic (and mapping to static when building the payload) avoids false-positive lint errors.


111-131: Loop already solves conditional assignment – duplicate code elsewhere

Here you iterate over a white-list to build the payload; replicating the verbose && pattern in the link action (see below) is inconsistent. Consider extracting this helper to the app file so all actions share one approach.

components/codeqr/actions/create-link/create-link.mjs (1)

200-226: Repetitive conditional assignments hurt maintainability

The long block of field && (payload.field = field) is error-prone and diverges from the cleaner pattern used in the QR-code action. A single helper keeps things DRY:

-const payload = { url };
-key && (payload.key = key);
-// … 20 more lines
+const optional = {
+  key, domain, externalId, password, flexible,
+  title, description, image, video, proxy,
+  preRedirection, pageId, pageUrl, rewrite,
+  ios, android, doIndex, comments, expiresAt,
+  expiredUrl, geo, publicStats,
+};
+const payload = { url, ...Object.fromEntries(
+  Object.entries(optional).filter(([, v]) => v != null),
+)};
components/codeqr/codeqr.app.mjs (1)

67-72: Method name typo breaks import consistency

Everywhere else the camel-cased acronym is “Qrcode”, but here the deleter is deleteQRCode (uppercase C). This inconsistency will surprise action authors.

-async deleteQRCode(identifier) {
+async deleteQrcode(identifier) {

(and update callers)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 101957f and bab0c98.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (10)
  • components/codeqr/README.md (1 hunks)
  • components/codeqr/actions/create-link/create-link.mjs (1 hunks)
  • components/codeqr/actions/create-qrcode/create-qrcode.mjs (1 hunks)
  • components/codeqr/actions/delete-link/delete-link.mjs (1 hunks)
  • components/codeqr/actions/delete-qrcode/delete-qrcode.mjs (1 hunks)
  • components/codeqr/actions/get-link-info/get-link-info.mjs (1 hunks)
  • components/codeqr/actions/get-qrcode-info/get-qrcode-info.mjs (1 hunks)
  • components/codeqr/codeqr.app.mjs (1 hunks)
  • components/codeqr/common/constants.mjs (1 hunks)
  • components/codeqr/package.json (2 hunks)
🧰 Additional context used
🪛 LanguageTool
components/codeqr/README.md

[style] ~11-~11: ‘new record’ might be wordy. Consider a shorter alternative.
Context: ...th Pre-Redirect Lead Capture** When a new record is added to Airtable or a Google Sheet ...

(EN_WORDINESS_PREMIUM_NEW_RECORD)

🔇 Additional comments (6)
components/codeqr/package.json (2)

3-3: Bump version to 0.1.0
This aligns with the introduction of the new CodeQR actions. Ensure your CHANGELOG or release notes reflect this version bump.


14-17: Add @pipedream/platform dependency
Including the Pipedream SDK is necessary for these new action components to function correctly.

components/codeqr/actions/delete-qrcode/delete-qrcode.mjs (1)

36-38: Double-check helper method name

The call uses deleteQrcode, but the PR summary mentions deleteQRCode. If the helper in codeqr.app.mjs is camel-cased with a capital “C”, this will throw is not a function at runtime.

Please verify the method spelling is consistent across the app client and all action files.

components/codeqr/actions/delete-link/delete-link.mjs (1)

30-34: Good defensive validation

Early guard against missing identifiers avoids unnecessary API calls and gives clear feedback. 👍

components/codeqr/actions/create-link/create-link.mjs (2)

171-198: Lack of upfront validation for required vs. incompatible fields

Some combinations are mutually exclusive or required together:

  • preRedirection === true should probably require pageId or pageUrl.
  • externalId must start with ext_ (per docs).
  • If expiresAt is set, expiredUrl is highly recommended.

Adding light validation (or at least warnings) will save users failed runs.


226-228: Tag parameters typed as string[] but coerced to plain array

Good that you only add them when length > 0. However, the Props definition uses "string[]", which Pipedream currently serialises as a CSV string, not a real array. Confirm this matches the API expectation; you might need to split the string first.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (2)
components/codeqr/codeqr.app.mjs (2)

42-46: Auth header still hard-codes oauth_access_token
The previous review already flagged this but it remains unresolved. If the user configures the component with an API key (the primary method CodeQR advertises) requests will 401.


56-61: data is forwarded on GET / DELETE requests
The config blindly spreads opts, so data is sent even for methods that do not have a body – a repeat of the issue called out in the earlier review.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bab0c98 and 4e2289f.

📒 Files selected for processing (7)
  • components/codeqr/actions/create-link/create-link.mjs (1 hunks)
  • components/codeqr/actions/create-qrcode/create-qrcode.mjs (1 hunks)
  • components/codeqr/actions/delete-link/delete-link.mjs (1 hunks)
  • components/codeqr/actions/delete-qrcode/delete-qrcode.mjs (1 hunks)
  • components/codeqr/actions/get-link-info/get-link-info.mjs (1 hunks)
  • components/codeqr/actions/get-qrcode-info/get-qrcode-info.mjs (1 hunks)
  • components/codeqr/codeqr.app.mjs (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
  • components/codeqr/actions/get-link-info/get-link-info.mjs
  • components/codeqr/actions/get-qrcode-info/get-qrcode-info.mjs
  • components/codeqr/actions/delete-link/delete-link.mjs
  • components/codeqr/actions/delete-qrcode/delete-qrcode.mjs
  • components/codeqr/actions/create-qrcode/create-qrcode.mjs
  • components/codeqr/actions/create-link/create-link.mjs

@michelle0927
Copy link
Collaborator

@vunguyenhung Based on some errors I got while testing, I think we need to add scopes links.write and qrcodes.write.

michelle0927
michelle0927 previously approved these changes Jun 11, 2025
Copy link
Collaborator

@michelle0927 michelle0927 left a comment

Choose a reason for hiding this comment

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

Ready for QA!

@michelle0927 michelle0927 moved this from In Review to Ready for QA in Component (Source and Action) Backlog Jun 11, 2025
@vunguyenhung vunguyenhung moved this from Ready for QA to In QA in Component (Source and Action) Backlog Jun 12, 2025
@vunguyenhung vunguyenhung moved this from In QA to Changes Required in Component (Source and Action) Backlog Jun 12, 2025
@vunguyenhung
Copy link
Collaborator

Hello everyone, I have tested this PR and there're some test cases failed or needed improvement.

Please check the test report below for more information
https://vunguyenhung.notion.site/Codeqr-new-actions-210bf548bb5e81509e42cce527a24121

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (2)
components/codeqr/actions/create-link/create-link.mjs (2)

175-196: Consider extracting payload construction into a shared helper

There is a long series of foo && (payload.foo = foo) statements.
This pattern is repeated in the other actions of this PR and will be hard to maintain.

A helper like buildPayload(this, ["url", "key", …]) or a simple Object.fromEntries filter would make the code shorter and reduce the risk of omitting a future field.


138-143: Array prop should be typed as string[] and optional: true is redundant

Pipedream automatically treats array props as optional unless required: true is set. You can drop the optional flag or, if you keep it, ensure consistency with other props.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4e2289f and 440b7b0.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • components/codeqr/actions/create-link/create-link.mjs (1 hunks)
  • components/codeqr/package.json (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • components/codeqr/package.json

@vunguyenhung
Copy link
Collaborator

@vunguyenhung Based on some errors I got while testing, I think we need to add scopes links.write and qrcodes.write.

Thanks @michelle0927, I've added the 2 scopes to our official oauth app

@deusdete
Copy link
Contributor Author

@michelle0927 AND @vunguyenhung I removed some unused props in the Create Link action and updated the Create QR Code action with new correct properties.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (2)
components/codeqr/actions/create-qrcode/create-qrcode.mjs (2)

30-41: ⚠️ Potential issue

Still missing the “at least one content field” guard

Previous review already highlighted that a request with all content fields empty is invalid. The guard is still absent, so users can submit an empty payload and receive a runtime 400 from the API.

@@
   const payload = {};
   for (const key of [
@@
     "expiredUrl",
   ]) {
     if (this[key] != null) payload[key] = this[key];
   }
+
+  // Guard: ensure at least one content field is supplied
+  if (!payload.url && !payload.text) {
+    throw new Error(
+      "Please provide at least one content field (`url` or `text`).",
+    );
+  }

Also applies to: 100-119


16-19: 🛠️ Refactor suggestion

Expand type enum to cover all supported QR-code content types

Only "url" and "text" are allowed, but the API also supports "email", "phone", "vcard", "wifi", "pix", etc. End-users lose functionality and will assume the action is broken when they try any officially-documented value outside this list.
Add the full set of valid options (or source it dynamically from the app file) to prevent avoidable 4xx errors.

       options: [
         "url",
         "text",
+        "email",
+        "phone",
+        "vcard",
+        "wifi",
+        "pix",
       ],
🧹 Nitpick comments (2)
components/codeqr/actions/create-qrcode/create-qrcode.mjs (2)

22-29: Rename/clarify static prop to avoid ambiguity

static is a reserved keyword in JS classes and the current label (“Static/Dynamic”) inverses the usual truthy meaning (true = static). Consider renaming to isStatic (or dynamic, default false) and updating the description accordingly. This increases readability and avoids accidental misuse.


86-92: Copy-paste description mentions “short link”

The expiresAt description refers to “the short link”, which is misleading for a QR-code action. Replace with “QR Code” to avoid confusion.

-        "The date and time when the short link will expire (ISO 8601). Only available for dynamic QR Codes.",
+        "The date and time when the QR Code will expire (ISO 8601). Only available for dynamic QR Codes.",
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 440b7b0 and c0a4ad9.

📒 Files selected for processing (2)
  • components/codeqr/actions/create-qrcode/create-qrcode.mjs (1 hunks)
  • components/codeqr/package.json (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • components/codeqr/package.json

@vunguyenhung vunguyenhung moved this from Changes Required to Ready for PR Review in Component (Source and Action) Backlog Jun 12, 2025
@michelle0927 michelle0927 moved this from Ready for PR Review to In Review in Component (Source and Action) Backlog Jun 12, 2025
@michelle0927 michelle0927 moved this from In Review to Ready for QA in Component (Source and Action) Backlog Jun 12, 2025
lcaresia
lcaresia previously approved these changes Jun 12, 2025
@vunguyenhung vunguyenhung moved this from Ready for QA to In QA in Component (Source and Action) Backlog Jun 13, 2025
@vunguyenhung vunguyenhung moved this from In QA to Ready for QA in Component (Source and Action) Backlog Jun 13, 2025
@vunguyenhung vunguyenhung moved this from Ready for QA to In QA in Component (Source and Action) Backlog Jun 13, 2025
@vunguyenhung vunguyenhung moved this from In QA to Changes Required in Component (Source and Action) Backlog Jun 13, 2025
@vunguyenhung
Copy link
Collaborator

Hello everyone, I have tested this PR and there're some test cases failed or needed improvement.

Please check the test report below for more information
https://vunguyenhung.notion.site/Codeqr-new-actions-210bf548bb5e81509e42cce527a24121

@deusdete
Copy link
Contributor Author

Hello everyone, I have tested this PR and there're some test cases failed or needed improvement.

Please check the test report below for more information https://vunguyenhung.notion.site/Codeqr-new-actions-210bf548bb5e81509e42cce527a24121

@vunguyenhung i decided to remove the tagNames field for now. I believe that now the "Create Link" action should work.

I have a question, in the reference link you provided there is a topic "Create Qrcode - Failed, Improvement needed" but when viewing the print the QR Code was created successfully. Could you provide more details about which improvements are needed?

@vunguyenhung
Copy link
Collaborator

Hey @deusdete

i decided to remove the tagNames field for now. I believe that now the "Create Link" action should work.

Got it, I'll test again.

I have a question, in the reference link you provided there is a topic "Create Qrcode - Failed, Improvement needed" but when viewing the print the QR Code was created successfully. Could you provide more details about which improvements are needed?

Actually this is a cache issue on Notion. Kindly ignore it.

You can refresh the test report page to see the up-to-date content

@vunguyenhung vunguyenhung moved this from Changes Required to Ready for QA in Component (Source and Action) Backlog Jun 13, 2025
@vunguyenhung vunguyenhung moved this from Ready for QA to Ready for Release in Component (Source and Action) Backlog Jun 13, 2025
@vunguyenhung
Copy link
Collaborator

Hi everyone, all test cases are passed! Ready for release!

Test report
https://vunguyenhung.notion.site/Codeqr-new-actions-210bf548bb5e81509e42cce527a24121

@michelle0927 michelle0927 merged commit 3b30a33 into PipedreamHQ:master Jun 13, 2025
10 of 11 checks passed
@github-project-automation github-project-automation bot moved this from Ready for Release to Done in Component (Source and Action) Backlog Jun 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

User submitted Submitted by a user

Development

Successfully merging this pull request may close these issues.

6 participants