Как создать политику в Jfrog X-Ray с помощью API Calls - PullRequest
0 голосов
/ 28 августа 2018

Мы пытаемся создать политику в X-Ray, используя API с помощью команды curl. Это URL для справки
https://www.jfrog.com/confluence/display/XRAY/Xray+REST+API#XrayRESTAPI-CreatePolicy

мы пытались использовать команду ниже, но не повезло.

curl -v -u userid:password -X POST "http://jfrogxray-scanner.com/api/v1/policies" -d '{"priority":"1", "name":"sample"}' -d criteria='{"type":"minimum_security","value":"major"}'

мы не уверены, нужно ли нам добавлять больше данных для создания политики с помощью вызова API. если нам нужно предоставить больше данных в команде curl, чтобы получить результат ниже, как мы можем это сделать.

    {
        "name": "some security policy",
        "description": "some security policy description",
        "type": "security",
        "rules": [
            {
                "priority": 1,
                "name": "Major and above",
                "criteria": [{type: "minimum_severity", value: "Major"}],
                "actions": [
                    {type: "email", value: ["elady@jfrog.com","chenk@jfrog.com"]},
                    {type: "webhook", value: ["some_webhook", "some_webhook2"]},
                    {type: "fail_build", value: "true"},
                    {type: "block_download", value: "true, block_unscanned"}
                ]
            },
            {
                "priority": 2,
                "name": "All vulnerabilities",
                "criteria": ["minimum_severity":"All"],
                "actions": [
                    {type: "webhook", value: ["some_webhook", "some_webhook2"]}
                ]
            }
        ],
        "assigned_watches": ["some_watch", "some_other_watch"]
    }

Большое спасибо за ваши идеи!

1 Ответ

0 голосов
/ 31 августа 2018
documentation has been updated:

here are some examples :

-- Example 1
{
  "name": "securityPolicy",
  "type": "security",
  "description": "some description",
  "author": "new-user",
  "rules": [
    {
      "name": "securityRule",
      "priority": 1,
      "criteria": {
        "min_severity": "Critical"
      },
      "actions": {
        "mails": [
          "mail1@gmail.com",
          "mail2@gmail.com"
        ],
        "fail_build": true,
        "block_download": {
          "unscanned": true,
          "active": true
        }
      }
    }
  ],
   "assigned_watches": ["some_watch", "some_other_watch"]
}

-- Example 2

{
  "name": "licensesPolicy",
  "type": "license",
  "description": "some description",
  "author": "new-user",
  "rules": [
    {
      "name": "LicenseRule",
      "priority": 1,
      "criteria": {
        "allowed_licenses": [
          "0BSD",
          "AAL"
        ],
        "allow_unknown": true
      }
    }
  ]
}
...