Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 API for Ruby Documentation | 2025.2

# Programming with P4 API for Ruby

The following example shows how to create a new client workspace based on an existing template:

    require "P4"
    template = "my-client-template"
    client_root = 'c:\p4-work'
    p4 = P4.new
    p4.connect

    begin

        # Run a "p4 client -t template -o" and convert it into a Ruby hash
        spec = p4.fetch_client( "-t", template, "my-new-client")

        # Now edit the fields in the form
        spec[ "Root" ]  = client_root
        spec[ "Options" ] = spec[ "Options" ].sub( "normdir", "rmdir" )

        # Now save the updated spec
        p4.save_client( spec )

        # Point to the newly-created client
        p4.client="my-new-client"

        # And sync it.
        p4.run_sync

    rescue P4Exception
        # If any errors occur, we'll jump in here. Just log them
        # and raise the exception up to the higher level

        p4.errors.each { |e| $stderr.puts( e ) }
        raise

    end

## Connecting to SSL-enabled servers

Scripts written with P4 API for Ruby use any existing `P4TRUST` file present in their operating environment (by default, `.p4trust` in the home directory of the user that runs the script).

If the fingerprint returned by the server fails to match the one installed in the `P4TRUST` file associated with the script’s run-time environment, your script will (and should!) fail to connect to the server.

Your search for returned results