es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo acceder al valor de un objeto utilizando una clave dinámica en Yaml

Tengo una configuración yaml como sigue:

parameters:
  group: '$(group)'
  acl:
    certificateFile: AclCertificates.p12 
    provisioningProfileFile: AmericashDisProfile.mobileprovision
    keystore: 'acl.jks'
  sail:
    certificateFile: AclCertificates.p12 
    provisioningProfileFile: AmericashDisProfile.mobileprovision
    keystore: 'acl.jks'
steps:
- bash: |
    echo ${{ parameters[$(group)]['certificateFile'] }}

Quiero acceder al valor del objeto utilizando la clave dinámica. Aquí, group: '$(group)' es un valor dinámico que proviene de otro archivo de variables.
He intentado acceder al valor del objeto de la siguiente manera: ${{ parameters[$(group)]['certificateFile'] }}, pero no funciona. No puedo entender cómo pasar el parámetro group en el echo ${{ parameters[$(group)]['certificateFile'] }} para obtener el valor específico del objeto.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para acceder al valor del objeto utilizando una clave dinámica, debes usar la siguiente sintaxis:

    ${{ parameters[$(parameters.group)].certificateFile }}

    Aquí, $(parameters.group) se utiliza como la clave dinámica para obtener el valor específico del objeto. En este ejemplo, se obtendrá el valor de certificateFile correspondiente al objeto que coincide con la clave dinámica.

    Entonces, el código modificado se verá así:

    parameters:
      group: '$(group)'
      acl:
        certificateFile: AclCertificates.p12 
        provisioningProfileFile: AmericashDisProfile.mobileprovision
        keystore: 'acl.jks'
      sail:
        certificateFile: AclCertificates.p12 
        provisioningProfileFile: AmericashDisProfile.mobileprovision
        keystore: 'acl.jks'
    steps:
    - bash: |
        echo ${{ parameters[$(parameters.group)].certificateFile }}
    

    Nota: Asegúrate de que el valor de la clave dinámica ($(parameters.group)) coincida con la clave de la sección parameters.

Comments are closed.