#61 C3I-99: add missing quotes and null pointer checks
Merged 4 years ago by mkovarik. Opened 4 years ago by mkovarik.
mkovarik/c3i-library c3i-99  into  master

@@ -45,14 +45,14 @@ 

            } else if (!params.IMAGE) {

              // Triggred by CI_MESSAGE but it's empty - CID-5291

              if (!currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause')) {

-               def datagrepperdata = sh(returnStdout: true, script: "curl -k {{ c3i_datagrepper_url }}/raw?delta=300&topic=/topic/{{ c3i_messaging_greenwave_topic_virtualtopic_part }}&contains=${params.DECISION_CONTEXT_REGEX}")

+               def datagrepperdata = sh(returnStdout: true, script: "curl -k '{{ c3i_datagrepper_url }}/raw?delta=300&topic=/topic/{{ c3i_messaging_greenwave_topic_virtualtopic_part }}&contains=${params.DECISION_CONTEXT_REGEX}'")

                def messages = readJSON text: datagrepperdata

                messages.raw_messages.any {

                  def msg = it.msg

-                 if ( msg?.decision_context.find(/${env.DECISION_CONTEXT_REGEX}/) &&

+                 if ( msg?.decision_context?.find(/${env.DECISION_CONTEXT_REGEX}/) &&

                       msg?.subject_type == 'container-image' &&

                       msg?.policies_satisfied == true &&

-                      msg?.subject_identifier.find(/${env.SUBJECT_IDENTIFIER_REGEX}/)

+                      msg?.subject_identifier?.find(/${env.SUBJECT_IDENTIFIER_REGEX}/)

                     ){

                    def digest = (msg.subject_identifier =~ /@(sha256:\w+)$/)[0][1]

                    env.IMAGE = "${params.SOURCE_CONTAINER_REPO}@${digest}"

@@ -34,7 +34,7 @@ 

            } else {

              // Triggred by CI_MESSAGE but it's empty - CID-5291

              if (!currentBuild.getBuildCauses('hudson.model.Cause$UserIdCause')) {

-               def datagrepperdata = sh(returnStdout: true, script: "curl -k {{ c3i_datagrepper_url }}/raw?delta=300&category=repotracker&contains=${params.TRACKED_CONTAINER_REPO}")

+               def datagrepperdata = sh(returnStdout: true, script: "curl -k '{{ c3i_datagrepper_url }}/raw?delta=300&category=repotracker&contains=${params.TRACKED_CONTAINER_REPO}'")

                def messages = readJSON text: datagrepperdata

                messages.raw_messages.any {

                  def msg = it.msg

Missing quotes in curl causes wrong request which returned messages without expected attributes.

rebased onto 4d820a3

4 years ago

Pull-Request has been merged by mkovarik

4 years ago