【问题标题】:How to get Execution details through API Calls in Rundeck如何通过 Rundeck 中的 API 调用获取执行详细信息
【发布时间】:2020-12-18 21:11:49
【问题描述】:

我正在尝试创建一个仪表板,为此我使用 Rundeck 中的 API 获取所有详细信息

然后想将数据写入Csv文件,

这是一个尝试每周获取数据的示例,但它不起作用 [错误消息:{"error":true,"apiversion":35,"errorCode":"api.error.invalid.request","message":"Invalid API Request: /api/35/executions/1w"}],请让我知道我在每周、每月和每天获取详细信息时做错了什么

格式

#!/bin/sh
protocol="http" 
rdeck_host="machinexyz.local" 
rdeck_port="4440" 
rdeck_api="35" 
rdeck_token="token" 
rdeck_project="projectRun" 
xy="1w" 

curl -s --location --request GET "$protocol://$rdeck_host:$rdeck_port/api/$rdeck_api/project/$rdeck_project/$xy" \ 
--header "Accept: application/json" \ 
--header "X-Rundeck-Auth-Token: $rdeck_token

谢谢

【问题讨论】:

    标签: api rundeck


    【解决方案1】:

    documentation 之后,您可以在API 调用中使用recentFilter 参数,我做了一个示例(最后我添加了jq 命令来“美化”默认输出):

    #!/bin/sh
    
    # protocol
    protocol="http"
    
    # basic rundeck info
    rdeck_host="localhost"
    rdeck_port="4440"
    rdeck_api="36"
    rdeck_token="ni28E9M5s5H0s3kyCKQ0tbfPCI8jNZS1"
    
    # specific api call info
    rdeck_project="ProjectEXAMPLE"
    time="1h"
    
    # api call
    curl -s --location --request GET "$protocol://$rdeck_host:$rdeck_port/api/$rdeck_api/project/$rdeck_project/executions?recentFilter=$time" \
      --header "Accept: application/json" \
      --header "X-Rundeck-Auth-Token: $rdeck_token" \
      --header "Content-Type: application/json" | jq
    

    输出:

    {
      "paging": {
        "count": 2,
        "total": 2,
        "offset": 0,
        "max": 20
      },
      "executions": [
        {
          "id": 2,
          "href": "http://localhost:4440/api/36/execution/2",
          "permalink": "http://localhost:4440/project/ProjectEXAMPLE/execution/show/2",
          "status": "succeeded",
          "project": "ProjectEXAMPLE",
          "executionType": "scheduled",
          "user": "admin",
          "date-started": {
            "unixtime": 1608296400032,
            "date": "2020-12-18T13:00:00Z"
          },
          "date-ended": {
            "unixtime": 1608296400374,
            "date": "2020-12-18T13:00:00Z"
          },
          "job": {
            "id": "f2a837d2-1a9c-4387-89d7-0243bbfe6ba9",
            "averageDuration": 590,
            "name": "HelloWorld",
            "group": "",
            "project": "ProjectEXAMPLE",
            "description": "",
            "href": "http://localhost:4440/api/36/job/f2a837d2-1a9c-4387-89d7-0243bbfe6ba9",
            "permalink": "http://localhost:4440/project/ProjectEXAMPLE/job/show/f2a837d2-1a9c-4387-89d7-0243bbfe6ba9"
          },
          "description": "echo \"hi\"",
          "argstring": null,
          "serverUUID": "94ac86b1-56e9-4bc3-9a4c-50cd7c8a5b59",
          "successfulNodes": [
            "localhost"
          ]
        },
        {
          "id": 1,
          "href": "http://localhost:4440/api/36/execution/1",
          "permalink": "http://localhost:4440/project/ProjectEXAMPLE/execution/show/1",
          "status": "succeeded",
          "project": "ProjectEXAMPLE",
          "executionType": "scheduled",
          "user": "admin",
          "date-started": {
            "unixtime": 1608295800075,
            "date": "2020-12-18T12:50:00Z"
          },
          "date-ended": {
            "unixtime": 1608295800914,
            "date": "2020-12-18T12:50:00Z"
          },
          "job": {
            "id": "f2a837d2-1a9c-4387-89d7-0243bbfe6ba9",
            "averageDuration": 590,
            "name": "HelloWorld",
            "group": "",
            "project": "ProjectEXAMPLE",
            "description": "",
            "href": "http://localhost:4440/api/36/job/f2a837d2-1a9c-4387-89d7-0243bbfe6ba9",
            "permalink": "http://localhost:4440/project/ProjectEXAMPLE/job/show/f2a837d2-1a9c-4387-89d7-0243bbfe6ba9"
          },
          "description": "echo \"hi\"",
          "argstring": null,
          "serverUUID": "94ac86b1-56e9-4bc3-9a4c-50cd7c8a5b59",
          "successfulNodes": [
            "localhost"
          ]
        }
      ]
    }
    

    【讨论】:

    • 非常感谢@MegaDrive68K,这很有帮助。
    猜你喜欢
    • 2018-10-25
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多