@@ -3499,6 +3499,273 @@ paths:
3499
3499
examples:
3500
3500
InternalServerError:
3501
3501
$ref: "#/components/examples/InternalServerError"
3502
+ "/api/v1/packages/{packageId}/publish/withOperationsGroup":
3503
+ parameters:
3504
+ - $ref: '#/components/parameters/packageId'
3505
+ post:
3506
+ tags:
3507
+ - Publish
3508
+ summary: Start dashboard version publication from CSV file
3509
+ description: |
3510
+ Start dashboard version publication from CSV file (value of 'packageId'
3511
+ path parameter must be an Id of dashboard).\
3512
+
3513
+ In this process the system reads information from the input CSV file
3514
+ which contains list of services and their versions. Based on this info,
3515
+ the system searches for package release versions (in Netcracker workspace) and publish dashboard
3516
+ version with references to the found package versions.\
3517
+
3518
+ Additionlly, if input CSV file contains info about REST API operations
3519
+ (method, path) of listed services, the system searches for operations
3520
+ from the included pacakge versions and automatically creates operations
3521
+ group (manual group with rest api type) in published dashboard version
3522
+ with all found operations.
3523
+ operationId: DashboardPublishWithOperationsGroup
3524
+ security:
3525
+ - BearerAuth: []
3526
+ - api-key: []
3527
+ requestBody:
3528
+ content:
3529
+ multipart/form-data:
3530
+ schema:
3531
+ type: object
3532
+ required:
3533
+ - csvFile
3534
+ - version
3535
+ - status
3536
+ - servicesWorkspaceId
3537
+ properties:
3538
+ csvFile:
3539
+ description: |
3540
+ CSV file with information about
3541
+ services and their operations:
3542
+ * serviceName
3543
+ * serviceVersion
3544
+ * method
3545
+ * path
3546
+ type: string
3547
+ format: binary
3548
+ servicesWorkspaceId:
3549
+ type: string
3550
+ description: Id of the workspace in which the system will search for packages for the services specified in the CSV file.
3551
+ version:
3552
+ description: Version name for publication in the dashboard.
3553
+ type: string
3554
+ example: '2022.3'
3555
+ previousVersion:
3556
+ description: Name of the previous published version in the dashboard.
3557
+ type: string
3558
+ example: '2022.2'
3559
+ previousVersionPackageId:
3560
+ description: >-
3561
+ packageId of the previous version. The parameter may be
3562
+ empty if the value is equal to the packageId.
3563
+ type: string
3564
+ example: NC.CloudBSS.CPQ.Q-TMF
3565
+ status:
3566
+ $ref: '#/components/schemas/VersionStatusEnum'
3567
+ versionLabels:
3568
+ description: List of version labels in dashboard version.
3569
+ type: array
3570
+ items:
3571
+ type: string
3572
+ example:
3573
+ - part-of:CloudBSS-CPQBE
3574
+ responses:
3575
+ '202':
3576
+ description: Publish process started
3577
+ content:
3578
+ application/json:
3579
+ schema:
3580
+ type: object
3581
+ properties:
3582
+ publishId:
3583
+ type: string
3584
+ description: Publish process Id
3585
+ format: uuid
3586
+ example: 9c8e9045-dd9c-4946-b9e4-e05e3f41c4cc
3587
+ '400':
3588
+ description: Bad request
3589
+ content:
3590
+ application/json:
3591
+ schema:
3592
+ $ref: '#/components/schemas/ErrorResponse'
3593
+ examples:
3594
+ IncorrectInputParams:
3595
+ $ref: '#/components/examples/IncorrectInputParameters'
3596
+ '401':
3597
+ description: Unauthorized
3598
+ content:
3599
+ application/json:
3600
+ schema:
3601
+ $ref: '#/components/schemas/ErrorResponse'
3602
+ examples: {}
3603
+ '403':
3604
+ description: Forbidden
3605
+ content:
3606
+ application/json:
3607
+ schema:
3608
+ $ref: '#/components/schemas/ErrorResponse'
3609
+ examples: {}
3610
+ '404':
3611
+ description: Not found
3612
+ content:
3613
+ application/json:
3614
+ schema:
3615
+ $ref: '#/components/schemas/ErrorResponse'
3616
+ examples:
3617
+ PackageNotFound:
3618
+ $ref: '#/components/examples/PackageNotFound'
3619
+ '500':
3620
+ description: Internal Server Error
3621
+ content:
3622
+ application/json:
3623
+ schema:
3624
+ $ref: '#/components/schemas/ErrorResponse'
3625
+ examples:
3626
+ InternalServerError:
3627
+ $ref: '#/components/examples/InternalServerError'
3628
+ "/api/v1/packages/{packageId}/publish/{publishId}/withOperationsGroup/status":
3629
+ parameters:
3630
+ - $ref: '#/components/parameters/packageId'
3631
+ - name: publishId
3632
+ description: Publish Id
3633
+ in: path
3634
+ required: true
3635
+ schema:
3636
+ type: string
3637
+ format: uuid
3638
+ example: 9c8e9045-dd9c-4946-b9e4-e05e3f41c4cc
3639
+ get:
3640
+ tags:
3641
+ - Publish
3642
+ summary: Get dashboard version publication from CSV file status
3643
+ description: |
3644
+ Get dashboard version publication from CSV file status.
3645
+ operationId: getDashboardPublishWithOperationsGroupStatus
3646
+ security:
3647
+ - BearerAuth: []
3648
+ - api-key: []
3649
+ responses:
3650
+ '200':
3651
+ description: Success
3652
+ content:
3653
+ application/json:
3654
+ schema:
3655
+ type: object
3656
+ properties:
3657
+ status:
3658
+ description: Publish process status.
3659
+ type: string
3660
+ enum:
3661
+ - running
3662
+ - error
3663
+ - complete
3664
+ - none
3665
+ message:
3666
+ description: |
3667
+ * The message for **error** status.
3668
+ * The message for **complete** status with the following
3669
+ information (if applicalbe):
3670
+ * N services were not included into dashboard version.
3671
+ * N operations were not included into \<operation group name\> operation group.
3672
+ If all services and operations were included into dashboard and group, then message shall be empty.
3673
+ type: string
3674
+ '401':
3675
+ description: Unauthorized
3676
+ content:
3677
+ application/json:
3678
+ schema:
3679
+ $ref: '#/components/schemas/ErrorResponse'
3680
+ examples: {}
3681
+ '403':
3682
+ description: Forbidden
3683
+ content:
3684
+ application/json:
3685
+ schema:
3686
+ $ref: '#/components/schemas/ErrorResponse'
3687
+ examples: {}
3688
+ '404':
3689
+ description: Not found
3690
+ content:
3691
+ application/json:
3692
+ schema:
3693
+ $ref: '#/components/schemas/ErrorResponse'
3694
+ examples:
3695
+ PackageNotFound:
3696
+ $ref: '#/components/examples/PackageNotFound'
3697
+ '500':
3698
+ description: Internal Server Error
3699
+ content:
3700
+ application/json:
3701
+ schema:
3702
+ $ref: '#/components/schemas/ErrorResponse'
3703
+ examples:
3704
+ InternalServerError:
3705
+ $ref: '#/components/examples/InternalServerError'
3706
+ "/api/v1/packages/{packageId}/publish/{publishId}/withOperationsGroup/status/report":
3707
+ parameters:
3708
+ - $ref: '#/components/parameters/packageId'
3709
+ - name: publishId
3710
+ description: Publish Id
3711
+ in: path
3712
+ required: true
3713
+ schema:
3714
+ type: string
3715
+ format: uuid
3716
+ example: 9c8e9045-dd9c-4946-b9e4-e05e3f41c4cc
3717
+ get:
3718
+ tags:
3719
+ - Publish
3720
+ summary: Get CSV report of dashboard version publication from CSV file
3721
+ description: |
3722
+ CSV file with initial input information which is added with status and
3723
+ error messages for each row.
3724
+ operationId: getDashboardPublishWithOperationsGroupStatusReport
3725
+ security:
3726
+ - BearerAuth: []
3727
+ - api-key: []
3728
+ responses:
3729
+ '200':
3730
+ description: Success
3731
+ content:
3732
+ text/csv:
3733
+ schema:
3734
+ type: string
3735
+ format: binary
3736
+ description: CSV file which contains initial (input) content and supplemented with information about status and details info if any problems occured (package version was not found, operation was not found, insufficient information provided).
3737
+ '401':
3738
+ description: Unauthorized
3739
+ content:
3740
+ application/json:
3741
+ schema:
3742
+ $ref: '#/components/schemas/ErrorResponse'
3743
+ examples: {}
3744
+ '403':
3745
+ description: Forbidden
3746
+ content:
3747
+ application/json:
3748
+ schema:
3749
+ $ref: '#/components/schemas/ErrorResponse'
3750
+ examples: {}
3751
+ '404':
3752
+ description: Not found
3753
+ content:
3754
+ application/json:
3755
+ schema:
3756
+ $ref: '#/components/schemas/ErrorResponse'
3757
+ examples:
3758
+ PackageNotFound:
3759
+ $ref: '#/components/examples/PackageNotFound'
3760
+ '500':
3761
+ description: Internal Server Error
3762
+ content:
3763
+ application/json:
3764
+ schema:
3765
+ $ref: '#/components/schemas/ErrorResponse'
3766
+ examples:
3767
+ InternalServerError:
3768
+ $ref: '#/components/examples/InternalServerError'
3502
3769
"/api/v2/packages/{packageId}/versions":
3503
3770
parameters:
3504
3771
- $ref: "#/components/parameters/packageId"
0 commit comments