代码之家  ›  专栏  ›  技术社区  ›  Med

使用Rundeck webhook插件从帖子请求中获取数据

  •  0
  • Med  · 技术社区  · 4 年前

    我正在尝试使用rundeck webhook插件获取数据,为此我使用了curl命令:

    curl -X POST -d '{"name":"John", "age":30, "car":null}' https://rundeck_server/api/12/webhook/QSxTDYd08dcYxKh1R5YJNOPQvmSJH2Z8#Netbox_Job
    

    在rundeck webhook插件选项中,我添加了这两个变量,“whkpayload”用于获取所有json数据,“name”用于仅获取名称(在本例中必须返回John):

    -whkpayload ${raw} -name ${data.name}
    

    最后,我用这些台词给他们看:

    echo @option.whkpayload@
    echo @option.name@
    

    我得到了一个空的结果,我不明白为什么。有人可以帮我吗?

    1 回复  |  直到 4 年前
        1
  •  0
  •   MegaDrive68k    4 年前

    下列的 this ,您需要使用名为的选项 whkpayload 在您的工作中,并将其设置为 ${raw} 在webhook配置中。

    我举了一个例子:

    1. YAML格式的作业定义(带有 whkpayload 选项
    - defaultTab: nodes
      description: ''
      executionEnabled: true
      id: 0fcfca07-02f6-4583-a3eb-0002276bdf2d
      loglevel: INFO
      name: HelloWorld
      nodeFilterEditable: false
      options:
      - name: age
      - name: car
      - name: name
      - name: whkpayload
      plugins:
        ExecutionLifecycle: null
      scheduleEnabled: true
      sequence:
        commands:
        - description: command step
          exec: echo "name ${option.name} - age ${option.age} - car ${option.car} - payload
            ${option.whkpayload}"
        - description: inline-script step
          fileExtension: .sh
          interpreterArgsQuoted: false
          script: echo "name @option.name@ - age @option.age@ - car @option.car@ - payload
            @option.whkpayload@"
          scriptInterpreter: /bin/bash
        keepgoing: false
        strategy: node-first
      uuid: 0fcfca07-02f6-4583-a3eb-0002276bdf2d
    
    1. webhook configuration .

    2. 从cURL调用的webhook:

    curl -H "Content-Type: application/json" -X POST -d '{"field1":"John", "field2":30, "field3":"chevy"}' http://localhost:4440/api/40/webhook/0vBZjWWrnXWvqENEdxkn0JRvjn5R63J0#MyWebhook
    
    1. 这个 result .