{"id":24461,"date":"2024-02-15T14:53:34","date_gmt":"2024-02-15T22:53:34","guid":{"rendered":"https:\/\/docs.extraview.com\/v25\/book\/perforce-configuration-1\/"},"modified":"2025-03-04T17:19:16","modified_gmt":"2025-03-05T01:19:16","slug":"perforce-configuration-1","status":"publish","type":"page","link":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/","title":{"rendered":"Perforce Configuration"},"content":{"rendered":"<h3>Create Client and User<\/h3>\n<p>Create a Perforce client and a user that will be used by the Integration Daemon to create and update jobs in Perforce.<\/p>\n<p>The integration daemon uses password-based authentication, although ticket-based authentication can be used with tickets that do not expire. Please work with your Perforce server administrator to ensure that the Perforce account used for the integration can access the Perforce server for an indefinite time period.<\/p>\n<h3>Edit Jobspec<\/h3>\n<p>As a Perforce administrator user, edit the jobspec according to your requirements and use of ExtraView. If you are using the command line version of Perforce, use the p4 jobspec command to edit the jobspec. New fields for the ExtraView ID and URL values (e.g., EVid and EVurl) must be configured in the jobspec in order for the integration daemon to operate successfully.<\/p>\n<div class=\"textGreyBg\"><b>Warning:<\/b> Do not alter the definition of the standard fields that are included in the jobspec, namely fields 101 through 105. The Perforce Administrator Guide provides warnings about this fact in the Customizing Perforce: Job Specifications chapter.<\/div>\n<p>For example, here is a sample jobspec that includes the following additional fields for mapping to ExtraView issues: EVid, EVstatus, EVpriority, EVurl, and EVtitle.<\/p>\n<pre style=\"border: 1px solid #000000;\"><code>&gt; p4 jobspec -o\n# A Perforce Job Spec Specification.\n#\n#  Updating this form can be dangerous!\n#  See 'p4 help jobspec' for proper directions.\n\nFields:\n        101 Job word 32 required\n        102 Status select 10 required\n        103 User word 32 required\n        104 Date date 20 always\n        105 Description text 0 required\n        110 EVid word 10 optional\n        111 EVstatus select 10 default\n        112 EVpriority select 10 required\n        113 EVurl line 50 optional\n        114 EVtitle line 50 default\n\nValues:\n        Status open\/suspended\/closed\n        EVstatus OPEN\/UNASSIGNED\/CLOSED\/NEW\/REJECTED\/DUPLICATE\/FIXED\n        EVpriority Critical\/High\/Medium\/Low\n\nPresets:\n        Status open\n        User $USER\n        Date $NOW\n        Description \"default description\"\n        EVstatus UNASSIGNED\n        EVpriority Medium\n        EVtitle \"Default Job Title\"\n\nComments:\n        # A Perforce Job Specification.\n        #\n        #  Job:         The job name.  'new' generates a sequenced job number.\n        #  Status:      Either 'open', 'closed', or 'suspended'.\n        #  User:        The user who created the job. Can be changed.\n        #  Date:        The date this specification was last modified.\n        #  Description: Comments about the job.  Required.\n        #  EVid:        ExtraView issue id.  Optional.\n        #  EVstatus:    Either OPEN, UNASSIGNED, CLOSED, NEW, REJECTED,\n        #               DUPLICATE, FIXED.  Optional.\n        #  EVpriority:  Either Critical, High, Medium, or Low.  Required.\n        #  EVurl:       Shortcut URL to ExtraView issue.  Optional.\n        #  EVtitle:     Short description.  Optional.<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Create Client and User Create a Perforce client and a user that will be used by the Integration Daemon to create and update jobs in Perforce. The integration daemon uses password-based authentication, although ticket-based authentication can be used with tickets that do not expire. Please work with your Perforce server administrator to ensure that the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":24457,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-24461","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Perforce Configuration - Product Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Perforce Configuration - Product Documentation\" \/>\n<meta property=\"og:description\" content=\"Create Client and User Create a Perforce client and a user that will be used by the Integration Daemon to create and update jobs in Perforce. The integration daemon uses password-based authentication, although ticket-based authentication can be used with tickets that do not expire. Please work with your Perforce server administrator to ensure that the...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Product Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-05T01:19:16+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/\",\"url\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/\",\"name\":\"Perforce Configuration - Product Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\"},\"datePublished\":\"2024-02-15T22:53:34+00:00\",\"dateModified\":\"2025-03-05T01:19:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ExtraView 25\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Integration Guides\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Perforce Integration Guide\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Perforce Configuration\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"name\":\"ExtraView Product Documentation\",\"description\":\"ExtraView Documentation\",\"publisher\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\",\"name\":\"ExtraView Corporation\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"contentUrl\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"width\":512,\"height\":512,\"caption\":\"ExtraView Corporation\"},\"image\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Perforce Configuration - Product Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/","og_locale":"en_US","og_type":"article","og_title":"Perforce Configuration - Product Documentation","og_description":"Create Client and User Create a Perforce client and a user that will be used by the Integration Daemon to create and update jobs in Perforce. The integration daemon uses password-based authentication, although ticket-based authentication can be used with tickets that do not expire. Please work with your Perforce server administrator to ensure that the...","og_url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/","og_site_name":"Product Documentation","article_modified_time":"2025-03-05T01:19:16+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/","url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/","name":"Perforce Configuration - Product Documentation","isPartOf":{"@id":"https:\/\/docs.extraview.com\/v25\/#website"},"datePublished":"2024-02-15T22:53:34+00:00","dateModified":"2025-03-05T01:19:16+00:00","breadcrumb":{"@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/perforce-configuration-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":2,"name":"ExtraView 25","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":3,"name":"Integration Guides","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/"},{"@type":"ListItem","position":4,"name":"Perforce Integration Guide","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/integration-guides-1\/perforce-integration-guide-1\/"},{"@type":"ListItem","position":5,"name":"Perforce Configuration"}]},{"@type":"WebSite","@id":"https:\/\/docs.extraview.com\/v25\/#website","url":"https:\/\/docs.extraview.com\/v25\/","name":"ExtraView Product Documentation","description":"ExtraView Documentation","publisher":{"@id":"https:\/\/docs.extraview.com\/v25\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.extraview.com\/v25\/#organization","name":"ExtraView Corporation","url":"https:\/\/docs.extraview.com\/v25\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/","url":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","contentUrl":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","width":512,"height":512,"caption":"ExtraView Corporation"},"image":{"@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/"}}]}},"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"carl.koppel","author_link":"https:\/\/docs.extraview.com\/v25\/author\/carl-koppel\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/comments?post=24461"}],"version-history":[{"count":0,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24461\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24457"}],"wp:attachment":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/media?parent=24461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}