Chargement de données personnalisées vers l'API#

Chargez des données d'indicateur à l'aide d'un client externe pour accéder aux nœuds finaux de l'API.

Chargement de données vers l'API#

IBM™ UrbanCode Velocity propose plusieurs plug-ins que vous pouvez utiliser pour intégrer des données dans vos versions et chaînes de valeur. Si un plug-in n'est pas disponible pour votre environnement, ou si vous préférez gérer votre propre intégration de données, vous pouvez utiliser un client externe pour charger des données vers les nœuds finaux d'API REST ou GraphQL™. Un tutoriel expliquant la procédure de chargement d'indicateurs personnalisés est à disposition.

Les exemples suivants utilisent l'outil de ligne de commande curl pour les cas d'utilisation POST habituels. Vous autorisez des requêtes à l'aide de clés d'accès utilisateur que vous créez dans IBM UrbanCode Velocity.

Remarque : Jusqu'à ce que de nouveaux utilisateurs soient affectés à des équipes, ils sont automatiquement affectés à l'équipe Par défaut dans les rôles Spectateur et Participant. Les utilisateurs qui assument ces rôles peuvent afficher des objets, comme des versions et des chaînes de valeur, mais ils ne peuvent pas les créer ni les éditer. En outre, les utilisateurs qui assument ces rôles peuvent générer des jetons d'accès utilisateur et accéder à des nœuds finaux d'API avec des requêtes GET. Les administrateurs accordent des droits supérieurs aux utilisateurs lorsqu'ils leur affectent des rôles tels que Développeur principal ou Gestionnaire d'édition.

GraphQL est disponible sur https://my_velocity:port/release-events-api/graphiql.

Exemple d'indicateurs normalisés#

L'exemple suivant propose une requête curl POST qui envoie des données d'indicateur au nœud final https://my_velocity:port/api/v1/metrics.

Vous pouvez définir des définitions d'indicateur personnalisées et charger des données d'indicateur à l'aide d'un client externe, tel que curl.

curl -k -request POST \
-url https://my_velocity:port/api/v1/metrics \
-H "content-type: application/json" \
-H "Authorization: UserAccessKey my_access_key" \
--data '{
"tenantId": "my_tenant_ID",
"dataSet": "Homegrown",
"record": {
"metricDefinitionId": "Unit Tests",
"recordName": "UT on ABC",
"pluginType": "plugin",
"executionDate": "2019-05-01T21:09:00.000Z",
"dataFormat": "custom",
"value":
{ "passed": 38, "failed": 1 }

},
"application":
{ "name": "my-app" }

}'

Exemple de chargement de fichier d'indicateurs#

L'exemple suivant propose une requête curl POST qui charge un fichier au niveau du nœud final https://my_velocity:port/api/v1/upload :

curl --request POST \
--url https://my_velocity:port/api/v1/metrics/upload \
-H "Authorization: UserAccessKey my_access_key" \
-F file=@junit.xml \
-F 'payload={
"tenantId": "my_tenant_ID",
"dataSet": "Feb",
"application":
{ "name": "my App22" }

,
"environment": "Prod",
"record":
{ "metricDefinitionId": "Functional Tests", "pluginType": "junitXML", "dataFormat": "junitXML" }

}
' \
-k

Exemple de données de déploiement#

L'exemple suivant propose une requête curl POST qui envoie des données de déploiement Jenkins au nœud final https://my_velocity:port/api/v1/deployments :

curl --request POST \
-H "Authorization: UserAccessKey my_access_key" \
-H 'content-type: application/json' \
-k --url https://my_velocity:port/api/v1/deployments \
--data '{
"id_external": 8888,
"tenant_id": "my_tenant_ID",
"version_name": "1.2.3",
"version_id_external": "V1.2.3",
"result": "Succeeded",
"description" : "Application API Release Failed",
"by_user": "username",
"application":
{ "name": "cool-Jenkins-App" }

,
"start_time": "2019-02-02 00:10:58.856+00:00",
"end_time": "2019-02-02 00:12:58.856+00:00",
"type": "Jenkins",
"environment_id": "my_environmant_ID",
"environment_name": "QA"
}'

Exemple de données de génération#

L'exemple suivant propose une requête curl POST qui envoie des données de génération au nœud final https://my_velocity:port/api/v1/builds.

curl -k --request POST \
--url https://my_velocity/api/v1/builds \
-H "content-type: application/json" \
-H "Authorization: UserAccessKey my_access_key" \
--data '{
"id": "131",
"source": "Jenkins",
"tenantId": "my_tenant_ID",
"name": "HCL Build",
"status": "failure",
"application":
{ "name": "Velocity SE" }

,
"url": "https:/12.34.20.45/job/VSE/master/5",
"number": 5,
"labels": ["Everything"],
"startTime": "2019-03-14 20:10:58.856+00:00",
"endTime": "2019-03-14 20:10:58.856+00:00",
"requestor": "admin"
}'

Sujet parent : Extension des fonctions du produit