Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Automatics API can be created using two custom annotations: @AutomaticsApi and @AutomaticsApiParam. The former is used to declare the automatics API, while the latter is used to declare automatics API parameters.
Below is the example which showcase the code of Automatics API.

@AutomaticsApi(category = AutomaticsApiCategory.

SELF

TUNE_

PROTECT_RDKB

CHANNEL,

applicablefor

applicableFor =

 "RDKB"

{
        ApplicableFor.RDKV, }, description =

 "Purpose: To turn the web power switch on for given device name.How it works: It fetches the power outlet for the given device name from dynamoDB and turns the web power switch on.Return value: Status code and response string.

"Tune to particular IP channel", name =

 

"

POWER_ON

TUNE_TO_PARTICULAR_IPCHANNEL", returntype =

 

"String")
    public

 

static

 String powerOn(param1,
        

ResponseObject tuneToAnIpChannelAndCheckAV(AutomaticsTapApi tapEnv, Dut device,
        @AutomaticsApiParam(name =

 

"

deviceName"String specify the name of device", example = "touchscreen") param2, ..)

channelNo", description =

 

"Channel Number", defaultOptions = "120,121") String channelNo,
        @AutomaticsApiParam(name = "streamType", description = "Stream Type", defaultOptions = "HD,SD") String streamType) {


{
    //code to perform
}

      1. @AutomaticsApi: It is custom annotation need to be written at the very beginning of function definition as shown in example. so, whenever API is called the below defined function will be executed. This annotation takes below mentioned parameter values:

        1. category: Automatics API category for which the API is created.

        2. applicablefor: For which environment the API is applicable, such as RDKB, RDKC, RDKV.

        3.  description: A short description of what the API does.

        4.  name: Name of the API. Whatever name is defined over here will be seen as the API name in the Automatics UI under the available method section during TC automation.

        5.  returntype: Datatype of the response which is going to be returned by the API.

      2. @AutomaticsApiParam:  It is custom annotation using which we can take a parameter value from user from the automatics UI.
        This annotation takes below mentioned parameter values:
        1. description: A short description of what this parameter is used for.

        2. name: Name of the parameter. Whatever name is defined over here will be seen as the API parameter with an input box in the input configuration of the API.

        3. example: It will be seen as a value suggestion in the input box of the parameter.Multiple values can be added using comma.

  1. Trigger the Jenkins pipeline for creating the rdkb-utils JAR.
    1. Open relatable URL.
      1. Development branch: https://rdkauto14.ccp.xcal.tv:8443/view/AUTOMATICS%20UTILS%20DEPLOYMENT/job/DEPLOY-AUTOMATICS-UTILS-DEV/
      2. stable branch: https://rdkauto14.ccp.xcal.tv:8443/view/AUTOMATICS%20UTILS%20DEPLOYMENT/job/DEPLOY-AUTOMATICS-UTILS-PROD
    2. Click on "Build with parameters"
    3. Select "RDKB-UTILS" as profile.
    4. Click on "Build" button.
  2. Finally, trigger the https://rdkauto14.ccp.xcal.tv:8443/view/AUTOMATICS%20UTILS%20DEPLOYMENT/job/AUTOMATICS_API_SCAN_FOR_AUTOMATICS_UTILS/ job to scan the newly created API for automatics. This step is mandatory to make the new API available in the Automatics UI.