Skip to content

Conversation

@luancazarine
Copy link
Collaborator

@luancazarine luancazarine commented Nov 5, 2025

Resolves #18953

Summary by CodeRabbit

Release Notes

  • New Features

    • Added Get Article action to retrieve article information from Dixa
    • Added Get Article Translations action to access article translations from Dixa
  • Chores

    • Component version updated to 0.2.0
    • Dependency version updated for compatibility
    • Multiple action and source version increments

- Added `getArticle` and `getArticleTranslations` actions to retrieve articles and their translations from Dixa.
- Updated version numbers for existing actions to 0.0.3.
- Incremented package version to 0.2.0 and updated dependency for `@pipedream/platform` to ^3.1.0.
- Updated source components' versions to 0.0.2 for consistency.
@luancazarine luancazarine linked an issue Nov 5, 2025 that may be closed by this pull request
@vercel
Copy link

vercel bot commented Nov 5, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
pipedream-docs Ignored Ignored Nov 5, 2025 10:18pm
pipedream-docs-redirect-do-not-edit Ignored Ignored Nov 5, 2025 10:18pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 5, 2025

Walkthrough

This release adds knowledge article retrieval functionality to the Dixa component. Two new actions (get-article and get-article-translations) are introduced alongside corresponding methods in the Dixa app module. Multiple existing components receive version bumps, and the package version is incremented to 0.2.0.

Changes

Cohort / File(s) Summary
Version bumps for actions
components/dixa/actions/add-message/add-message.mjs, components/dixa/actions/create-conversation/create-conversation.mjs, components/dixa/actions/set-custom-contact-attributes/set-custom-contact-attributes.mjs, components/dixa/actions/tag-conversation/tag-conversation.mjs
Version incremented from 0.0.2 to 0.0.3 across all four actions; no logic changes
New article retrieval actions
components/dixa/actions/get-article/get-article.mjs, components/dixa/actions/get-article-translations/get-article-translations.mjs
Two new action modules added to retrieve knowledge articles and their translations via Dixa API endpoints /knowledge/articles/{articleId} and /knowledge/articles/{articleId}/translations respectively
Dixa app API methods
components/dixa/dixa.app.mjs
Two new public methods added: getArticle() and getArticleTranslations() to support the new actions with underlying API calls
Version bumps for sources
components/dixa/sources/conversation-status-changed-instant/conversation-status-changed-instant.mjs, components/dixa/sources/new-conversation-created-instant/new-conversation-created-instant.mjs, components/dixa/sources/new-customer-satisfaction-rating-instant/new-customer-satisfaction-rating-instant.mjs, components/dixa/sources/new-message-added-instant/new-message-added-instant.mjs, components/dixa/sources/new-tag-added-instant/new-tag-added-instant.mjs
Version incremented from 0.0.1 to 0.0.2 across all five sources; no logic changes
Package metadata
components/dixa/package.json
Package version bumped from 0.1.0 to 0.2.0; @pipedream/platform dependency updated from ^3.0.3 to ^3.1.0

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GetArticleAction as Get Article Action
    participant DixaApp as Dixa App
    participant API as Dixa API

    User->>GetArticleAction: Invoke with articleId
    GetArticleAction->>DixaApp: getArticle({ articleId, $ })
    DixaApp->>API: GET /knowledge/articles/{articleId}
    API-->>DixaApp: Article data
    DixaApp-->>GetArticleAction: Response
    GetArticleAction->>GetArticleAction: Export summary
    GetArticleAction-->>User: Return article data

    User->>GetArticleAction: Invoke GetArticleTranslations with articleId
    GetArticleAction->>DixaApp: getArticleTranslations({ articleId, $ })
    DixaApp->>API: GET /knowledge/articles/{articleId}/translations
    API-->>DixaApp: Translations data
    DixaApp-->>GetArticleAction: Response
    GetArticleAction->>GetArticleAction: Export summary
    GetArticleAction-->>User: Return translations data
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • The majority of changes consist of repetitive version bumps across multiple files, which are straightforward and low-risk edits
  • The two new action modules (get-article and get-article-translations) follow established patterns and are relatively straightforward implementations
  • The two new methods in dixa.app.mjs are simple GET request wrappers with consistent signatures
  • Package dependency update requires verification that ^3.1.0 is compatible with existing code
  • Verify that the new API endpoints (/knowledge/articles/{articleId} and /knowledge/articles/{articleId}/translations) are correctly documented and tested

Pre-merge checks and finishing touches

❌ Failed checks (2 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is minimal but correctly references the linked issue #18953. However, it lacks detail about the changes made and does not follow the template's WHY section requirement. Expand the description to explain why this change was needed and summarize what knowledge functionality was added (e.g., new action methods for retrieving articles and translations).
Out of Scope Changes check ❓ Inconclusive The PR includes version bumps and dependency updates (package.json, source versions) that are standard maintenance but not directly required by the issue, though they appear reasonable for a release. Clarify whether version bumps across multiple files and the @pipedream/platform dependency update are intentional release-related changes or should be in a separate PR.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: adding knowledge functionality for the Dixa app, which aligns with the changeset containing new get-article actions and API methods.
Linked Issues check ✅ Passed The PR successfully implements both required API endpoints: getArticle for retrieving individual articles [#18953] and getArticleTranslations for retrieving article translations [#18953], plus corresponding action modules.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 18953-action-add-knowledge-functionality-for-dixa

Comment @coderabbitai help to get the list of available commands and usage tips.

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

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 318669f and 9decfc4.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (13)
  • components/dixa/actions/add-message/add-message.mjs (1 hunks)
  • components/dixa/actions/create-conversation/create-conversation.mjs (1 hunks)
  • components/dixa/actions/get-article-translations/get-article-translations.mjs (1 hunks)
  • components/dixa/actions/get-article/get-article.mjs (1 hunks)
  • components/dixa/actions/set-custom-contact-attributes/set-custom-contact-attributes.mjs (1 hunks)
  • components/dixa/actions/tag-conversation/tag-conversation.mjs (1 hunks)
  • components/dixa/dixa.app.mjs (1 hunks)
  • components/dixa/package.json (2 hunks)
  • components/dixa/sources/conversation-status-changed-instant/conversation-status-changed-instant.mjs (1 hunks)
  • components/dixa/sources/new-conversation-created-instant/new-conversation-created-instant.mjs (1 hunks)
  • components/dixa/sources/new-customer-satisfaction-rating-instant/new-customer-satisfaction-rating-instant.mjs (1 hunks)
  • components/dixa/sources/new-message-added-instant/new-message-added-instant.mjs (1 hunks)
  • components/dixa/sources/new-tag-added-instant/new-tag-added-instant.mjs (1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2024-12-12T19:23:09.039Z
Learnt from: jcortes
Repo: PipedreamHQ/pipedream PR: 14935
File: components/sailpoint/package.json:15-18
Timestamp: 2024-12-12T19:23:09.039Z
Learning: When developing Pipedream components, do not add built-in Node.js modules like `fs` to `package.json` dependencies, as they are native modules provided by the Node.js runtime.

Applied to files:

  • components/dixa/package.json
📚 Learning: 2025-10-20T01:01:02.970Z
Learnt from: js07
Repo: PipedreamHQ/pipedream PR: 18744
File: components/slack_v2/actions/send-large-message/send-large-message.mjs:49-64
Timestamp: 2025-10-20T01:01:02.970Z
Learning: In components/slack_v2/actions/send-large-message/send-large-message.mjs, the metadata_event_payload prop is typed as string, so the code only needs to handle string-to-JSON parsing and does not need to handle object inputs.

Applied to files:

  • components/dixa/actions/add-message/add-message.mjs
📚 Learning: 2024-10-08T15:33:38.240Z
Learnt from: GTFalcao
Repo: PipedreamHQ/pipedream PR: 12731
File: components/hackerone/actions/get-members/get-members.mjs:3-28
Timestamp: 2024-10-08T15:33:38.240Z
Learning: When exporting a summary message in the `run` method of an action, ensure the message is correctly formatted. For example, in the `hackerone-get-members` action, the correct format is `Successfully retrieved ${response.data.length} members`.

Applied to files:

  • components/dixa/actions/get-article/get-article.mjs
🧬 Code graph analysis (2)
components/dixa/actions/get-article-translations/get-article-translations.mjs (1)
components/dixa/actions/get-article/get-article.mjs (1)
  • response (23-26)
components/dixa/actions/get-article/get-article.mjs (2)
components/dixa/actions/add-message/add-message.mjs (1)
  • response (55-68)
components/dixa/actions/get-article-translations/get-article-translations.mjs (1)
  • response (23-26)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: pnpm publish
  • GitHub Check: Publish TypeScript components
  • GitHub Check: Verify TypeScript components
  • GitHub Check: Lint Code Base
🔇 Additional comments (13)
components/dixa/package.json (1)

3-3: LGTM! Version bumps are appropriate.

The minor version bump (0.1.0 → 0.2.0) and the platform dependency update align with adding new knowledge functionality to the Dixa integration.

Also applies to: 16-16

components/dixa/sources/new-tag-added-instant/new-tag-added-instant.mjs (1)

9-9: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/actions/set-custom-contact-attributes/set-custom-contact-attributes.mjs (1)

7-7: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/actions/add-message/add-message.mjs (1)

7-7: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/sources/new-message-added-instant/new-message-added-instant.mjs (1)

9-9: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/sources/conversation-status-changed-instant/conversation-status-changed-instant.mjs (1)

9-9: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/actions/create-conversation/create-conversation.mjs (1)

7-7: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/sources/new-customer-satisfaction-rating-instant/new-customer-satisfaction-rating-instant.mjs (1)

9-9: LGTM! Routine version bump.

Version metadata updated consistently with the package release.

components/dixa/actions/tag-conversation/tag-conversation.mjs (1)

7-7: LGTM! Version bump maintains consistency.

The version increment aligns with the broader updates across Dixa actions in this PR.

components/dixa/sources/new-conversation-created-instant/new-conversation-created-instant.mjs (1)

9-9: LGTM! Version bump maintains consistency.

The version increment aligns with the broader updates across Dixa sources in this PR.

components/dixa/actions/get-article-translations/get-article-translations.mjs (1)

22-29: LGTM! Implementation follows established patterns.

The action correctly calls the app method and exports an appropriate summary message.

components/dixa/dixa.app.mjs (1)

211-226: LGTM! New methods follow established patterns.

Both getArticle and getArticleTranslations methods are correctly implemented, following the existing codebase patterns and using the _makeRequest helper appropriately. The endpoint paths match the PR objectives.

components/dixa/actions/get-article/get-article.mjs (1)

1-30: LGTM! Well-structured action implementation.

The action correctly implements the article retrieval functionality, following established codebase patterns. The documentation link correctly references the v1 API, and the summary message format is appropriate.

Comment on lines +16 to +20
articleId: {
type: "string",
label: "Article ID",
description: "The ID of the article to get",
},
Copy link
Collaborator

Choose a reason for hiding this comment

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

Recommended to move this prop to app file and implement async props.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

there isn't a list articles endpoint

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.

[ACTION] add knowledge functionality for Dixa

3 participants