Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-69423

Webhook push data too long, caused pipeline git pull errror. it tips that Argument list too long.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Blocker Blocker
    • git-plugin
    • IMAGE:jenkins/jenkins:2.336,Git:4.11.5,Generic Webhook Trigger Plugin:1.84,CentOS Linux release 7.4.1708 (Core)

      Complete environment version information:

      full-env-version-info.txt

       

      Problem description:

      Webhook push data too long, caused pipeline git pull errror. it tips that Argument list too long.

      At present, on the gitlab hook, the length of the message text pushed is 1,301,714. The hook can normally trigger the operation of the pipeline. However, when the user-defined shared library code is pulled in the first step, the pull fails. The exception message is caused by: java.io IOException: error=7, Argument list too long.

      I infer that the message data pushed by webhook was passed into the GIT command as a parameter, resulting in the execution of the GIT command exceeding the page limit of the Linux command line parameter (MAX_ARG_PAGES).

      If I use a small gitlab text hook data, such as 1000 in length, GIT pull will pull the shared library code successfully.

      The pipeline log (consoleText.txt) that I have uploaded to the attachment.

       

      Problem Recurrence Procedure:

      The first step. Create a new pipeline (not multi-branched) and use Git to pull up the Jenkinfile file.

      And the Jenkinsfile file uses this service-biz-ebank.jenkinsfile . This uses the Jenkins shared Library @library (['jenkinslib-tools@master']) _

      The second step. Use Postman for debugging. The POST interface of the hook with large text has been exported. And modify the appropriate token for push debugging.

      And the postman file uses this Jenkins webhook git Argument list too long.postman_collection.json . Import the file to Postman and use it

      The third step. 使用postman工具推送后,就会出现以下日志的错误:java.io IOException: error=7, Argument list too long.

      If you replace the text data in the Body with this smaller data packet: smaller text data.json, The pipeline pulls the Jenkins shared Library @library (['jenkinslib-tools@master']) _ successfully. And the pipeline is also running normally, no abnormalities reported

       

      Pipeline complete log:

      consoleText.txt

      Key Log screenshots:

      Webhook data size:

      16615721599321.png

       

        1. 16615721599321.png
          15 kB
          Johnny Shaw
        2. 166xxxxxxxxx.png
          26 kB
          Johnny Shaw
        3. consoleText.txt
          24 kB
          Johnny Shaw
        4. full-env-version-info.txt
          4 kB
          Johnny Shaw
        5. image-2022-08-27-12-05-59-799.png
          57 kB
          Johnny Shaw
        6. image-2022-08-27-12-06-50-834.png
          50 kB
          Johnny Shaw
        7. image-2022-08-27-12-12-14-962.png
          42 kB
          Johnny Shaw
        8. image-2022-08-27-12-18-59-473.png
          118 kB
          Johnny Shaw
        9. image-2022-08-27-12-19-05-146.png
          121 kB
          Johnny Shaw
        10. image-2022-08-27-12-23-44-710.png
          43 kB
          Johnny Shaw
        11. image-2022-08-27-12-31-30-156.png
          67 kB
          Johnny Shaw
        12. Jenkins webhook git Argument list too long.postman_collection.json
          208 kB
          Johnny Shaw
        13. service-biz-ebank.jenkinsfile
          0.9 kB
          Johnny Shaw
        14. smaller text data.json
          10 kB
          Johnny Shaw

            Unassigned Unassigned
            13060851331 Johnny Shaw
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: