Skip to content

Pointer to string cannot be put into structpb.Value #34

@tvandinther

Description

@tvandinther

What happened?

cannot compose resources: pipeline step "get-group-objectids" returned a fatal result: cannot convert results data to structpb.Value: proto: invalid type: *string

How can we reproduce it?

I am using the function with the following config:

    - step: get-group-objectids
      functionRef:
        name: function-msgraph
      input:
        apiVersion: msgraph.fn.crossplane.io/v1alpha1
        kind: Input
        queryType: GroupObjectIDs
        groupsRef: spec.allowedGroups
        target: context.allowedGroupObjectIDs
        skipQueryWhenTargetHasData: true

What environment did it happen in?

Function version: v0.2.0

Here are the debug logs for this call:

2025-08-01T10:35:16.697Z    INFO    fn/fn.go:45    Running function    {"tag": "7e7a1038809a831e5e12285d36321d4faa268863c953f572508cc06b0a535ac4"}
2025-08-01T10:35:16.698Z    DEBUG    fn/fn.go:165    Cannot get status from Desired XR or it's empty
2025-08-01T10:35:16.698Z    INFO    fn/fn.go:872    Successfully propagated Desired XR
2025-08-01T10:35:16.698Z    INFO    fn/fn.go:883    Preserved existing context in response
2025-08-01T10:35:16.699Z    INFO    fn/fn.go:966    Resolved GroupsRef to groups    {"groupCount": 2, "groupsRef": "spec.allowedGroups"}
2025-08-01T10:35:17.078Z    INFO    fn/fn.go:211    Query Type:    {"queryType": "GroupObjectIDs"}
2025-08-01T10:35:17.078Z    INFO    fn/fn.go:212    Results:    {"results": "[map[description:<nil> displayName:0xc0003a9830 id:0xc0003a97e0] map[description:<nil> displayName:0xc0001fb1f0 id:0xc0001fb1a0]]"}

I believe the error originates from this line in the codebase: https://github.com/upbound/function-msgraph/blob/main/fn.go#L775

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions