export async function updateTrack()

in Tasks/GooglePlayReleaseV4/modules/googleutil.ts [72:119]


export async function updateTrack(
    edits: pub3.Resource$Edits,
    packageName: string,
    track: string,
    versionCodes: number | number[],
    userFraction: number,
    updatePriority: number,
    releaseNotes?: pub3.Schema$LocalizedText[],
    releaseName?: string
): Promise<pub3.Schema$Track> {
    tl.debug('Updating track');
    const versionCodesArray: number[] = (Array.isArray(versionCodes) ? versionCodes : [versionCodes]);
    const release: pub3.Schema$TrackRelease = {
        versionCodes: versionCodesArray.map((versionCode) => versionCode.toString()),
        inAppUpdatePriority: updatePriority
    };

    if (releaseName && releaseName.length > 0) {
        tl.debug('Add release name: ' + releaseName);
        release.name = releaseName;
    }

    if (releaseNotes && releaseNotes.length > 0) {
        tl.debug('Attaching release notes to the update');
        release.releaseNotes = releaseNotes;
    }

    if (userFraction < 1.0) {
        release.userFraction = userFraction;
        release.status = 'inProgress';
    } else {
        tl.debug('User fraction is more than 100% marking rollout "completed"');
        release.status = 'completed';
    }

    const requestParameters: pub3.Params$Resource$Edits$Tracks$Update = {
        packageName: packageName,
        track: track,
        requestBody: {
            track,
            releases: [release]
        }
    };

    tl.debug('Additional Parameters: ' + JSON.stringify(requestParameters));
    const updatedTrack = await edits.tracks.update(requestParameters);
    return updatedTrack.data;
}