slackLists.items.list: LinkField originalUrl/displayName are always null (response uses camelCase keys)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
バグは ListRecord.LinkField のデシリアライズ方法にあります。そのフィールドは snake_case の名前を使っていますが、slackLists.items.list は camelCase のキーを返します。まずモデルの LinkField クラスを確認し、どの @SerializedName アノテーションが付いているかを調べてください。その後、originalUrl と displayName を含む JSON フィクスチャで再現してください。getOriginalUrl() と getDisplayName() がフィクスチャの値を返し、既存の create/update リクエストの形が snake_case のまま直列化されることを確認できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
slackLists.items.list returns link cells with camelCase keys (originalUrl, displayAsUrl, displayName), but ListRecord.LinkField is deserialized with the SDK's snake_case naming, so it expects original_url, display_as_url and display_name. As a result, every LinkField read back from a list has originalUrl == null and displayName == null.
Writing works: slackLists.items.create and slackLists.items.update accept the snake_case request shape that the SDK sends.
Reproduce
- Create a list with a
linkcolumn and add a row whose link cell hasoriginal_urlanddisplay_name(through the SDK). - Call
slackLists.items.listthroughMethodsClient#slackListsItemsList. - For the link field of the row:
field.getLink().get(0).getOriginalUrl()isnull.field.getValue()holds the link as JSON with camelCase keys, for example:
{"originalUrl":"https://github.com/org/repo/pull/7","attachment":{},"displayAsUrl":false,"displayName":"repo#7"}
Expected
getOriginalUrl() and getDisplayName() return the values Slack sent, for example with @SerializedName(value = "original_url", alternate = "originalUrl") on the LinkField fields.
Versions
com.slack.api:slack-api-clientandslack-api-model1.51.0- Java 25
- 主要言語
- Java
- スター
- 602
- フォーク
- 239
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 18
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
slackapi/java-slack-sdk のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
slackapi/java-slack-sdk#1653 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement project:slack-api-model
難易度 3/5 半日 初心者へのやさしさ 75/100
slackapi/java-slack-sdk#1657 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Upgrade Jetty対応中かも @skrcode が 69 日前に担当しました。 オープンauto-triage-skip dependencies good first issue
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
slackapi/java-slack-sdk#1567 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
auto-triage-skip discussion enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
slackapi/java-slack-sdk#1535 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
auto-triage-skip question untriaged
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
slackapi/java-slack-sdk#1528 · コメント 7 件 ·
メンテナーはふだん 1 日以内に返信
slackapi/java-slack-sdk の issue をすべて見る
似ている issue
-
type: dependency-upgrade
難易度 2/5 1〜3時間 初心者へのやさしさ 61/100
spring-projects/spring-graphql#1556 ·
-
hermes-queue
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
chrisalunlloyd2-sudo/mindpalace#373 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
bug priority: lowest
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SkriptLang/Skript#8953 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
quality-assurance
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
メンテナーはふだん 1 日以内に返信