2016-04-04 9 views
2

Могу ли я создавать проекты с использованием API REST HP Fortify SSC? Это прекрасно работает, чтобы захватить список проектов:Создать проект с использованием Fortify Software Security Center REST API

import requests 
import getpass 
import json 

url = "https://www.example.com/ssc/api/v1/" 
endpoint = "auth/obtain_token" 
headers = {"Content-Type": "application/json", 
      "Accept": "application/json"} 
username = getpass.getuser() 
password = getpass.getpass() 
auth = (username, password) 

r = requests.post("{url}{endpoint}".format(url=url, endpoint=endpoint), headers=headers, auth=auth) 

data = r.json().get("data") 
token = data.get("token") 
endpoint = "projects" 
headers["Authentication"] = "FortifyToken {token}".format(token=token) 

r = requests.get("{url}{endpoint}".format(url=url, endpoint=endpoint), headers=headers) 

print json.dumps(r.json(), sort_keys=True, indent=4, separators=(',', ': ')) 

... Но я не вижу каких-либо примеров в документации API для фактически создания проекта. Я специально заинтересован в этом, используя библиотеку запросов Python. Я делаю NOT хочу что-то сделать на Java (вот что все образцы, которые поставляются с пакетом WAR Fortify SSC).

Если у кого-либо есть опыт работы с API REST SSC (или может указывать на лучшую документацию), я был бы признателен за любую помощь, которую вы можете дать.

+0

просто хотел узнать, смогли ли вы добиться какого-либо прогресса или нет? Я также пытаюсь написать клиент python. Было бы очень полезно, если бы вы предоставили некоторый вклад. – Rakesh

+0

это замечательно. Я действительно жду ответа. Просто пингуйте меня, как только вы закончите. Благодарю. – Rakesh

+0

Благодарим вас за отправку. – Rakesh

ответ

2

Наконец-то я получил некоторую хорошую информацию из технической поддержки HPE и смог собрать сценарий для создания проектов с использованием SSC REST API в Python. Самая новая версия SSC (17.10) делает это намного проще с помощью Swaggerized REST API.

+0

Вы также писали api для загрузки исходного кода? если бы вы это сделали, вы можете поделиться им? – Rakesh

+0

Чувствую, что с 16.10 по-разному расстилается апри. – AspiringTFSGuru

2

Я написал открытый source python library, который может быть полезен здесь. Это прост в использовании, а также предоставляет инструмент командной строки для загрузки исходного кода для статического сканирования кода.

+0

Файл hpfortify/base.py имеет эту строку, BASE_URL_US = "https://api.hpfod.com", поэтому я думаю, что он не будет подключаться к локальному серверу SSC. –

0

Спасибо авторам SonarQube Fortify plugin (не уточняйте документацию SSC, а не его автогенерированную ssc/html/docs/api-reference), я подумал, что мне нужно, чтобы base64-кодировал токен.

if len(auth) == 1: 
    headers.update((("Authorization", "FortifyToken " + base64.b64encode(auth[0])),)) 
elif len(auth) == 2: 
    headers.update((("Authorization", "Basic " + base64.b64encode("{}:{}".format(*auth))),)) 

auth/token вызова помогает избежать повторной пары имя пользователя/пароль. Скрипт fortifyclient из каталога Fortify SCA bin может выполнить вызов заранее.

 Смежные вопросы

  • Нет связанных вопросов^_^