def METHOD_NAME(
    webserver_url: str,
    run_config: Mapping[str, Any],
    job_name: str,
    repository_name: str = "demo_execution_repo",
    code_location_name: str = "user-code-deployment-1",
    op_selection: Optional[Sequence[str]] = None,
    tags: Optional[Mapping[str, str]] = None,
) -> str:
    tags = tags or {}
    variables = json.dumps(
        {
            "executionParams": {
                "selector": {
                    "repositoryLocationName": code_location_name,
                    "repositoryName": repository_name,
                    "pipelineName": job_name,
                    "solidSelection": op_selection,
                },
                "runConfigData": run_config,
                "executionMetadata": {
                    "tags": [{"key": key, "value": value} for key, value in tags.items()]
                },
            }
        }
    )
    result = _execute_query_over_graphql(webserver_url, LAUNCH_PIPELINE_MUTATION, variables)
    print(f"Launch pipeline result: {result}")
    assert (
        "data" in result
        and result["data"]["launchPipelineExecution"]["__typename"] == "LaunchRunSuccess"
    )
    return result["data"]["launchPipelineExecution"]["run"]["runId"]