happytal / substitute-variables

Azure DevOps task for substituting variables in plain JSON and YAML files
MIT License
1 stars 0 forks source link

#[error]unacceptable kind of an object to dump [object Undefined] #22

Open TrentBie opened 2 months ago

TrentBie commented 2 months ago

Getting error #[error]unacceptable kind of an object to dump [object Undefined] - have not ben able to find the value it is blowing up on

Version 1.2.3 Agent version 3.242.1

fhervieux commented 2 months ago

The error comes from the underlying yaml library and the message cannot be improved (see https://github.com/nodeca/js-yaml/issues/577).

What I think could be improved is, in case we are working with a yaml file, try to serialize the values at substitution time instead of once at the end of the task. This way we could know which variable is causing the issue. Could you provide a reproducible example of your issue in order to make sure this solution would work?

TrentBie commented 2 months ago

What is really weird is I have 3 ados agent servers - 2 are server 2022 and 1 is server 2019 - and the agent on 2019 works fine but the agents on the 2022 OS get the object error

Trent Bielejeski Senior DevOps Engineer

Bell Bank 3100 13th Avenue South | Fargo, ND 58103 Phone 701.237.2839 | Mobile 218.304.1093 @.**@.> | www.bell.bankhttps://bell.bank/ | Member FDIC A Local and National Award-Winning Companyhttps://bell.bank/awards

Bell cares about safeguarding your information. Never email or text documents that contain personal or sensitive information. Please contact me to discuss possible options I can provide to securely upload documentation that may contain personal information.

From: François Hervieux @.> Sent: Tuesday, August 6, 2024 4:01 AM To: happytal/substitute-variables @.> Cc: Trent Bielejeski @.>; Author @.> Subject: Re: [happytal/substitute-variables] #[error]unacceptable kind of an object to dump [object Undefined] (Issue #22)

The error comes from the underlying yaml library and the message cannot be improved (see nodeca/js-yaml#577 [github. com]). What I think could be improved is, in case we are working with a yaml file, try to serialize the values at substitution

The error comes from the underlying yaml library and the message cannot be improved (see nodeca/js-yaml#577 [github.com]https://urldefense.com/v3/__https:/github.com/nodeca/js-yaml/issues/577__;!!A251HDo3!VTLuDSIFXPcA7i_Pr-o0eIwWIOEC12519rx_RVtrERaCLEyp276fuhWREg2FTkvDaWbDCPy9-ptgfVo2dL2yr3nVzcAm$).

What I think could be improved is, in case we are working with a yaml file, try to serialize the values at substitution time instead of once at the end of the task. This way we could know which variable is causing the issue. Could you provide a reproducible example of your issue in order to make sure this solution would work?

— Reply to this email directly, view it on GitHub [github.com]https://urldefense.com/v3/__https:/github.com/happytal/substitute-variables/issues/22*issuecomment-2270757873__;Iw!!A251HDo3!VTLuDSIFXPcA7i_Pr-o0eIwWIOEC12519rx_RVtrERaCLEyp276fuhWREg2FTkvDaWbDCPy9-ptgfVo2dL2yr6pKUzBo$, or unsubscribe [github.com]https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A4HIW3W3CWL23SR57DE5CELZQCGENAVCNFSM6AAAAABMA5U5QCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZQG42TOOBXGM__;!!A251HDo3!VTLuDSIFXPcA7i_Pr-o0eIwWIOEC12519rx_RVtrERaCLEyp276fuhWREg2FTkvDaWbDCPy9-ptgfVo2dL2yr1xGZ0e2$. You are receiving this because you authored the thread.Message ID: @.**@.>>

NOTICE: The information in this e-mail and any attachments is for the sole use by the addressee and may contain information that is privileged, confidential or exempt from disclosure. If you are not the addressee, any review, use, retention or distribution of this e-mail or its attachments is prohibited and may be a violation of law. If you have received this e-mail in error, please notify the sender immediately and permanently delete this e-mail and all attachments. Any opinions or comments are personal to the sender and may not represent those of Bell Bank. This e-mail and its attachments neither constitute an agreement to conduct transactions by electronic means nor create a legally binding contract or enforceable obligation in the absence of a fully signed written agreement.

TrentBie commented 2 months ago

So this seems to be an issue with server 2022 OS did more testing and this task only fails on ados agents running on server 2022 OS

Trent Bielejeski Senior DevOps Engineer

Bell Bank 3100 13th Avenue South | Fargo, ND 58103 Phone 701.237.2839 | Mobile 218.304.1093 @.**@.> | www.bell.bankhttps://bell.bank/ | Member FDIC A Local and National Award-Winning Companyhttps://bell.bank/awards

Bell cares about safeguarding your information. Never email or text documents that contain personal or sensitive information. Please contact me to discuss possible options I can provide to securely upload documentation that may contain personal information.

From: Trent Bielejeski Sent: Tuesday, August 6, 2024 9:31 AM To: 'happytal/substitute-variables' @.>; happytal/substitute-variables @.> Cc: Author @.***> Subject: RE: [happytal/substitute-variables] #[error]unacceptable kind of an object to dump [object Undefined] (Issue #22)

What is really weird is I have 3 ados agent servers - 2 are server 2022 and 1 is server 2019 - and the agent on 2019 works fine but the agents on the 2022 OS get the object error

Trent Bielejeski Senior DevOps Engineer

Bell Bank 3100 13th Avenue South | Fargo, ND 58103 Phone 701.237.2839 | Mobile 218.304.1093 @.**@.> | www.bell.bankhttps://bell.bank/ | Member FDIC A Local and National Award-Winning Companyhttps://bell.bank/awards

Bell cares about safeguarding your information. Never email or text documents that contain personal or sensitive information. Please contact me to discuss possible options I can provide to securely upload documentation that may contain personal information.

From: François Hervieux @.**@.>> Sent: Tuesday, August 6, 2024 4:01 AM To: happytal/substitute-variables @.**@.>> Cc: Trent Bielejeski @.**@.>>; Author @.**@.>> Subject: Re: [happytal/substitute-variables] #[error]unacceptable kind of an object to dump [object Undefined] (Issue #22)

The error comes from the underlying yaml library and the message cannot be improved (see nodeca/js-yaml#577 [github. com]). What I think could be improved is, in case we are working with a yaml file, try to serialize the values at substitution

The error comes from the underlying yaml library and the message cannot be improved (see nodeca/js-yaml#577 [github.com]https://urldefense.com/v3/__https:/github.com/nodeca/js-yaml/issues/577__;!!A251HDo3!VTLuDSIFXPcA7i_Pr-o0eIwWIOEC12519rx_RVtrERaCLEyp276fuhWREg2FTkvDaWbDCPy9-ptgfVo2dL2yr3nVzcAm$).

What I think could be improved is, in case we are working with a yaml file, try to serialize the values at substitution time instead of once at the end of the task. This way we could know which variable is causing the issue. Could you provide a reproducible example of your issue in order to make sure this solution would work?

— Reply to this email directly, view it on GitHub [github.com]https://urldefense.com/v3/__https:/github.com/happytal/substitute-variables/issues/22*issuecomment-2270757873__;Iw!!A251HDo3!VTLuDSIFXPcA7i_Pr-o0eIwWIOEC12519rx_RVtrERaCLEyp276fuhWREg2FTkvDaWbDCPy9-ptgfVo2dL2yr6pKUzBo$, or unsubscribe [github.com]https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A4HIW3W3CWL23SR57DE5CELZQCGENAVCNFSM6AAAAABMA5U5QCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZQG42TOOBXGM__;!!A251HDo3!VTLuDSIFXPcA7i_Pr-o0eIwWIOEC12519rx_RVtrERaCLEyp276fuhWREg2FTkvDaWbDCPy9-ptgfVo2dL2yr1xGZ0e2$. You are receiving this because you authored the thread.Message ID: @.**@.>>

NOTICE: The information in this e-mail and any attachments is for the sole use by the addressee and may contain information that is privileged, confidential or exempt from disclosure. If you are not the addressee, any review, use, retention or distribution of this e-mail or its attachments is prohibited and may be a violation of law. If you have received this e-mail in error, please notify the sender immediately and permanently delete this e-mail and all attachments. Any opinions or comments are personal to the sender and may not represent those of Bell Bank. This e-mail and its attachments neither constitute an agreement to conduct transactions by electronic means nor create a legally binding contract or enforceable obligation in the absence of a fully signed written agreement.

TrentBie commented 2 months ago

Sample ymal file

apiVersion: dapr.io/v1alpha1 kind: Component metadata: name: OAuth2ArgoTeller spec: type: middleware.http.oauth2clientcredentials version: v1 metadata:

Sample release variable

Name: spec.metadata[?(@.name=='clientId')].value Value: test

fhervieux commented 2 months ago

Thanks for the info. It seems to be linked to the script part of the variable name ([?(@.name=='clientId')]). I found 2 issues with this type of variable:

As of why this would work with an OS and not another... this is a mystery. I have not found documentation about this limitation. I could reproduce it in the task's unit tests though so hopefully this will work for you too.

I published a new version of the task with the fix (1.3.0).

TrentBie commented 2 months ago

So doing the suggested option worked for me @.***%3D%3D'clientId')].value

More environment details

Version Azure DevOps Server 2022.1 (AzureDevOpsServer_20240130.2)

Agent Version 3.242.1

Trent Bielejeski Senior DevOps Engineer

Bell Bank 3100 13th Avenue South | Fargo, ND 58103 Phone 701.237.2839 | Mobile 218.304.1093 @.**@.> | www.bell.bankhttps://bell.bank/ | Member FDIC A Local and National Award-Winning Companyhttps://bell.bank/awards

Bell cares about safeguarding your information. Never email or text documents that contain personal or sensitive information. Please contact me to discuss possible options I can provide to securely upload documentation that may contain personal information.

From: François Hervieux @.> Sent: Wednesday, August 7, 2024 5:19 AM To: happytal/substitute-variables @.> Cc: Trent Bielejeski @.>; Author @.> Subject: Re: [happytal/substitute-variables] #[error]unacceptable kind of an object to dump [object Undefined] (Issue #22)

Thanks for the info. It seems to be linked to the script part of the variable name ([?(@ . name=='clientId')]). I found 2 issues with this type of variable: Azure DevOps is keeping the variable name but removing the value. That is why we have

Thanks for the info. It seems to be linked to the script part of the variable name @.***=='clientId')]). I found 2 issues with this type of variable:

As of why this would work with an OS and not another... this is a mystery. I have not found documentation about this limitation. I could reproduce it in the task's unit tests though so hopefully this will work for you too.

I published a new version of the task with the fix (1.3.0).

— Reply to this email directly, view it on GitHub [github.com]https://urldefense.com/v3/__https:/github.com/happytal/substitute-variables/issues/22*issuecomment-2273126836__;Iw!!A251HDo3!UZsLU1mu1PgQclL6gZs--zgQJtCKYTJ4X5nlh8r1NJKJF_tEdy7NvykgiUGRa-u7oZYNrB-HS_exT4SADjn0XHnjbbKt$, or unsubscribe [github.com]https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A4HIW3VL5HHACQG3U62GSSTZQHYAFAVCNFSM6AAAAABMA5U5QCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTGEZDMOBTGY__;!!A251HDo3!UZsLU1mu1PgQclL6gZs--zgQJtCKYTJ4X5nlh8r1NJKJF_tEdy7NvykgiUGRa-u7oZYNrB-HS_exT4SADjn0XFb5q428$. You are receiving this because you authored the thread.Message ID: @.**@.>>

NOTICE: The information in this e-mail and any attachments is for the sole use by the addressee and may contain information that is privileged, confidential or exempt from disclosure. If you are not the addressee, any review, use, retention or distribution of this e-mail or its attachments is prohibited and may be a violation of law. If you have received this e-mail in error, please notify the sender immediately and permanently delete this e-mail and all attachments. Any opinions or comments are personal to the sender and may not represent those of Bell Bank. This e-mail and its attachments neither constitute an agreement to conduct transactions by electronic means nor create a legally binding contract or enforceable obligation in the absence of a fully signed written agreement.

TrentBie commented 2 months ago

So what I did notice at the global level the environment version of the variable does have values

Trent Bielejeski Senior DevOps Engineer

Bell Bank 3100 13th Avenue South | Fargo, ND 58103 Phone 701.237.2839 | Mobile 218.304.1093 @.**@.> | www.bell.bankhttps://bell.bank/ | Member FDIC A Local and National Award-Winning Companyhttps://bell.bank/awards

Bell cares about safeguarding your information. Never email or text documents that contain personal or sensitive information. Please contact me to discuss possible options I can provide to securely upload documentation that may contain personal information.

From: François Hervieux @.> Sent: Wednesday, August 7, 2024 5:19 AM To: happytal/substitute-variables @.> Cc: Trent Bielejeski @.>; Author @.> Subject: Re: [happytal/substitute-variables] #[error]unacceptable kind of an object to dump [object Undefined] (Issue #22)

Thanks for the info. It seems to be linked to the script part of the variable name ([?(@ . name=='clientId')]). I found 2 issues with this type of variable: Azure DevOps is keeping the variable name but removing the value. That is why we have

Thanks for the info. It seems to be linked to the script part of the variable name @.***=='clientId')]). I found 2 issues with this type of variable:

As of why this would work with an OS and not another... this is a mystery. I have not found documentation about this limitation. I could reproduce it in the task's unit tests though so hopefully this will work for you too.

I published a new version of the task with the fix (1.3.0).

— Reply to this email directly, view it on GitHub [github.com]https://urldefense.com/v3/__https:/github.com/happytal/substitute-variables/issues/22*issuecomment-2273126836__;Iw!!A251HDo3!UZsLU1mu1PgQclL6gZs--zgQJtCKYTJ4X5nlh8r1NJKJF_tEdy7NvykgiUGRa-u7oZYNrB-HS_exT4SADjn0XHnjbbKt$, or unsubscribe [github.com]https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A4HIW3VL5HHACQG3U62GSSTZQHYAFAVCNFSM6AAAAABMA5U5QCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTGEZDMOBTGY__;!!A251HDo3!UZsLU1mu1PgQclL6gZs--zgQJtCKYTJ4X5nlh8r1NJKJF_tEdy7NvykgiUGRa-u7oZYNrB-HS_exT4SADjn0XFb5q428$. You are receiving this because you authored the thread.Message ID: @.**@.>>

NOTICE: The information in this e-mail and any attachments is for the sole use by the addressee and may contain information that is privileged, confidential or exempt from disclosure. If you are not the addressee, any review, use, retention or distribution of this e-mail or its attachments is prohibited and may be a violation of law. If you have received this e-mail in error, please notify the sender immediately and permanently delete this e-mail and all attachments. Any opinions or comments are personal to the sender and may not represent those of Bell Bank. This e-mail and its attachments neither constitute an agreement to conduct transactions by electronic means nor create a legally binding contract or enforceable obligation in the absence of a fully signed written agreement.

fhervieux commented 2 months ago

Can you confirm that the issue is resolved on all your OSs?

TrentBie commented 2 months ago

So I have not been able to test it yet . but I did send a ticket to Microsoft about the values being null.

Trent Bielejeski Senior DevOps Engineer

Bell Bank 3100 13th Avenue South | Fargo, ND 58103 Phone 701.237.2839 | Mobile 218.304.1093 @.**@.> | www.bell.bankhttps://bell.bank/ | Member FDIC A Local and National Award-Winning Companyhttps://bell.bank/awards

Bell cares about safeguarding your information. Never email or text documents that contain personal or sensitive information. Please contact me to discuss possible options I can provide to securely upload documentation that may contain personal information.

From: François Hervieux @.> Sent: Wednesday, August 7, 2024 12:07 PM To: happytal/substitute-variables @.> Cc: Trent Bielejeski @.>; Author @.> Subject: Re: [happytal/substitute-variables] #[error]unacceptable kind of an object to dump [object Undefined] (Issue #22)

Can you confirm that the issue is resolved on all your OSs? — Reply to this email directly, view it on GitHub [github. com], or unsubscribe [github. com]. You are receiving this because you authored the thread. Message ID: happytal/substitute-variables/issues/22/2273930137@ github. com

Can you confirm that the issue is resolved on all your OSs?

— Reply to this email directly, view it on GitHub [github.com]https://urldefense.com/v3/__https:/github.com/happytal/substitute-variables/issues/22*issuecomment-2273930137__;Iw!!A251HDo3!RyRTsj-Bnq3ry12M5Vw3e5ni2M83Tdgm1Iv2BNk9Q8el005icvboKAQYQL4m4sMiBKN0tJmrsiomVPvTzX-7SkKDQRE8$, or unsubscribe [github.com]https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/A4HIW3XPTDXL3UXCKXGGDLDZQJH4PAVCNFSM6AAAAABMA5U5QCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTHEZTAMJTG4__;!!A251HDo3!RyRTsj-Bnq3ry12M5Vw3e5ni2M83Tdgm1Iv2BNk9Q8el005icvboKAQYQL4m4sMiBKN0tJmrsiomVPvTzX-7Stxm5JOr$. You are receiving this because you authored the thread.Message ID: @.**@.>>

NOTICE: The information in this e-mail and any attachments is for the sole use by the addressee and may contain information that is privileged, confidential or exempt from disclosure. If you are not the addressee, any review, use, retention or distribution of this e-mail or its attachments is prohibited and may be a violation of law. If you have received this e-mail in error, please notify the sender immediately and permanently delete this e-mail and all attachments. Any opinions or comments are personal to the sender and may not represent those of Bell Bank. This e-mail and its attachments neither constitute an agreement to conduct transactions by electronic means nor create a legally binding contract or enforceable obligation in the absence of a fully signed written agreement.