- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="generator" content="Asciidoctor 1.5.2">
- <meta name="author" content="Tristan Juricek">
- <title>Perforce Web Services Guide: 2015.1 Alpha</title>
- <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400">
- <style>
- /* Asciidoctor default stylesheet | MIT License | http://asciidoctor.org */
- /* Remove the comments around the @import statement below when using this as a custom stylesheet */
- /*@import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400";*/
- article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
- audio,canvas,video{display:inline-block}
- audio:not([controls]){display:none;height:0}
- [hidden],template{display:none}
- script{display:none!important}
- html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
- body{margin:0}
- a{background:transparent}
- a:focus{outline:thin dotted}
- a:active,a:hover{outline:0}
- h1{font-size:2em;margin:.67em 0}
- abbr[title]{border-bottom:1px dotted}
- b,strong{font-weight:bold}
- dfn{font-style:italic}
- hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
- mark{background:#ff0;color:#000}
- code,kbd,pre,samp{font-family:monospace;font-size:1em}
- pre{white-space:pre-wrap}
- q{quotes:"\201C" "\201D" "\2018" "\2019"}
- small{font-size:80%}
- sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
- sup{top:-.5em}
- sub{bottom:-.25em}
- img{border:0}
- svg:not(:root){overflow:hidden}
- figure{margin:0}
- fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
- legend{border:0;padding:0}
- button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
- button,input{line-height:normal}
- button,select{text-transform:none}
- button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
- button[disabled],html input[disabled]{cursor:default}
- input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
- input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
- input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
- button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
- textarea{overflow:auto;vertical-align:top}
- table{border-collapse:collapse;border-spacing:0}
- *,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
- html,body{font-size:100%}
- body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto}
- a:hover{cursor:pointer}
- img,object,embed{max-width:100%;height:auto}
- object,embed{height:100%}
- img{-ms-interpolation-mode:bicubic}
- #map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object{max-width:none!important}
- .left{float:left!important}
- .right{float:right!important}
- .text-left{text-align:left!important}
- .text-right{text-align:right!important}
- .text-center{text-align:center!important}
- .text-justify{text-align:justify!important}
- .hide{display:none}
- .antialiased,body{-webkit-font-smoothing:antialiased}
- img{display:inline-block;vertical-align:middle}
- textarea{height:auto;min-height:50px}
- select{width:100%}
- p.lead,.paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{font-size:1.21875em;line-height:1.6}
- .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
- div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr}
- a{color:#2156a5;text-decoration:underline;line-height:inherit}
- a:hover,a:focus{color:#1d4b8f}
- a img{border:none}
- p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
- p aside{font-size:.875em;line-height:1.35;font-style:italic}
- h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
- h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
- h1{font-size:2.125em}
- h2{font-size:1.6875em}
- h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
- h4,h5{font-size:1.125em}
- h6{font-size:1em}
- hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
- em,i{font-style:italic;line-height:inherit}
- strong,b{font-weight:bold;line-height:inherit}
- small{font-size:60%;line-height:inherit}
- code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
- ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
- ul,ol,ul.no-bullet,ol.no-bullet{margin-left:1.5em}
- ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em}
- ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
- ul.square{list-style-type:square}
- ul.circle{list-style-type:circle}
- ul.disc{list-style-type:disc}
- ul.no-bullet{list-style:none}
- ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
- dl dt{margin-bottom:.3125em;font-weight:bold}
- dl dd{margin-bottom:1.25em}
- abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
- abbr{text-transform:none}
- blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
- blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
- blockquote cite:before{content:"\2014 \0020"}
- blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
- blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
- @media only screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
- h1{font-size:2.75em}
- h2{font-size:2.3125em}
- h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
- h4{font-size:1.4375em}}table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede}
- table thead,table tfoot{background:#f7f8f7;font-weight:bold}
- table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
- table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
- table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7}
- table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
- h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
- h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
- .clearfix:before,.clearfix:after,.float-group:before,.float-group:after{content:" ";display:table}
- .clearfix:after,.float-group:after{clear:both}
- *:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
- pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed}
- .keyseq{color:rgba(51,51,51,.8)}
- kbd{display:inline-block;color:rgba(0,0,0,.8);font-size:.75em;line-height:1.4;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:-.15em .15em 0 .15em;padding:.2em .6em .2em .5em;vertical-align:middle;white-space:nowrap}
- .keyseq kbd:first-child{margin-left:0}
- .keyseq kbd:last-child{margin-right:0}
- .menuseq,.menu{color:rgba(0,0,0,.8)}
- b.button:before,b.button:after{position:relative;top:-1px;font-weight:400}
- b.button:before{content:"[";padding:0 3px 0 2px}
- b.button:after{content:"]";padding:0 2px 0 3px}
- p a>code:hover{color:rgba(0,0,0,.9)}
- #header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
- #header:before,#header:after,#content:before,#content:after,#footnotes:before,#footnotes:after,#footer:before,#footer:after{content:" ";display:table}
- #header:after,#content:after,#footnotes:after,#footer:after{clear:both}
- #content{margin-top:1.25em}
- #content:before{content:none}
- #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
- #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8}
- #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px}
- #header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
- #header .details span:first-child{margin-left:-.125em}
- #header .details span.email a{color:rgba(0,0,0,.85)}
- #header .details br{display:none}
- #header .details br+span:before{content:"\00a0\2013\00a0"}
- #header .details br+span.author:before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
- #header .details br+span#revremark:before{content:"\00a0|\00a0"}
- #header #revnumber{text-transform:capitalize}
- #header #revnumber:after{content:"\00a0"}
- #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
- #toc{border-bottom:1px solid #efefed;padding-bottom:.5em}
- #toc>ul{margin-left:.125em}
- #toc ul.sectlevel0>li>a{font-style:italic}
- #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
- #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
- #toc a{text-decoration:none}
- #toc a:active{text-decoration:underline}
- #toctitle{color:#7a2518;font-size:1.2em}
- @media only screen and (min-width:768px){#toctitle{font-size:1.375em}
- body.toc2{padding-left:15em;padding-right:0}
- #toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
- #toc.toc2 #toctitle{margin-top:0;font-size:1.2em}
- #toc.toc2>ul{font-size:.9em;margin-bottom:0}
- #toc.toc2 ul ul{margin-left:0;padding-left:1em}
- #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
- body.toc2.toc-right{padding-left:0;padding-right:15em}
- body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}}@media only screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
- #toc.toc2{width:20em}
- #toc.toc2 #toctitle{font-size:1.375em}
- #toc.toc2>ul{font-size:.95em}
- #toc.toc2 ul ul{padding-left:1.25em}
- body.toc2.toc-right{padding-left:0;padding-right:20em}}#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
- #content #toc>:first-child{margin-top:0}
- #content #toc>:last-child{margin-bottom:0}
- #footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em}
- #footer-text{color:rgba(255,255,255,.8);line-height:1.44}
- .sect1{padding-bottom:.625em}
- @media only screen and (min-width:768px){.sect1{padding-bottom:1.25em}}.sect1+.sect1{border-top:1px solid #efefed}
- #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
- #content h1>a.anchor:before,h2>a.anchor:before,h3>a.anchor:before,#toctitle>a.anchor:before,.sidebarblock>.content>.title>a.anchor:before,h4>a.anchor:before,h5>a.anchor:before,h6>a.anchor:before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
- #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
- #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
- #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
- .audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
- .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
- table.tableblock>caption.title{white-space:nowrap;overflow:visible;max-width:0}
- .paragraph.lead>p,#preamble>.sectionbody>.paragraph:first-of-type p{color:rgba(0,0,0,.85)}
- table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inherit}
- .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
- .admonitionblock>table td.icon{text-align:center;width:80px}
- .admonitionblock>table td.icon img{max-width:none}
- .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
- .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)}
- .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
- .exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
- .exampleblock>.content>:first-child{margin-top:0}
- .exampleblock>.content>:last-child{margin-bottom:0}
- .sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
- .sidebarblock>:first-child{margin-top:0}
- .sidebarblock>:last-child{margin-bottom:0}
- .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
- .exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
- .literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
- .sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
- .literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em}
- .literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal}
- @media only screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}}@media only screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}}.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)}
- .listingblock pre.highlightjs{padding:0}
- .listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px}
- .listingblock pre.prettyprint{border-width:0}
- .listingblock>.content{position:relative}
- .listingblock code[data-lang]:before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999}
- .listingblock:hover code[data-lang]:before{display:block}
- .listingblock.terminal pre .command:before{content:attr(data-prompt);padding-right:.5em;color:#999}
- .listingblock.terminal pre .command:not([data-prompt]):before{content:"$"}
- table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none}
- table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0}
- table.pyhltable td.code{padding-left:.75em;padding-right:0}
- pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8}
- pre.pygments .lineno{display:inline-block;margin-right:.25em}
- table.pyhltable .linenodiv{background:none!important;padding-right:0!important}
- .quoteblock{margin:0 1em 1.25em 1.5em;display:table}
- .quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em}
- .quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
- .quoteblock blockquote{margin:0;padding:0;border:0}
- .quoteblock blockquote:before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
- .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
- .quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right}
- .quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)}
- .quoteblock .quoteblock blockquote{padding:0 0 0 .75em}
- .quoteblock .quoteblock blockquote:before{display:none}
- .verseblock{margin:0 1em 1.25em 1em}
- .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
- .verseblock pre strong{font-weight:400}
- .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
- .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
- .quoteblock .attribution br,.verseblock .attribution br{display:none}
- .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.05em;color:rgba(0,0,0,.6)}
- .quoteblock.abstract{margin:0 0 1.25em 0;display:block}
- .quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{text-align:left;word-spacing:0}
- .quoteblock.abstract blockquote:before,.quoteblock.abstract blockquote p:first-of-type:before{display:none}
- table.tableblock{max-width:100%;border-collapse:separate}
- table.tableblock td>.paragraph:last-child p>p:last-child,table.tableblock th>p:last-child,table.tableblock td>p:last-child{margin-bottom:0}
- table.spread{width:100%}
- table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
- table.grid-all th.tableblock,table.grid-all td.tableblock{border-width:0 1px 1px 0}
- table.grid-all tfoot>tr>th.tableblock,table.grid-all tfoot>tr>td.tableblock{border-width:1px 1px 0 0}
- table.grid-cols th.tableblock,table.grid-cols td.tableblock{border-width:0 1px 0 0}
- table.grid-all *>tr>.tableblock:last-child,table.grid-cols *>tr>.tableblock:last-child{border-right-width:0}
- table.grid-rows th.tableblock,table.grid-rows td.tableblock{border-width:0 0 1px 0}
- table.grid-all tbody>tr:last-child>th.tableblock,table.grid-all tbody>tr:last-child>td.tableblock,table.grid-all thead:last-child>tr>th.tableblock,table.grid-rows tbody>tr:last-child>th.tableblock,table.grid-rows tbody>tr:last-child>td.tableblock,table.grid-rows thead:last-child>tr>th.tableblock{border-bottom-width:0}
- table.grid-rows tfoot>tr>th.tableblock,table.grid-rows tfoot>tr>td.tableblock{border-width:1px 0 0 0}
- table.frame-all{border-width:1px}
- table.frame-sides{border-width:0 1px}
- table.frame-topbot{border-width:1px 0}
- th.halign-left,td.halign-left{text-align:left}
- th.halign-right,td.halign-right{text-align:right}
- th.halign-center,td.halign-center{text-align:center}
- th.valign-top,td.valign-top{vertical-align:top}
- th.valign-bottom,td.valign-bottom{vertical-align:bottom}
- th.valign-middle,td.valign-middle{vertical-align:middle}
- table thead th,table tfoot th{font-weight:bold}
- tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7}
- tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
- p.tableblock>code:only-child{background:none;padding:0}
- p.tableblock{font-size:1em}
- td>div.verse{white-space:pre}
- ol{margin-left:1.75em}
- ul li ol{margin-left:1.5em}
- dl dd{margin-left:1.125em}
- dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
- ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
- ul.unstyled,ol.unnumbered,ul.checklist,ul.none{list-style-type:none}
- ul.unstyled,ol.unnumbered,ul.checklist{margin-left:.625em}
- ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1em;font-size:.85em}
- ul.checklist li>p:first-child>input[type="checkbox"]:first-child{width:1em;position:relative;top:1px}
- ul.inline{margin:0 auto .625em auto;margin-left:-1.375em;margin-right:0;padding:0;list-style:none;overflow:hidden}
- ul.inline>li{list-style:none;float:left;margin-left:1.375em;display:block}
- ul.inline>li>*{display:block}
- .unstyled dl dt{font-weight:400;font-style:normal}
- ol.arabic{list-style-type:decimal}
- ol.decimal{list-style-type:decimal-leading-zero}
- ol.loweralpha{list-style-type:lower-alpha}
- ol.upperalpha{list-style-type:upper-alpha}
- ol.lowerroman{list-style-type:lower-roman}
- ol.upperroman{list-style-type:upper-roman}
- ol.lowergreek{list-style-type:lower-greek}
- .hdlist>table,.colist>table{border:0;background:none}
- .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
- td.hdlist1{padding-right:.75em;font-weight:bold}
- td.hdlist1,td.hdlist2{vertical-align:top}
- .literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
- .colist>table tr>td:first-of-type{padding:0 .75em;line-height:1}
- .colist>table tr>td:last-of-type{padding:.25em 0}
- .thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
- .imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0}
- .imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em}
- .imageblock>.title{margin-bottom:0}
- .imageblock.thumb,.imageblock.th{border-width:6px}
- .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
- .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
- .image.left{margin-right:.625em}
- .image.right{margin-left:.625em}
- a.image{text-decoration:none}
- span.footnote,span.footnoteref{vertical-align:super;font-size:.875em}
- span.footnote a,span.footnoteref a{text-decoration:none}
- span.footnote a:active,span.footnoteref a:active{text-decoration:underline}
- #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
- #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em 0;border-width:1px 0 0 0}
- #footnotes .footnote{padding:0 .375em;line-height:1.3;font-size:.875em;margin-left:1.2em;text-indent:-1.2em;margin-bottom:.2em}
- #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none}
- #footnotes .footnote:last-of-type{margin-bottom:0}
- #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
- .gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
- .gist .file-data>table td.line-data{width:99%}
- div.unbreakable{page-break-inside:avoid}
- .big{font-size:larger}
- .small{font-size:smaller}
- .underline{text-decoration:underline}
- .overline{text-decoration:overline}
- .line-through{text-decoration:line-through}
- .aqua{color:#00bfbf}
- .aqua-background{background-color:#00fafa}
- .black{color:#000}
- .black-background{background-color:#000}
- .blue{color:#0000bf}
- .blue-background{background-color:#0000fa}
- .fuchsia{color:#bf00bf}
- .fuchsia-background{background-color:#fa00fa}
- .gray{color:#606060}
- .gray-background{background-color:#7d7d7d}
- .green{color:#006000}
- .green-background{background-color:#007d00}
- .lime{color:#00bf00}
- .lime-background{background-color:#00fa00}
- .maroon{color:#600000}
- .maroon-background{background-color:#7d0000}
- .navy{color:#000060}
- .navy-background{background-color:#00007d}
- .olive{color:#606000}
- .olive-background{background-color:#7d7d00}
- .purple{color:#600060}
- .purple-background{background-color:#7d007d}
- .red{color:#bf0000}
- .red-background{background-color:#fa0000}
- .silver{color:#909090}
- .silver-background{background-color:#bcbcbc}
- .teal{color:#006060}
- .teal-background{background-color:#007d7d}
- .white{color:#bfbfbf}
- .white-background{background-color:#fafafa}
- .yellow{color:#bfbf00}
- .yellow-background{background-color:#fafa00}
- span.icon>.fa{cursor:default}
- .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
- .admonitionblock td.icon .icon-note:before{content:"\f05a";color:#19407c}
- .admonitionblock td.icon .icon-tip:before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
- .admonitionblock td.icon .icon-warning:before{content:"\f071";color:#bf6900}
- .admonitionblock td.icon .icon-caution:before{content:"\f06d";color:#bf3400}
- .admonitionblock td.icon .icon-important:before{content:"\f06a";color:#bf0000}
- .conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
- .conum[data-value] *{color:#fff!important}
- .conum[data-value]+b{display:none}
- .conum[data-value]:after{content:attr(data-value)}
- pre .conum[data-value]{position:relative;top:-.125em}
- b.conum *{color:inherit!important}
- .conum:not([data-value]):empty{display:none}
- h1,h2{letter-spacing:-.01em}
- dt,th.tableblock,td.content{text-rendering:optimizeLegibility}
- p,td.content{letter-spacing:-.01em}
- p strong,td.content strong{letter-spacing:-.005em}
- p,blockquote,dt,td.content{font-size:1.0625rem}
- p{margin-bottom:1.25rem}
- .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
- .exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
- .print-only{display:none!important}
- @media print{@page{margin:1.25cm .75cm}
- *{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}
- a{color:inherit!important;text-decoration:underline!important}
- a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
- a[href^="http:"]:not(.bare):after,a[href^="https:"]:not(.bare):after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
- abbr[title]:after{content:" (" attr(title) ")"}
- pre,blockquote,tr,img{page-break-inside:avoid}
- thead{display:table-header-group}
- img{max-width:100%!important}
- p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
- h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
- #toc,.sidebarblock,.exampleblock>.content{background:none!important}
- #toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important}
- .sect1{padding-bottom:0!important}
- .sect1+.sect1{border:0!important}
- #header>h1:first-child{margin-top:1.25rem}
- body.book #header{text-align:center}
- body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em 0}
- body.book #header .details{border:0!important;display:block;padding:0!important}
- body.book #header .details span:first-child{margin-left:0!important}
- body.book #header .details br{display:block}
- body.book #header .details br+span:before{content:none!important}
- body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
- body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
- .listingblock code[data-lang]:before{display:block}
- #footer{background:none!important;padding:0 .9375em}
- #footer-text{color:rgba(0,0,0,.6)!important;font-size:.9em}
- .hide-on-print{display:none!important}
- .print-only{display:block!important}
- .hide-for-print{display:none!important}
- .show-for-print{display:inherit!important}}
- </style>
- </head>
- <body class="article toc2 toc-right">
- <div id="header">
- <h1>Perforce Web Services Guide: 2015.1 Alpha</h1>
- <div class="details">
- <span id="author" class="author">Tristan Juricek</span><br>
- <span id="email" class="email"><a href="mailto:tjuricek@perforce.com">tjuricek@perforce.com</a></span><br>
- <span id="revnumber">version 2015.1.alpha,</span>
- <span id="revdate">May 2015</span>
- </div>
- <div id="toc" class="toc2">
- <div id="toctitle">Table of Contents</div>
- <ul class="sectlevel1">
- <li><a href="#_about_this_manual">About This Manual</a>
- <ul class="sectlevel2">
- <li><a href="#_please_give_us_feedback">Please give us feedback</a></li>
- </ul>
- </li>
- <li><a href="#_overview">Overview</a>
- <ul class="sectlevel2">
- <li><a href="#_knowledge_required">Knowledge Required</a></li>
- <li><a href="#_release_compatibility_of_the_api">Release compatibility of the API</a></li>
- <li><a href="#_architecture_of_the_api">Architecture of the API</a></li>
- </ul>
- </li>
- <li><a href="#_deploying_helix_web_services">Deploying Helix Web Services</a>
- <ul class="sectlevel2">
- <li><a href="#_deploying_from_a_source_tarball">Deploying from a source tarball</a></li>
- <li><a href="#_deploying_from_packages">Deploying from Packages</a></li>
- <li><a href="#_using_code_hws_console_code_to_verify_your_deployment">Using <code>hws_console</code> to verify your deployment</a></li>
- <li><a href="#_uninstalling_helix_web_services">Uninstalling Helix Web Services</a></li>
- </ul>
- </li>
- <li><a href="#system_configuration">Configuration</a>
- <ul class="sectlevel2">
- <li><a href="#deployment_configuration">Deployment Configuration</a></li>
- <li><a href="#_available_application_settings">Available Application Settings</a></li>
- </ul>
- </li>
- <li><a href="#_client_application_development">Client Application Development</a>
- <ul class="sectlevel2">
- <li><a href="#authentication">Authentication</a></li>
- <li><a href="#per_request_configuration">Per-Request Configuration</a></li>
- <li><a href="#error_responses">Error Conventions</a></li>
- <li><a href="#ruby_client_sdk_overview">Ruby Client SDK</a></li>
- </ul>
- </li>
- <li><a href="#_http_protocol_reference">HTTP Protocol Reference</a>
- <ul class="sectlevel2">
- <li><a href="#_authentication_methods">Authentication Methods</a></li>
- <li><a href="#_configuration_of_available_services">Configuration of Available Services</a></li>
- <li><a href="#_git_fusion_repositories">Git Fusion Repositories</a></li>
- <li><a href="#_helix_sync_changes">Helix Sync Changes</a></li>
- <li><a href="#_helix_sync_clients">Helix Sync Clients</a></li>
- <li><a href="#_helix_versioning_engine_branches">Helix Versioning Engine Branches</a></li>
- <li><a href="#_helix_versioning_engine_changes">Helix Versioning Engine Changes</a></li>
- <li><a href="#_helix_versioning_engine_clients">Helix Versioning Engine Clients</a></li>
- <li><a href="#_helix_versioning_engine_commands">Helix Versioning Engine Commands</a></li>
- <li><a href="#_helix_versioning_engine_counters">Helix Versioning Engine Counters</a></li>
- <li><a href="#_helix_versioning_engine_depots">Helix Versioning Engine Depots</a></li>
- <li><a href="#_helix_versioning_engine_files">Helix Versioning Engine Files</a></li>
- <li><a href="#_helix_versioning_engine_groups">Helix Versioning Engine Groups</a></li>
- <li><a href="#_helix_versioning_engine_jobs">Helix Versioning Engine Jobs</a></li>
- <li><a href="#_helix_versioning_engine_labels">Helix Versioning Engine Labels</a></li>
- <li><a href="#_helix_versioning_engine_login">Helix Versioning Engine Login</a></li>
- <li><a href="#_helix_versioning_engine_protections">Helix Versioning Engine Protections</a></li>
- <li><a href="#_helix_versioning_engine_servers">Helix Versioning Engine Servers</a></li>
- <li><a href="#_helix_versioning_engine_streams">Helix Versioning Engine Streams</a></li>
- <li><a href="#_helix_versioning_engine_triggers">Helix Versioning Engine Triggers</a></li>
- <li><a href="#_helix_versioning_engine_users">Helix Versioning Engine Users</a></li>
- <li><a href="#_project_methods">Project Methods</a></li>
- </ul>
- </li>
- <li><a href="#_client_sdk_reference">Client SDK Reference</a></li>
- <li><a href="#_server_programming">Server Programming</a>
- <ul class="sectlevel2">
- <li><a href="#_including_new_rack_middleware">Including New Rack Middleware</a></li>
- <li><a href="#_registering_configuration_variables">Registering Configuration Variables</a></li>
- <li><a href="#project_extensions">Adding Project Extensions</a></li>
- </ul>
- </li>
- <li><a href="#_server_api_reference">Server API Reference</a></li>
- <li><a href="#_development_guide">Development Guide</a>
- <ul class="sectlevel2">
- <li><a href="#_basic_development_set_up">Basic Development Set Up</a></li>
- </ul>
- </li>
- <li><a href="#_appendices">Appendices</a>
- <ul class="sectlevel2">
- <li><a href="#appendix_project_json">Appendix A: Project JSON</a></li>
- <li><a href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a></li>
- <li><a href="#appendix_helix_cloud">Appendix C: Helix Cloud</a></li>
- <li><a href="#appendix_config_services">Appendix D: Service Configuration JSON</a></li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- <div id="content">
- <div class="sect1">
- <h2 id="_about_this_manual"><a class="link" href="#_about_this_manual">About This Manual</a></h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>This guide covers administering and developing against the Helix Web Services.
- Helix Web Services provide common services and APIs that interact with the Helix Versioning Engine.</p>
- </div>
- <div class="paragraph">
- <p>A Helix Web Services server is a web server, and it’s APIs are fundamentally based on the HTTP protocol.
- Not all aspects of the Helix Versioning Engine are provided by Helix Web Services, vice versa.
- Some services provided by Helix Web Services are not available in the Helix Versioning Engine.</p>
- </div>
- <div class="sect2">
- <h3 id="_please_give_us_feedback"><a class="link" href="#_please_give_us_feedback">Please give us feedback</a></h3>
- <div class="paragraph">
- <p>If you have any feedback for us, or detect any errors in this guide,
- please email details to <a href="mailto:manual@perforce.com">manual@perforce.com</a>.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_overview"><a class="link" href="#_overview">Overview</a></h2>
- <div class="sectionbody">
- <div class="sect2">
- <h3 id="_knowledge_required"><a class="link" href="#_knowledge_required">Knowledge Required</a></h3>
- <div class="paragraph">
- <p>For deployment and configuration tasks, this guide assumes that you are experienced with administering web applications.
- You should be conceptually comfortable with Nginx and Unicorn.
- It is not necessary to have expert knowledge of these systems, but you should understand what their roles are without further clarification.
- If you require more knowledge, please consult online guides available from each of the primary sites:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>Nginx: <a href="http://nginx.org/" class="bare">http://nginx.org/</a></p>
- </li>
- <li>
- <p>Unicorn: <a href="http://unicorn.bogomips.org/" class="bare">http://unicorn.bogomips.org/</a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Additionally, while this guide interfaces with the Helix Versioning Engine, we assume you are familiar with it.
- For more information about the Helix Versioning Engine, please become familiar with the following online guides:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>Product overview: <a href="http://www.perforce.com/versioning-engine" class="bare">http://www.perforce.com/versioning-engine</a></p>
- </li>
- <li>
- <p>P4 Command Reference: <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/index.html" class="bare">http://www.perforce.com/perforce/doc.current/manuals/cmdref/index.html</a></p>
- </li>
- <li>
- <p>Admin fundamentals: <a href="http://www.perforce.com/perforce/doc.current/manuals/p4sag/index.html" class="bare">http://www.perforce.com/perforce/doc.current/manuals/p4sag/index.html</a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>For client development tasks, this guide assumes you are comfortable with the HTTP protocol.
- While it is not required to know Ruby, we provide a client SDK for Ruby, which may be easier to understand initially.
- If you do not use our Ruby client SDK, you will need to create an SDK for your platform, likely combined with a JSON parser.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_release_compatibility_of_the_api"><a class="link" href="#_release_compatibility_of_the_api">Release compatibility of the API</a></h3>
- <div class="paragraph">
- <p>Helix Web Services built and tested against a corresponding major release of the Helix Versioning Engine.
- For example, the '2015.1' release of Helix Web Services is validated using the '2015.1' of the Helix Versioning Engine.
- Using Helix Web Services against a non-corresponding Helix Versioning Engine instance will likely work, with some caveats.</p>
- </div>
- <div class="paragraph">
- <p>Each major version of the Helix Versioning Engine can contain additional fields to the data returned by various methods.
- You will likely need to take care to ensure that your application does not assume a strict set of fields.
- Occasionally, there are subtle behavioral differences that may also require subtle shifts in logic.
- In the end, you will need to validate your code against the Helix Versioning Engine version you are using in production.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_architecture_of_the_api"><a class="link" href="#_architecture_of_the_api">Architecture of the API</a></h3>
- <div class="paragraph">
- <p>Helix Web Services is a Ruby web application, that is intended to sit behind a reverse proxy server, such as nginx.
- The reverse proxy server should handle the configuration of SSL for the web services, and can host other web applications from the Helix suite.
- Helix Web Services currently deploys into a single unicorn instance, on Linux machines.</p>
- </div>
- <div class="paragraph">
- <p>Each Helix Web Services instance should not maintain state.
- You should be able to launch more than one Helix Web Services instance, and configure your reverse proxy to handle load balancing.
- You can also architect your system using services such as haproxy for load balancing.
- Using haproxy and nginx is beyond the scope of this documentation guide; we assume you are an experienced systems administrator when it comes to clustered web application deployment.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_deploying_helix_web_services"><a class="link" href="#_deploying_helix_web_services">Deploying Helix Web Services</a></h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>Helix Web Services can be deployed from a source tarball distribution or from installed packages.
- Starting up web services from a source tarball is similar to working with code checked out from our source distribution.</p>
- </div>
- <div class="paragraph">
- <p>To be clear, Helix Web Services will be set up to run a single application server instance.
- This application server will run on an unprivileged port, like 9000.
- It’s expected that Helix Web Services would be a part of a greater ecosystem of web applications, likely proxied by a web server such as Nginx.
- Our package installation includes a post-install configuration script that configures other services on the local machine to make it easy.</p>
- </div>
- <div class="sect2">
- <h3 id="_deploying_from_a_source_tarball"><a class="link" href="#_deploying_from_a_source_tarball">Deploying from a source tarball</a></h3>
- <div class="paragraph">
- <p>The following steps will launch a Helix Web Services instance in the current terminal session.
- This is not intended for a production installation, but may be valid for evaluating the product or experimenting with customizing Helix Web Services from source.</p>
- </div>
- <div class="paragraph">
- <p>Prerequisites to working with our source tarball:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>Ruby 2.2</p>
- </li>
- <li>
- <p>An installed Perforce server</p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>Other Ruby variations will likely work, we do not test them.</p>
- </div>
- <div class="paragraph">
- <p>Installation steps:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>Run: <code>tar xzf helix-web-services-[VERSION].tar.gz</code></p>
- </li>
- <li>
- <p>Run: <code>cd helix-web-services-[VERSION]/helix_web_services</code></p>
- </li>
- <li>
- <p>Run: <code>bundle install</code></p>
- </li>
- <li>
- <p>Run: <code>bundle exec foreman start</code></p>
- </li>
- </ol>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_deploying_from_packages"><a class="link" href="#_deploying_from_packages">Deploying from Packages</a></h3>
- <div class="admonitionblock note">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Note</div>
- </td>
- <td class="content">
- Right now you can only obtain unsigned pre-release packages from our workshop website.
- See the project page at: <a href="https://swarm.workshop.perforce.com/projects/perforce-software-helix-web-services/" class="bare">https://swarm.workshop.perforce.com/projects/perforce-software-helix-web-services/</a>
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Install the package using the appropriate platform tool:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>On Debian or Ubuntu systems, run <code>dpkg -i helix-web-services-[VERSION].deb</code></p>
- </li>
- <li>
- <p>On Redhat or CentOS systems, run <code>rpm -i helix-web-services-[VERSION].rpm</code></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>After installation, run the configuration script:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>sudo /opt/perforce/helix-web-services/bin/hws_configure</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>See <a href="#deployment_configuration">Deployment Configuration</a> for more details on post-install configuration.</p>
- </div>
- <div class="paragraph">
- <p>This will have prepared both <code>helix_web_services</code> and <code>nginx</code> startup scripts.
- You should make any adjustments to your system configuration if you need to, and then startup the services.</p>
- </div>
- <div class="paragraph">
- <p>On Ubuntu, this would take the form:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>sudo service helix_web_services start
- sudo service nginx start</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>If this machine already has an existing nginx or perforce server configuration, you will have to manually configure /etc/nginx/nginx.conf or adjust the system configuration for Helix Web Services.
- See <a href="#system_configuration">Configuration</a>.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_using_code_hws_console_code_to_verify_your_deployment"><a class="link" href="#_using_code_hws_console_code_to_verify_your_deployment">Using <code>hws_console</code> to verify your deployment</a></h3>
- <div class="paragraph">
- <p>After installation, you may want to quickly check that your configuration is working as you think it should.
- You can use the <code>hws_console</code> application to quickly run a few commands in a Ruby console.
- A default method, <code>client_for(user, password)</code> is available to let you sign in and start running commands.</p>
- </div>
- <div class="paragraph">
- <p>First, from your login shell, run:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>/opt/perforce/helix-web-services/bin/hws_console</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>You should be dropped into a Pry session, that will look like the following:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>From: /opt/perforce/helix-web-services/embedded/lib/ruby/gems/2.2.0/gems/helix_web_services-2015.1.0.pre1/bin/hws_console @ line 18 :
-
- 13: ssl: {verify: false}
- 14: )
- 15: end
- 16:
- 17: # Drop into the console
- => 18: binding.pry
-
- [1] pry(main)></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>At the prompt, <code>[1] pry(main)></code>, you can create a client and interact with it.</p>
- </div>
- <div class="paragraph">
- <p>Say you’re using the default configuration, which creates an empty Perforce server with the user <code>super</code> with password <code>superuser1A!</code>.
- You can run the following commands:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>c = client_for('super', 'superuser1A!')
- c.depots</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>While there will be a lot of console debugging output, at the end, you’ll see the list of depots in your system.</p>
- </div>
- <div class="paragraph">
- <p>At this point, <code>c</code> is an instance of the <code>HelixWebServicesClient</code>.
- See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html">the Ruby API documentation</a> for more details on what you can run.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_uninstalling_helix_web_services"><a class="link" href="#_uninstalling_helix_web_services">Uninstalling Helix Web Services</a></h3>
- <div class="paragraph">
- <p>Completely removing Helix Web Services from the system boils down to a few steps:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>Remove the <code>helixwebservices</code> account and group</p>
- </li>
- <li>
- <p>Remove the Upstart configuration at <code>/etc/init/helix_web_services.conf</code></p>
- </li>
- <li>
- <p>Remove temporary data and logging directories: <code>/var/lib/perforce/helix_web_services</code>, <code>/var/log/perforce/helix_web_services</code></p>
- </li>
- <li>
- <p>Uninstall or reconfigure nginx</p>
- </li>
- <li>
- <p>Uninstall or reconfigure perforce-server</p>
- </li>
- <li>
- <p>Run the system package uninstaller, e.g., <code>apt-get remove helix-web-services</code>, <code>dpkg -r helix-web-services</code>, etc.</p>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="system_configuration"><a class="link" href="#system_configuration">Configuration</a></h2>
- <div class="sectionbody">
- <div class="sect2">
- <h3 id="deployment_configuration"><a class="link" href="#deployment_configuration">Deployment Configuration</a></h3>
- <div class="paragraph">
- <p>There are a few main tasks to perform after just running the installer to get your system fully operational.
- The script <code>/opt/perforce/helix-web-services/bin/hws_configure</code> can be run on most "clean" operating systems to perform all of these steps.
- Not all of these steps will be performed, necessarily.
- For example, if you already have nginx running, we will not modify your system configuration.
- You will have to configure a reverse proxy to the unicorn server running at port 9000.</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Description</th>
- <th class="tableblock halign-left valign-top">Default set by <code>hws_configure</code></th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Notes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Establish the user account for running Helix Web Services</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">helixwebservices</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Will not be created if already exists</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Create directory for temporary data, assign to user account</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/var/lib/perforce/helix_web_services</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Will not be created if already exists</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Create directory for logging data, assign to user account</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/var/log/perforce/helix_web_services</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Will not be created if already exists</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Link upstart configuration</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/etc/init/helix_web_services.conf</code> is linked from <code>/opt/perforce/helix-web-services/etc/init/helix_web_services.conf</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Install and configure nginx</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">nginx is installed from system packages, a self-signed key is created or installed, and the default /etc/nginx/nginx.conf is setup as a reverse proxy to Unicorn running at port 9000</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">If nginx is already installed, <strong>none of these steps</strong> will be performed.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Install and configure a Helix Versioning Engine for evaluation</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Installs the <code>perforce-server</code> system package, and then configures a <code>helix-evaluation</code> instance to run at port 1666.</p></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>For details of the steps taken, review the script code online at:</p>
- </div>
- <div class="paragraph">
- <p><a href="https://swarm.workshop.perforce.com/projects/perforce-software-helix-web-services/files/main/source/helix_web_services/bin/hws_configure" class="bare">https://swarm.workshop.perforce.com/projects/perforce-software-helix-web-services/files/main/source/helix_web_services/bin/hws_configure</a></p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_available_application_settings"><a class="link" href="#_available_application_settings">Available Application Settings</a></h3>
- <div class="paragraph">
- <p>System default settings for Helix Web Services can be set by creating a YAML file at <code>/etc/perforce/helix_web_services.conf</code>.
- If you’re unfamiliar with YAML, you simply use the variables below in simple key-value pairs.
- Pay attention, however, to the type of the variable.
- In many cases we use strings when you might have thought it were a number.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="paragraph">
- <p>/etc/perforce/helix_web_services.conf</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>P4PORT: 'perforce.mycompany.com:1999'</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Many settings in Helix Web Services are overridable by HTTP headers on a per-request basis.
- The "Overridable" column in the table below means you can specify this header.
- If it is not available, you can <em>only</em> specify the configuration in the system config file.
- For more information on specifying the system header, see <a href="#per_request_configuration">Per-Request Configuration</a>.</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 20%;">
- <col style="width: 20%;">
- <col style="width: 20%;">
- <col style="width: 20%;">
- <col style="width: 20%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Variable</th>
- <th class="tableblock halign-left valign-top">Type</th>
- <th class="tableblock halign-left valign-top">Overridable</th>
- <th class="tableblock halign-left valign-top">Description</th>
- <th class="tableblock halign-left valign-top">Default</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>COMMAND_WHITELIST</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Array</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Allows access to run commands via <a href="#get_helix_versioning_engine_vX_commands_command"><code>GET /helix_versioning_engine/v[api]/commands/[command]</code></a> or <a href="#post_helix_versioning_engine_vX_commands_command"><code>POST /helix_versioning_engine/v[api]/commands/[command]</code></a>.
- Each element in the array is either the name of a command to allow, or an array of the command name and any required arguments.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>["info", ["files", "-m"]]</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>CUSTOM_SCRIPTS</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The local directory that will load up user defined Ruby scripts.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">/var/lib/perforce/helix_web_services/scripts</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>ENABLE_HELIX_CLOUD_AUTH</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Boolean</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Use Helix Cloud as the authentication source.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>ENABLE_HELIX_CLOUD_PROJECTS</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Boolean</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Enable Helix Cloud as a project source.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>HVE_PROJECTS_PATH</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The depot location in the Helix Versioning Engine that hosts all projects in that server.</p></td>
- <td class="tableblock halign-left valign-top"></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>P4HOST</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The hostname for the perforce server, e.g., <code>perforce.example.com</code></p></td>
- <td class="tableblock halign-left valign-top"></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>P4PORT</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The port number (or port and hostname combination) that indicates our Perforce connection</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>1666</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>P4CHARSET</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The charset value for P4 connections.
- Set to <code>none</code> if you are connecting to a non-unicode server.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>auto</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>P4PASSWD</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The user password to use for p4 connections.
- For many cases, like where the authentication source is a p4d server, this
- will default to the authentication token password.</p></td>
- <td class="tableblock halign-left valign-top"></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>SERVICE_CONFIGURATION</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Local file location that defines how services are to be configured.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/etc/perforce/services.json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>WORKSPACE_DIR</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The local directory used for generating temporary Perforce Client Workspaces to do some basic operations.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>/var/lib/perforce/helix_web_services/workspaces</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_client_application_development"><a class="link" href="#_client_application_development">Client Application Development</a></h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>In general, your client application is going to need to:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p>Know the Helix Versioning Engine topology</p>
- </li>
- <li>
- <p>Obtain login tokens for Helix Versioning Engine (using <a href="#post_auth_v1_login"><code>POST /auth/v1/login</code></a>)</p>
- </li>
- <li>
- <p>Call other methods on the system.</p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Your application may use a single Helix Web Services instance to interact with multiple Helix Versioning Engines.
- In these cases, you will need to specify which versioning engine you are interacting with.
- In cases you are only using one Helix Versioning Engine, your application can then specify system wide settings.
- See <a href="#system_configuration">Configuration</a> for more details.</p>
- </div>
- <div class="paragraph">
- <p>Working with Helix Web Services for a client generally involves making a single request at a time.
- Many of our core methods mimic the set of commands available to the <code>p4</code> application.
- But if you need to make a combined set of `p4 commands, ideally, there are extended "services" available, that handle that interaction.
- So, in general, your client application only needs to make one web service call at a time.</p>
- </div>
- <div class="sect2">
- <h3 id="authentication"><a class="link" href="#authentication">Authentication</a></h3>
- <div class="paragraph">
- <p>Almost every Helix Web Services method requires authentication.
- We support <a href="http://tools.ietf.org/html/rfc2617">HTTP Basic Authentication</a>, using the login and p4 ticket as credentials.
- Obtain a ticket via <a href="#post_auth_v1_login"><code>POST /auth/v1/login</code></a>.</p>
- </div>
- <div class="paragraph">
- <p>Say the user <code>jdoe</code> has obtained the ticket <code>B984EF267963F434BB51C063EE86E8F9</code>.
- The corresponding HTTP header to add to each request would be:</p>
- </div>
- <div class="literalblock">
- <div class="content">
- <pre>Authorization: Basic amRvZTpCOTg0RUYyNjc5NjNGNDM0QkI1MUMwNjNFRTg2RThGOQ==</pre>
- </div>
- </div>
- <div class="admonitionblock note">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Note</div>
- </td>
- <td class="content">
- You can easily generate the basic header on most Unix systems using the <code>echo</code> and <code>base64</code> commands.
- For example, to generate the header above, would be the command <code>echo -n jdoe:B984EF267963F434BB51C063EE86E8F9 | base64</code>
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div class="sect2">
- <h3 id="per_request_configuration"><a class="link" href="#per_request_configuration">Per-Request Configuration</a></h3>
- <div class="paragraph">
- <p>Each request can specify HTTP headers to indicate override known settings the system.</p>
- </div>
- <div class="paragraph">
- <p>Each custom header takes the format:</p>
- </div>
- <div class="literalblock">
- <div class="content">
- <pre>X-Perforce-Helix-Web-Services-[KEY]</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>See <a href="#system_configuration">Configuration</a> for the list of available keys.</p>
- </div>
- <div class="paragraph">
- <p>For example, to change the <code>P4PORT</code> to be used, which identifies a separate Helix Versioning Engine, you’d set this header:</p>
- </div>
- <div class="literalblock">
- <div class="content">
- <pre>X-Perforce-Helix-Web-Services-P4PORT: helix-eu.mycompany.com:1666</pre>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="error_responses"><a class="link" href="#error_responses">Error Conventions</a></h3>
- <div class="paragraph">
- <p>Upon success, methods of Helix Web Services return the 200 HTTP status code.
- If your authentication token is not valid, you will receive 403 error, which means you need to update your login token (using <a href="#post_auth_v1_login"><code>POST /auth/v1/login</code></a>).</p>
- </div>
- <div class="paragraph">
- <p>401 errors will likely originate from the Helix Versioning Engine.
- In this case, we provide information to the client application via a JSON object.
- This object will contain three main properties:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>MessageCode</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A numeric ID for the problem, typically defined by the Helix Versioning Engine.
- Should be the same value as <a href="http://www.perforce.com/perforce/r15.1/manuals/p4api/chapter.methods.html#error.getgeneric">Error::GetGeneric()</a>.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>MessageSeverity</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Mirrors the severity levels of <a href="http://www.perforce.com/perforce/r15.1/manuals/p4api/chapter.methods.html#error.getseverity">Error::GetSeverity()</a>.
- Generally going to be 3 or 4.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>MessageText</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Informational text that will likely not be localized appropriately for the user.</p></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>When 500 errors happen, a serious problem has occurred, which may mean an important subsystem is compromised.
- Do not expect a response body.
- The problem will have to be investigated on the server side.
- Your client should not attempt further communication with Helix Web Services.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="ruby_client_sdk_overview"><a class="link" href="#ruby_client_sdk_overview">Ruby Client SDK</a></h3>
- <div class="paragraph">
- <p>If your application is written in Ruby, you can use our provided Ruby client SDK.
- This SDK is currently available as part of the Helix Web Services source code, in the <code>helix_web_services_client</code> directory.
- Many Helix Web Services methods refer to this client SDK as the <em>Ruby API</em>.</p>
- </div>
- <div class="sect3">
- <h4 id="_basic_ruby_client_sdk_usage"><a class="link" href="#_basic_ruby_client_sdk_usage">Basic Ruby Client SDK usage</a></h4>
- <div class="paragraph">
- <p>There are really two primary methods:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p><a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#execute_method_with_body-instance_method"><code>execute_method_with_body</code></a></p>
- </li>
- <li>
- <p><a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#execute_method_no_body-instance_method"><code>execute_method_no_body</code></a></p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>Along with signing in via the constructore</p>
- </div>
- <div class="paragraph">
- <p>These methods will generally parse the JSON response, and throw exceptions in case of any errors reported by the underlying server.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">require 'helix_web_services_client'
-
- client = HelixWebServicesClient.new({
- :url => 'https://helix.example.com/hws',
- :user => 'jdoe',
- :password => 'joesupersecret'
- })
-
- # Get starting list of depots
- depots = client.execute_method_no_body(:get, '/helix_versioning_engine/v[api]/files')
-
- # Print depot names
- depots.each { |d| puts d['name'] }
-
- # Make a user
- client.execute_method_with_body(:post, '/helix_versioning_engine/v[api]/users', nil, {
- 'User': 'new_user',
- 'FullName': 'Steve Austin',
- 'Email': 'saustin@example.com'
- })</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>You can additionally fetch the p4 ticket via the <code>client.ticket</code> property.
- If you store that, you can create a new <code>HelixWebServicesClient</code> specifying that via <code>ticket</code> instead of <code>password</code>.</p>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_models_in_the_ruby_client_sdk"><a class="link" href="#_models_in_the_ruby_client_sdk">Models in the Ruby Client SDK</a></h4>
- <div class="paragraph">
- <p>Most HTTP methods that correspond to commands of the <code>p4</code> application, do not alter data from the Helix Versioning Engine.
- This can be inconvenient for application development.
- For example, dates are inconsistently represented, sometimes as strings, other times as timestamps.
- Keys that represent the same concept show up in different cases in the output data.</p>
- </div>
- <div class="paragraph">
- <p>We’ve developed the <a href="helix_web_services_client_ruby/OpenModel.html"><code>OpenModel</code></a> class to help this out.
- Because a single version of Helix Web Services can interact with multiple instances Helix Versioning Engines at different versions, we do not want to restrict the data coming out of the server.
- The <code>OpenModel</code> class looks for case alternatives that might appear.
- It also provides a Ruby-like coding standard.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby"># Get starting list of depots
- depots = client.depots
-
- # The depot name
- #
- # If you call the singular method using our basic API this key is sometimes
- # referred to by `name`, sometimes as `Depot`
- depots.first.depot_or_name
-
- # In some listings, this is an integer represented as a string.
- #
- # Instead of a number, returns a Ruby Time object.
- #
- # Note that you should grab the offset value from the 'serverDate' field from
- # the `p4 info` command.
- depots.first.date_as_time(offset)
-
- # Can still make a user fairly easily just using Hashes
- client.create_user({
- 'User' => 'new_user',
- 'FullName' => 'Steve Austin',
- 'Email' => 'saustin@example.com'
- })
-
- # Updating specs should use upper case syntax.
- depot = client.depot('to_edit')
- depot.Description = "Updating the description"
- client.update_depot(depot)</code></pre>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_obtaining_the_client_sdk"><a class="link" href="#_obtaining_the_client_sdk">Obtaining the Client SDK</a></h4>
- <div class="paragraph">
- <p>In order to use the client SDK, you’d first need to obtain a copy of the Helix Web Services source from the Perforce workshop.
- Visit the workshop at <a href="https://swarm.workshop.perforce.com/" class="bare">https://swarm.workshop.perforce.com/</a>.
- On that site, you can sign up a new account.
- Documentation on this process is provided via that website.</p>
- </div>
- <div class="paragraph">
- <p>Once you have an account, you can then retrieve code via the Helix Versioning Engine available at <code>workshop.perforce.com:1666</code>.
- The source code is available at <code>//guest/perforce_software/helix-web-services/main/…​</code>
- Use any Perforce client application, such as <code>p4</code> or P4V to connect and retrieve the source code.</p>
- </div>
- <div class="paragraph">
- <p>Official releases of Helix Web Services may publish this client SDK to rubygems. Stay tuned!</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_http_protocol_reference"><a class="link" href="#_http_protocol_reference">HTTP Protocol Reference</a></h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>Each section includes methods related to a particular topic or resource.</p>
- </div>
- <div class="paragraph">
- <p>Authentication Methods</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#post_auth_v1_login"><code>POST /auth/v1/login</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Configuration Methods</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_config_v1_services"><code>GET /config/v1/services</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Git Fusion Methods</p>
- </div>
- <div class="paragraph">
- <p>Repositories</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_git_fusion_v1_repos"><code>GET /git_fusion/v1/repos</code></a></p>
- </li>
- <li>
- <p><a href="#post_git_fusion_v1_repos"><code>POST /git_fusion/v1/repos</code></a></p>
- </li>
- <li>
- <p><a href="#get_git_fusion_v1_repos_repo"><code>GET /git_fusion/v1/repos/[repo]</code></a></p>
- </li>
- <li>
- <p><a href="#put_git_fusion_v1_repos_repo"><code>PUT /git_fusion/v1/repos/[repo]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_git_fusion_v1_repos_repo"><code>PATCH /git_fusion/v1/repos_repo</code></a></p>
- </li>
- <li>
- <p><a href="#delete_git_fusion_v1_repos_repo"><code>DELETE /git_fusion/v1/repos_repo</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Helix Sync Methods</p>
- </div>
- <div class="paragraph">
- <p>Changes</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_sync_v1_changes_project"><code>GET /helix_sync/v1/changes/[project]</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_sync_v1_changes_project"><code>POST /helix_sync/v1/changes/[project]</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_sync_v1_changes_project_pending"><code>GET /helix_sync/v1/changes/[project]/pending</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_sync_v1_changes_project_pending"><code>POST /helix_sync/v1/changes/[project]/pending</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Clients</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#post_helix_sync_v1_clients"><code>POST /helix_sync/v1/clients</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Helix Versioning Engine Methods</p>
- </div>
- <div class="paragraph">
- <p>Branches</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_branches"><code>GET /helix_versioning_engine/v[api]/branches</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_branches"><code>POST /helix_versioning_engine/v[api]/branches</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_branches_branch"><code>GET /helix_versioning_engine/v[api]/branches/[branch]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_branches_branch"><code>PATCH /helix_versioning_engine/v[api]/branches/[branch]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_branches_branch"><code>DELETE /helix_versioning_engine/v[api]/branches/[branch]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Changes</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_changes"><code>GET /helix_versioning_engine/v[api]/changes</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_changes"><code>POST /helix_versioning_engine/v[api]/changes</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_changes_change"><code>GET /helix_versioning_engine/v[api]/changes/[change]</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_changes_change"><code>POST /helix_versioning_engine/v[api]/changes/[change]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Clients</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_clients"><code>GET /helix_versioning_engine/v[api]/clients</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_clients"><code>POST /helix_versioning_engine/v[api]/clients</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_clients_client"><code>GET /helix_versioning_engine/v[api]/clients/[client]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_clients_client"><code>PATCH /helix_versioning_engine/v[api]/clients/[client]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_clients_client"><code>DELETE /helix_versioning_engine/v[api]/clients/[client]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Commands</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_commands_command"><code>GET /helix_versioning_engine/v[api]/commands/[command]</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_commands_command"><code>POST /helix_versioning_engine/v[api]/commands/[command]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Counters</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_counters"><code>GET /helix_versioning_engine/v[api]/counters</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_counters_counter"><code>GET /helix_versioning_engine/v[api]/counters/[counter]</code></a></p>
- </li>
- <li>
- <p><a href="#put_helix_versioning_engine_vX_counters_counter"><code>PUT /helix_versioning_engine/v[api]/counters/[counter]</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_counters_counter"><code>POST /helix_versioning_engine/v[api]/counters/[counter]/increment</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_counters_counter"><code>DELETE /helix_versioning_engine/v[api]/counters/[counter]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Depots</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_depots"><code>GET /helix_versioning_engine/v[api]/depots</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_depots"><code>POST /helix_versioning_engine/v[api]/depots</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_depots_depot"><code>GET /helix_versioning_engine/v[api]/depots/[depot]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_depots_depot"><code>PATCH /helix_versioning_engine/v[api]/depots/[depot]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_depots_depot"><code>DELETE /helix_versioning_engine/v[api]/depots/[depot]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Files</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_files"><code>GET /helix_versioning_engine/v[api]/files/[path]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_files"><code>PATCH /helix_versioning_engine/v[api]/files/[path]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_files"><code>DELETE /helix_versioning_engine/v[api]/files/[path]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Groups</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_groups"><code>GET /helix_versioning_engine/v[api]/groups</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_groups"><code>POST /helix_versioning_engine/v[api]/groups</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_groups_group"><code>GET /helix_versioning_engine/v[api]/groups/[group]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_groups_group"><code>PATCH /helix_versioning_engine/v[api]/groups/[group]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_groups_group"><code>DELETE /helix_versioning_engine/v[api]/groups/[group]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Jobs</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_jobs"><code>GET /helix_versioning_engine/v[api]/jobs</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_jobs"><code>POST /helix_versioning_engine/v[api]/jobs</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_jobs_job"><code>GET /helix_versioning_engine/v[api]/jobs/[job]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_jobs_job"><code>PATCH /helix_versioning_engine/v[api]/jobs/[job]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_jobs_job"><code>DELETE /helix_versioning_engine/v[api]/jobs/[job]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Labels</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_labels"><code>GET /helix_versioning_engine/v[api]/labels</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_labels"><code>POST /helix_versioning_engine/v[api]/labels</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_labels_label"><code>GET /helix_versioning_engine/v[api]/labels/[label]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_labels_label"><code>PATCH /helix_versioning_engine/v[api]/labels/[label]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_labels_label"><code>DELETE /helix_versioning_engine/v[api]/labels/[label]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Login</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_login"><code>POST /helix_versioning_engine/v[api]/login</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Protections</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_protections"><code>GET /helix_versioning_engine/v[api]/protections</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_protections"><code>POST /helix_versioning_engine/v[api]/protections</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Servers</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_servers"><code>GET /helix_versioning_engine/v[api]/servers</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_servers"><code>POST /helix_versioning_engine/v[api]/servers</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_servers_server"><code>GET /helix_versioning_engine/v[api]/servers/[server]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_servers_server"><code>PATCH /helix_versioning_engine/v[api]/servers/[server]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_servers_server"><code>DELETE /helix_versioning_engine/v[api]/servers/[server]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Streams</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_streams"><code>GET /helix_versioning_engine/v[api]/streams</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_streams"><code>POST /helix_versioning_engine/v[api]/streams</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_streams_stream"><code>GET /helix_versioning_engine/v[api]/streams/[stream]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_streams_stream"><code>PATCH /helix_versioning_engine/v[api]/streams/[stream]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_streams_stream"><code>DELETE /helix_versioning_engine/v[api]/streams/[stream]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Triggers</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_triggers"><code>GET /helix_versioning_engine/v[api]/triggers</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_triggers"><code>POST /helix_versioning_engine/v[api]/triggers</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Users</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_users"><code>GET /helix_versioning_engine/v[api]/users</code></a></p>
- </li>
- <li>
- <p><a href="#post_helix_versioning_engine_vX_users"><code>POST /helix_versioning_engine/v[api]/users</code></a></p>
- </li>
- <li>
- <p><a href="#get_helix_versioning_engine_vX_users_user"><code>GET /helix_versioning_engine/v[api]/users/[user]</code></a></p>
- </li>
- <li>
- <p><a href="#patch_helix_versioning_engine_vX_users_user"><code>PATCH /helix_versioning_engine/v[api]/users/[user]</code></a></p>
- </li>
- <li>
- <p><a href="#delete_helix_versioning_engine_vX_users_user"><code>DELETE /helix_versioning_engine/v[api]/users/[user]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="paragraph">
- <p>Project Services</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="#get_projects_v1"><code>GET /projects/v1</code></a></p>
- </li>
- <li>
- <p><a href="#get_projects_v1_project"><code>GET /projects/v1/[project]</code></a></p>
- </li>
- </ul>
- </div>
- <div class="sect2">
- <h3 id="_authentication_methods"><a class="link" href="#_authentication_methods">Authentication Methods</a></h3>
- <div class="sect3">
- <h4 id="post_auth_v1_login"><a class="link" href="#post_auth_v1_login"><code>POST /auth/v1/login</code></a></h4>
- <div class="paragraph">
- <p>Generates the Perforce login token for the server.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers"><a class="link" href="#_request_headers">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code>, <code>text/plain</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json"><a class="link" href="#_request_body_json">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object with the following keys</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine login</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>password</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The password for the particular user</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers"><a class="link" href="#_response_headers">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code>, <code>text/plain</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body"><a class="link" href="#_response_body">Response Body</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>Upon success, when <code>Content-Type</code> is <code>text/plain</code>, the response body is simply the P4 ticket value.</p>
- </div>
- <div class="literalblock">
- <div class="content">
- <pre>16A76F005802E742E834163A22A4DED4</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>When <code>Content-Type</code> is <code>application/json</code>, the response is a JSON object.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "ticket": "16A76F005802E742E834163A22A4DED4"
- }</code></pre>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_configuration_of_available_services"><a class="link" href="#_configuration_of_available_services">Configuration of Available Services</a></h3>
- <div class="sect3">
- <h4 id="get_config_v1_services"><a class="link" href="#get_config_v1_services"><code>GET /config/v1/services</code></a></h4>
- <div class="paragraph">
- <p>Return the list of available Helix services.
- Each service represents an application-level subsystem in your Helix installation.</p>
- </div>
- <div class="paragraph">
- <p>Returns the service configuration JSON as defined in <a href="#appendix_config_services">Appendix D: Service Configuration JSON</a>.
- See the appendix for details on the JSON format.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_2"><a class="link" href="#_request_headers_2">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_2"><a class="link" href="#_response_headers_2">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json"><a class="link" href="#_response_body_json">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>Returns the service configuration JSON as defined in <a href="#appendix_config_services">Appendix D: Service Configuration JSON</a>.
- See the appendix for details on the JSON format.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "type": "p4d",
- "uri": "p4://perforce.mycompany.com.1666"
- },
- {
- "type": "git-fusion",
- "uri": "ssh://git-fusion.mycompany.com"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_git_fusion_repositories"><a class="link" href="#_git_fusion_repositories">Git Fusion Repositories</a></h3>
- <div class="sect3">
- <h4 id="get_git_fusion_v1_repos"><a class="link" href="#get_git_fusion_v1_repos"><code>GET /git_fusion/v1/repos</code></a></h4>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- Not implemented
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Return the list of repositories readable by the current user.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_3"><a class="link" href="#_request_headers_3">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_3"><a class="link" href="#_response_headers_3">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_2"><a class="link" href="#_response_body_json_2">Response Body JSON</a></h5>
- <div class="admonitionblock tip">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Tip</div>
- </td>
- <td class="content">
- This is likely a JSON conversion of the Python config format.
- </td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_git_fusion_v1_repos"><a class="link" href="#post_git_fusion_v1_repos"><code>POST /git_fusion/v1/repos</code></a></h4>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- Not implemented
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Create a new repository configuration.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_4"><a class="link" href="#_request_headers_4">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_json_body"><a class="link" href="#_request_json_body">Request JSON Body</a></h5>
- <div class="admonitionblock tip">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Tip</div>
- </td>
- <td class="content">
- This is likely a JSON conversion of the Python config format.
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_4"><a class="link" href="#_response_headers_4">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_git_fusion_v1_repos_repo"><a class="link" href="#get_git_fusion_v1_repos_repo"><code>GET /git_fusion/v1/repos/[repo]</code></a></h4>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- Not implemented
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Return the list of repositories readable by the current user.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters"><a class="link" href="#_request_url_path_parameters">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>repo</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The repository name</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_5"><a class="link" href="#_request_headers_5">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_5"><a class="link" href="#_response_headers_5">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_3"><a class="link" href="#_response_body_json_3">Response Body JSON</a></h5>
- <div class="admonitionblock tip">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Tip</div>
- </td>
- <td class="content">
- This is likely a JSON conversion of the Python config format.
- </td>
- </tr>
- </table>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="put_git_fusion_v1_repos_repo"><a class="link" href="#put_git_fusion_v1_repos_repo"><code>PUT /git_fusion/v1/repos/[repo]</code></a></h4>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- Not implemented
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Replce the repository configuration.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_2"><a class="link" href="#_request_url_path_parameters_2">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>repo</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The repository name</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_6"><a class="link" href="#_request_headers_6">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_json_body_2"><a class="link" href="#_request_json_body_2">Request JSON Body</a></h5>
- <div class="admonitionblock tip">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Tip</div>
- </td>
- <td class="content">
- This is likely a JSON conversion of the Python config format.
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_6"><a class="link" href="#_response_headers_6">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_git_fusion_v1_repos_repo"><a class="link" href="#patch_git_fusion_v1_repos_repo"><code>PATCH /git_fusion/v1/repos_repo</code></a></h4>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- Not implemented
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Update values in the repository configuration.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_3"><a class="link" href="#_request_url_path_parameters_3">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>repo</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The repository name</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_7"><a class="link" href="#_request_headers_7">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_json_body_3"><a class="link" href="#_request_json_body_3">Request JSON Body</a></h5>
- <div class="admonitionblock tip">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Tip</div>
- </td>
- <td class="content">
- This is likely a JSON conversion of the Python config format.
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_7"><a class="link" href="#_response_headers_7">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect3">
- <h4 id="delete_git_fusion_v1_repos_repo"><a class="link" href="#delete_git_fusion_v1_repos_repo"><code>DELETE /git_fusion/v1/repos_repo</code></a></h4>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- Not implemented
- </td>
- </tr>
- </table>
- </div>
- <div class="paragraph">
- <p>Delete the repository configuration.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_4"><a class="link" href="#_request_url_path_parameters_4">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>repo</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The repository name</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_8"><a class="link" href="#_request_headers_8">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_json_body_4"><a class="link" href="#_request_json_body_4">Request JSON Body</a></h5>
- <div class="admonitionblock tip">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Tip</div>
- </td>
- <td class="content">
- This is likely a JSON conversion of the Python config format.
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_8"><a class="link" href="#_response_headers_8">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>SubmitShelf(project, change ID)</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_sync_changes"><a class="link" href="#_helix_sync_changes">Helix Sync Changes</a></h3>
- <div class="paragraph">
- <p>Many operations for Helix Sync are related to manipulating changelists in order to share state across devices.</p>
- </div>
- <div class="sect3">
- <h4 id="get_helix_sync_v1_changes_project"><a class="link" href="#get_helix_sync_v1_changes_project"><code>GET /helix_sync/v1/changes/[project]</code></a></h4>
- <div class="paragraph">
- <p>Return the latest change number available for a project.</p>
- </div>
- <div class="paragraph">
- <p>This method can have multiple implementations.</p>
- </div>
- <div class="paragraph">
- <p>To use a "Helix Versioning Engine Project" as defined in <a href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a>, you will need to ensure the <code>HVE_PROJECT_PATH</code> is set.
- This can be set on a request, or on the system as a whole.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_5"><a class="link" href="#_request_url_path_parameters_5">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>project</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The project ID, see <a href="#appendix_project_json">Appendix A: Project JSON</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_9"><a class="link" href="#_request_headers_9">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_9"><a class="link" href="#_response_headers_9">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_4"><a class="link" href="#_response_body_json_4">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>The response of this method is a single JSON object with a single property, called <code>change</code>, which indicates the latest changelist number.</p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_sync_v1_changes_project"><a class="link" href="#post_helix_sync_v1_changes_project"><code>POST /helix_sync/v1/changes/[project]</code></a></h4>
- <div class="paragraph">
- <p>Request to create a changelist for the user and [project] to be used as a shared shelf amongst devices.
- This is a no-op if no such changelist currently exists, and the existing change will be returned.</p>
- </div>
- <div class="paragraph">
- <p>This method can have multiple implementations.</p>
- </div>
- <div class="paragraph">
- <p>To use a "Helix Versioning Engine Project" as defined in <a href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a>, you will need to ensure the <code>HVE_PROJECT_PATH</code> is set.
- This can be set on a request, or on the system as a whole.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_6"><a class="link" href="#_request_url_path_parameters_6">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>project</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The project ID, see <a href="#appendix_project_json">Appendix A: Project JSON</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_10"><a class="link" href="#_request_headers_10">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_10"><a class="link" href="#_response_headers_10">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_5"><a class="link" href="#_response_body_json_5">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>The response of this method is a single JSON object with a single property, called <code>change</code>, which indicates the latest changelist number.</p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_sync_v1_changes_project_pending"><a class="link" href="#get_helix_sync_v1_changes_project_pending"><code>GET /helix_sync/v1/changes/[project]/pending</code></a></h4>
- <div class="paragraph">
- <p>Returns the pending changelist to be used as the primary shelf for this project for the authenticated user.
- If such a changelist does not exist, you can use <a href="#post_helix_sync_v1_changes_project"><code>POST /helix_sync/v1/changes/[project]</code></a> to create one.
- Will return a 404 (not found) if such a changelist does not exist.</p>
- </div>
- <div class="paragraph">
- <p>This method can have multiple implementations.</p>
- </div>
- <div class="paragraph">
- <p>To use a "Helix Versioning Engine Project" as defined in <a href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a>, you will need to ensure the <code>HVE_PROJECT_PATH</code> is set.
- This can be set on a request, or on the system as a whole.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_7"><a class="link" href="#_request_url_path_parameters_7">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>project</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The project ID, see <a href="#appendix_project_json">Appendix A: Project JSON</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_11"><a class="link" href="#_request_headers_11">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_11"><a class="link" href="#_response_headers_11">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_6"><a class="link" href="#_response_body_json_6">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>The response of this method is a single JSON object with a single property, called <code>change</code>, which indicates the latest changelist number.</p>
- </div>
- <div class="paragraph">
- <p>In the case no change exists, there will be no response body, and a 404 response code will be returned instead.</p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_sync_v1_changes_project_pending"><a class="link" href="#post_helix_sync_v1_changes_project_pending"><code>POST /helix_sync/v1/changes/[project]/pending</code></a></h4>
- <div class="paragraph">
- <p>Requests to submit the particular pending changelist for the project.
- It’s assumed that what you want to submit has been shelved, and no open files remain on your local clients.</p>
- </div>
- <div class="paragraph">
- <p>There is no response body when this method succeeds, only in failure.</p>
- </div>
- <div class="paragraph">
- <p>This method can have multiple implementations.</p>
- </div>
- <div class="paragraph">
- <p>To use a "Helix Versioning Engine Project" as defined in <a href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a>, you will need to ensure the <code>HVE_PROJECT_PATH</code> is set.
- This can be set on a request, or on the system as a whole.
- This implementation only runs a submit -e on the pending changelist.
- No resolution is currently performed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_8"><a class="link" href="#_request_url_path_parameters_8">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>project</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The project ID, see <a href="#appendix_project_json">Appendix A: Project JSON</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_12"><a class="link" href="#_request_headers_12">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_12"><a class="link" href="#_response_headers_12">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_7"><a class="link" href="#_response_body_json_7">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_sync_clients"><a class="link" href="#_helix_sync_clients">Helix Sync Clients</a></h3>
- <div class="sect3">
- <h4 id="post_helix_sync_v1_clients"><a class="link" href="#post_helix_sync_v1_clients"><code>POST /helix_sync/v1/clients</code></a></h4>
- <div class="paragraph">
- <p>Creates a new client workspace for use by helix sync.</p>
- </div>
- <div class="paragraph">
- <p>This method can have multiple implementations.</p>
- </div>
- <div class="paragraph">
- <p>To use a "Helix Versioning Engine Project" as defined in <a href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a>, you will need to ensure the <code>HVE_PROJECT_PATH</code> is set.
- This can be set on a request, or on the system as a whole.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_13"><a class="link" href="#_request_headers_13">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_2"><a class="link" href="#_request_body_json_2">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Requires a JSON object with the following parameters:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>project</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The project ID, see <a href="#appendix_project_json">Appendix A: Project JSON</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>device</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A unique ID for the device in use.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>root</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The directory path on the user’s machine to use.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_13"><a class="link" href="#_response_headers_13">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_8"><a class="link" href="#_response_body_json_8">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>Returns a JSON object with a <code>client</code> property, indicating the client name to use.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_branches"><a class="link" href="#_helix_versioning_engine_branches">Helix Versioning Engine Branches</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_branches"><a class="link" href="#get_helix_versioning_engine_vX_branches"><code>GET /helix_versioning_engine/v[api]/branches</code></a></h4>
- <div class="paragraph">
- <p>Lists available branches in the system.
- The resources of this list are summaries of branches in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_9"><a class="link" href="#_request_url_path_parameters_9">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_14"><a class="link" href="#_request_headers_14">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_14"><a class="link" href="#_response_headers_14">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_9"><a class="link" href="#_response_body_json_9">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_branches.html"><code>p4 -ztag branches</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_branches.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "branch": "manually",
- "Update": "1437153920",
- "Access": "1437153920",
- "Owner": "jdoe",
- "Options": "unlocked",
- "Description": "Created by jdoe.\n"
- },
- {
- "branch": "new_branch_CEUXQMYN",
- "Update": "1437164204",
- "Access": "1437164204",
- "Owner": "",
- "Options": "unlocked",
- "Description": "Something for the kids\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client"><a class="link" href="#_ruby_client">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#branches-instance_method"><code>HelixWebServicesClient#branches</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_branches"><a class="link" href="#post_helix_versioning_engine_vX_branches"><code>POST /helix_versioning_engine/v[api]/branches</code></a></h4>
- <div class="paragraph">
- <p>Creates a new branch specification, like the <code>p4 branch</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_10"><a class="link" href="#_request_url_path_parameters_10">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_15"><a class="link" href="#_request_headers_15">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_3"><a class="link" href="#_request_body_json_3">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_branch.html">p4 branch</a> command.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Branch": "my-project-main",
- "Description": "Branch my project from main to dev.\n",
- "View": ["//depot/main/my-project/... //depot/dev/my-project/..."]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_15"><a class="link" href="#_response_headers_15">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_2"><a class="link" href="#_ruby_client_2">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_branch-instance_method"><code>HelixWebServicesClient#create_branch</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_branches_branch"><a class="link" href="#get_helix_versioning_engine_vX_branches_branch"><code>GET /helix_versioning_engine/v[api]/branches/[branch]</code></a></h4>
- <div class="paragraph">
- <p>Return branch details, similar to the <code>p4 branch -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_11"><a class="link" href="#_request_url_path_parameters_11">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">branch</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The branch name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_16"><a class="link" href="#_request_headers_16">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_16"><a class="link" href="#_response_headers_16">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data"><a class="link" href="#_response_data">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_branch.html"><code>p4 -ztag branch [branch name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response"><a class="link" href="#_example_json_response">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Branch": "my-project-main",
- "Update": "2015/07/22 11:34:14",
- "Access": "2015/07/22 11:34:14",
- "Description": "Branch my project from main to dev.\n",
- "Options": "unlocked",
- "View": [
- "//depot/main/my-project/... //depot/dev/my-project/..."
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_3"><a class="link" href="#_ruby_client_3">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#branch-instance_method"><code>HelixWebServicesClient#branch</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_branches_branch"><a class="link" href="#patch_helix_versioning_engine_vX_branches_branch"><code>PATCH /helix_versioning_engine/v[api]/branches/[branch]</code></a></h4>
- <div class="paragraph">
- <p>Update branch specifications, similar to the <code>p4 branch</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_12"><a class="link" href="#_request_url_path_parameters_12">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">branch</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the branch</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_17"><a class="link" href="#_request_headers_17">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_4"><a class="link" href="#_request_body_json_4">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_branch.html"><code>p4 -ztag branch [branch name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_17"><a class="link" href="#_response_headers_17">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body"><a class="link" href="#_example_json_request_body">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "The updated my-project-main description.\n",
- "Owner": "saustin"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_4"><a class="link" href="#_ruby_client_4">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_branch-instance_method"><code>HelixWebServicesClient#update_branch</code></a></p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">client.update_branch({
- "Branch" => 'my_branch_id',
- "Description" => "The updated my-project-main description.\n",
- "Owner" => "saustin"
- })</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_branches_branch"><a class="link" href="#delete_helix_versioning_engine_vX_branches_branch"><code>DELETE /helix_versioning_engine/v[api]/branches/[branch]</code></a></h5>
- <div class="paragraph">
- <p>Removes the branch specification, similar to the <code>p4 branch -d</code> command.</p>
- </div>
- <div class="sect5">
- <h6 id="_request_url_path_parameters_13"><a class="link" href="#_request_url_path_parameters_13">Request URL Path Parameters</a></h6>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">branch</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the branch</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_18"><a class="link" href="#_request_headers_18">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_18"><a class="link" href="#_response_headers_18">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_5"><a class="link" href="#_ruby_client_5">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_branch-instance_method"><code>HelixWebServicesClient#delete_branch</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_changes"><a class="link" href="#_helix_versioning_engine_changes">Helix Versioning Engine Changes</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_changes"><a class="link" href="#get_helix_versioning_engine_vX_changes"><code>GET /helix_versioning_engine/v[api]/changes</code></a></h4>
- <div class="paragraph">
- <p>List changelist summaries, with some common filtering options.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_14"><a class="link" href="#_request_url_path_parameters_14">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_uri_query_parameters"><a class="link" href="#_request_uri_query_parameters">Request URI Query Parameters</a></h5>
- <div class="paragraph">
- <p>The following parameters are all optional.</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Key</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>max</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Limits the number of results returned
- See the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html">changes -m</a> option.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>status</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Only return results with the indicated status.
- See the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html">changes -s</a> option.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Only return changes owned by this particular user.
- See the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html">changes -u</a> option.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>files</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Limit changes to the depot path expressions.
- See the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html">changes</a> command description.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_19"><a class="link" href="#_request_headers_19">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_19"><a class="link" href="#_response_headers_19">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_10"><a class="link" href="#_response_body_json_10">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_changes.html"><code>p4 -ztag changes</code></a> command.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "change": "20",
- "time": "1437589210",
- "user": "jdoe",
- "client": "AUERUGBO",
- "status": "submitted",
- "changeType": "public",
- "path": "//depot/dev/Experimental/*",
- "desc": "Upload two experimental files\n"
- },
- {
- "change": "19",
- "time": "1437589209",
- "user": "jdoe",
- "client": "PRQSCBCT",
- "status": "submitted",
- "changeType": "public",
- "path": "//depot/test-UDQXTCFI/Experimental/*",
- "desc": "Edited files\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_6"><a class="link" href="#_ruby_client_6">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#changes-instance_method"><code>HelixWebServicesClient#changes</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="post_helix_versioning_engine_vX_changes"><a class="link" href="#post_helix_versioning_engine_vX_changes"><code>POST /helix_versioning_engine/v[api]/changes</code></a></h5>
- <div class="paragraph">
- <p>Create a new changelist that can affect multiple files using different kinds of actions.
- If you require the ability to integrate or move, for example, you can use this method.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_15"><a class="link" href="#_request_url_path_parameters_15">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_20"><a class="link" href="#_request_headers_20">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- <div class="sect5">
- <h6 id="_request_json_body_5"><a class="link" href="#_request_json_body_5">Request JSON Body</a></h6>
- <div class="paragraph">
- <p>The request should be a JSON object with the following properties:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 20%;">
- <col style="width: 20%;">
- <col style="width: 20%;">
- <col style="width: 20%;">
- <col style="width: 20%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- <th class="tableblock halign-left valign-top">Type</th>
- <th class="tableblock halign-left valign-top">Parameter Type</th>
- <th class="tableblock halign-left valign-top">Required</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Description</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Textual description of the change</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">body</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Files</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Array of file change actions to take (See below)</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">array</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">body</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>Each object in the <code>Files</code> array consists of the following properties:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- <th class="tableblock halign-left valign-top">Required</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DepotFile</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The depot path specifier for the action</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>FromDepotFile</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">When the Action is a branch or move, this indicates the source of the operation.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Action</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">One of <code>upload</code>, <code>branch</code>, or <code>move</code>.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">If the Action is upload, this is the base-64 encoded file content.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>RequireVersion</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">If the current version is not set at this version string, consider it an error.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>An example JSON request body would look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "My Test Change",
- "Files": [
- {
- "Action": "upload",
- "DepotFile": "//depot/example.txt",
- "Content": "SSBhbSBhIGxpdHRsZSB0ZWFwb3Q="
- }
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_20"><a class="link" href="#_response_headers_20">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_json"><a class="link" href="#_response_json">Response JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_7"><a class="link" href="#_ruby_client_7">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_change-instance_method"><code>HelixWebServicesClient#create_change</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_changes_change"><a class="link" href="#get_helix_versioning_engine_vX_changes_change"><code>GET /helix_versioning_engine/v[api]/changes/[change]</code></a></h4>
- <div class="paragraph">
- <p>Read details of a single changelist in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_16"><a class="link" href="#_request_url_path_parameters_16">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">change</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The changelist number.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_21"><a class="link" href="#_request_headers_21">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_21"><a class="link" href="#_response_headers_21">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_json_body"><a class="link" href="#_response_json_body">Response JSON Body</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_describe.html"><code>p4 -ztag describe</code></a> command.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response might look like this:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "change": "1",
- "user": "super",
- "client": "JGOJOUDY",
- "time": "1437581534",
- "desc": "A few basic adds\n",
- "status": "submitted",
- "changeType": "public",
- "path": "//depot/...",
- "depotFile": [
- "//depot/dev/Experimental/README",
- "//depot/main/My Project/README"
- ],
- "action": [
- "add",
- "add"
- ],
- "type": [
- "text",
- "text"
- ],
- "rev": [
- "1",
- "1"
- ],
- "fileSize": [
- "40",
- "34"
- ],
- "digest": [
- "5606AFCE00250FC14B2D932BAF5CE45B",
- "0FA2BDFCEACC2A445EFDF86BEB6D3F9F"
- ]
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_8"><a class="link" href="#_ruby_client_8">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#change-instance_method"><code>HelixWebServicesClient#change</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_changes_change"><a class="link" href="#post_helix_versioning_engine_vX_changes_change"><code>POST /helix_versioning_engine/v[api]/changes/[change]</code></a></h4>
- <div class="paragraph">
- <p>Submit shelved changes to the depot.
- Uses the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_describe.html"><code>p4 submit -e</code></a> command to perform the submit.</p>
- </div>
- <div class="paragraph">
- <p>This method will fail:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>If the changelist in question is not a pending changelist with a shelf.</p>
- </li>
- <li>
- <p>If any resolves are required.</p>
- </li>
- <li>
- <p>If any files are open on the pending changelist. You must revert all local changes before calling this method.</p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>If the changelist is based on a stream client, this will generate a temporary stream client as appropriate.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_17"><a class="link" href="#_request_url_path_parameters_17">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">change</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The changelist number.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_22"><a class="link" href="#_request_headers_22">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_22"><a class="link" href="#_response_headers_22">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_json_body_2"><a class="link" href="#_response_json_body_2">Response JSON Body</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_clients"><a class="link" href="#_helix_versioning_engine_clients">Helix Versioning Engine Clients</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_clients"><a class="link" href="#get_helix_versioning_engine_vX_clients"><code>GET /helix_versioning_engine/v[api]/clients</code></a></h4>
- <div class="paragraph">
- <p>Lists available clients in the system.
- The resources of this list are summaries of clients in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_18"><a class="link" href="#_request_url_path_parameters_18">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_23"><a class="link" href="#_request_headers_23">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_23"><a class="link" href="#_response_headers_23">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_11"><a class="link" href="#_response_body_json_11">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_clients.html"><code>p4 -ztag clients</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_clients.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "client": "test_EEDOGMCS",
- "Update": "1437169680",
- "Access": "1437169680",
- "Owner": "",
- "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir",
- "SubmitOptions": "submitunchanged",
- "LineEnd": "local",
- "Root": "/tmp/clients/test_EEDOGMCS",
- "Host": "",
- "Description": "Test EEDOGMCS\n"
- },
- {
- "client": "test_QBZEOHBJ",
- "Update": "1437169655",
- "Access": "1437169655",
- "Owner": "jdoe",
- "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir",
- "SubmitOptions": "submitunchanged",
- "LineEnd": "local",
- "Root": "/Users/tristan/dev/hws",
- "Host": "localhost",
- "Description": "Test QBZEOHBJ\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_9"><a class="link" href="#_ruby_client_9">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#clients-instance_method"><code>HelixWebServicesClient#clients</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_clients"><a class="link" href="#post_helix_versioning_engine_vX_clients"><code>POST /helix_versioning_engine/v[api]/clients</code></a></h4>
- <div class="paragraph">
- <p>Creates a new client specification, like the <code>p4 client</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_19"><a class="link" href="#_request_url_path_parameters_19">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_24"><a class="link" href="#_request_headers_24">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_5"><a class="link" href="#_request_body_json_5">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_client.html">p4 client</a> command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_24"><a class="link" href="#_response_headers_24">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_request_json"><a class="link" href="#_example_request_json">Example Request JSON</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Client": "my_project_main",
- "Host": "superawesome",
- "Root": "/home/jimbob/my_project_main",
- "Description": "My project client on superawesome.\n",
- "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir",
- "View": ["//depot/main/my-project/... //my_project_main/depot/main/my-project/..."]
- }</code></pre>
- </div>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_ruby_client_example"><a class="link" href="#_ruby_client_example">Ruby Client Example</a></h4>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">client.create_client({
- "Client" => "my_project_main",
- "Host" => "superawesome",
- "Root" => "/home/jimbob/my_project_main",
- "Description" => "My project client on superawesome.\n",
- "Options" => "noallwrite noclobber nocompress unlocked nomodtime normdir"
- "View" => ["//depot/main/my-project/... //my_project_main/depot/main/my-project/..."]
- })</code></pre>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_10"><a class="link" href="#_ruby_client_10">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_client-instance_method"><code>HelixWebServicesClient#create_client</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_clients_client"><a class="link" href="#get_helix_versioning_engine_vX_clients_client"><code>GET /helix_versioning_engine/v[api]/clients/[client]</code></a></h4>
- <div class="paragraph">
- <p>Return client details, similar to the <code>p4 client -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_20"><a class="link" href="#_request_url_path_parameters_20">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">client</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The client name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_25"><a class="link" href="#_request_headers_25">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_25"><a class="link" href="#_response_headers_25">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_2"><a class="link" href="#_response_data_2">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_client.html"><code>p4 -ztag client [client name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_2"><a class="link" href="#_example_json_response_2">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Client": "my_project_main",
- "Update": "2015/07/22 11:36:46",
- "Access": "2015/07/22 11:36:46",
- "Host": "superawesome",
- "Description": "My project client on superawesome.\n",
- "Root": "/home/user/my_project_main",
- "Options": "noallwrite noclobber nocompress unlocked nomodtime normdir",
- "SubmitOptions": "submitunchanged",
- "LineEnd": "local",
- "View": [
- "//depot/main/my-project/... //my_project_main/depot/main/my-project/..."
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_11"><a class="link" href="#_ruby_client_11">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#client-instance_method"><code>HelixWebServicesClient#client</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_clients_client"><a class="link" href="#patch_helix_versioning_engine_vX_clients_client"><code>PATCH /helix_versioning_engine/v[api]/clients/[client]</code></a></h4>
- <div class="paragraph">
- <p>Update client specifications, similar to the <code>p4 client</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_21"><a class="link" href="#_request_url_path_parameters_21">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">client</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The client name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_26"><a class="link" href="#_request_headers_26">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_6"><a class="link" href="#_request_body_json_6">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_client.html"><code>p4 -ztag client [client name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_26"><a class="link" href="#_response_headers_26">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body_2"><a class="link" href="#_example_json_request_body_2">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Options": "allwrite noclobber nocompress unlocked nomodtime rmdir"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_12"><a class="link" href="#_ruby_client_12">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_client-instance_method"><code>HelixWebServicesClient#update_client</code></a></p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">client.update_client({
- "Options" => "noallwrite noclobber nocompress unlocked nomodtime normdir"
- })</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_clients_client"><a class="link" href="#delete_helix_versioning_engine_vX_clients_client"><code>DELETE /helix_versioning_engine/v[api]/clients/[client]</code></a></h5>
- <div class="paragraph">
- <p>Removes the client specification, similar to the <code>p4 client -d</code> command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_22"><a class="link" href="#_request_url_path_parameters_22">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">client</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The client name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_27"><a class="link" href="#_request_headers_27">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_27"><a class="link" href="#_response_headers_27">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_13"><a class="link" href="#_ruby_client_13">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_client-instance_method"><code>HelixWebServicesClient#delete_client</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_commands"><a class="link" href="#_helix_versioning_engine_commands">Helix Versioning Engine Commands</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_commands_command"><a class="link" href="#get_helix_versioning_engine_vX_commands_command"><code>GET /helix_versioning_engine/v[api]/commands/[command]</code></a></h4>
- <div class="paragraph">
- <p>Execute a Perforce command that takes no input.</p>
- </div>
- <div class="paragraph">
- <p>This only allows commands that have been whitelisted on your system.
- See the <a href="#system_configuration">Configuration</a> section for details.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_23"><a class="link" href="#_request_url_path_parameters_23">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>command</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The command name, that should be whitelisted in the system configuration.
- See <a href="#system_configuration">Configuration</a>.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_28"><a class="link" href="#_request_headers_28">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_28"><a class="link" href="#_response_headers_28">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_12"><a class="link" href="#_response_body_json_12">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>Responses are typically an array, mapped from the <code>p4 -ztag</code> output of a command.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_14"><a class="link" href="#_ruby_client_14">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#command-instance_method"><code>HelixWebServicesClient#command</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_commands_command"><a class="link" href="#post_helix_versioning_engine_vX_commands_command"><code>POST /helix_versioning_engine/v[api]/commands/[command]</code></a></h4>
- <div class="paragraph">
- <p>Execute a Perforce command that accepts input, like a spec.</p>
- </div>
- <div class="paragraph">
- <p>This only allows commands that have been whitelisted on your system.
- See the <a href="#system_configuration">Configuration</a> section for details.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_24"><a class="link" href="#_request_url_path_parameters_24">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>command</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The command name, that should be whitelisted in the system configuration.
- See <a href="#system_configuration">Configuration</a>.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_29"><a class="link" href="#_request_headers_29">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_7"><a class="link" href="#_request_body_json_7">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>The request body is a JSON structure, which becomes converted to a Ruby hash.
- This hash is used as input via the <code>p4.input</code> class property of P4Ruby.
- See <a href="http://www.perforce.com/perforce/doc.current/manuals/p4script/ruby.p4.html#ruby.p4.input.eq"><code>P4.input</code></a> for more information.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_29"><a class="link" href="#_response_headers_29">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_13"><a class="link" href="#_response_body_json_13">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_15"><a class="link" href="#_ruby_client_15">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#command_with_input-instance_method"><code>HelixWebServicesClient#command_with_input</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_counters"><a class="link" href="#_helix_versioning_engine_counters">Helix Versioning Engine Counters</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_counters"><a class="link" href="#get_helix_versioning_engine_vX_counters"><code>GET /helix_versioning_engine/v[api]/counters</code></a></h4>
- <div class="paragraph">
- <p>Lists available counters in the system.
- The resources of this list are summaries of counters in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_25"><a class="link" href="#_request_url_path_parameters_25">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_30"><a class="link" href="#_request_headers_30">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_30"><a class="link" href="#_response_headers_30">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_14"><a class="link" href="#_response_body_json_14">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_counters.html"><code>p4 -ztag counters</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_counters.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "counter": "build",
- "value": "54809"
- },
- {
- "counter": "build_good",
- "value": "54670"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_16"><a class="link" href="#_ruby_client_16">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#counters-instance_method"><code>HelixWebServicesClient#counters</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_counters_counter"><a class="link" href="#get_helix_versioning_engine_vX_counters_counter"><code>GET /helix_versioning_engine/v[api]/counters/[counter]</code></a></h4>
- <div class="paragraph">
- <p>Return counter details, similar to the <code>p4 counter</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_26"><a class="link" href="#_request_url_path_parameters_26">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The counter name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_31"><a class="link" href="#_request_headers_31">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_31"><a class="link" href="#_response_headers_31">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_3"><a class="link" href="#_response_data_3">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_counter.html"><code>p4 -ztag counter [counter name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_3"><a class="link" href="#_example_json_response_3">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "counter": "build",
- "value": "54809"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_17"><a class="link" href="#_ruby_client_17">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#counter-instance_method"><code>HelixWebServicesClient#counter</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="put_helix_versioning_engine_vX_counters_counter"><a class="link" href="#put_helix_versioning_engine_vX_counters_counter"><code>PUT /helix_versioning_engine/v[api]/counters/[counter]</code></a></h4>
- <div class="paragraph">
- <p>Sets a counter, like the <code>p4 counter [counter] [value]</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_27"><a class="link" href="#_request_url_path_parameters_27">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The counter name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_32"><a class="link" href="#_request_headers_32">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_8"><a class="link" href="#_request_body_json_8">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>The request body is a JSON object with a <code>value</code> property.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "value": "123"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_32"><a class="link" href="#_response_headers_32">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_18"><a class="link" href="#_ruby_client_18">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#set_counter-instance_method"><code>HelixWebServicesClient#set_counter</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_counters_counter"><a class="link" href="#post_helix_versioning_engine_vX_counters_counter"><code>POST /helix_versioning_engine/v[api]/counters/[counter]/increment</code></a></h4>
- <div class="paragraph">
- <p>Increments a numerical counter, similar to the <code>p4 counter -i</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_28"><a class="link" href="#_request_url_path_parameters_28">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the counter</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_33"><a class="link" href="#_request_headers_33">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_33"><a class="link" href="#_response_headers_33">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_19"><a class="link" href="#_ruby_client_19">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#increment_counter-instance_method"><code>HelixWebServicesClient#increment_counter</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_counters_counter"><a class="link" href="#delete_helix_versioning_engine_vX_counters_counter"><code>DELETE /helix_versioning_engine/v[api]/counters/[counter]</code></a></h5>
- <div class="paragraph">
- <p>Removes the counter specification, similar to the <code>p4 counter -d</code> command.</p>
- </div>
- <div class="sect5">
- <h6 id="_request_url_path_parameters_29"><a class="link" href="#_request_url_path_parameters_29">Request URL Path Parameters</a></h6>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">counter</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the counter</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_34"><a class="link" href="#_request_headers_34">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_34"><a class="link" href="#_response_headers_34">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_20"><a class="link" href="#_ruby_client_20">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_counter-instance_method"><code>HelixWebServicesClient#delete_counter</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_depots"><a class="link" href="#_helix_versioning_engine_depots">Helix Versioning Engine Depots</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_depots"><a class="link" href="#get_helix_versioning_engine_vX_depots"><code>GET /helix_versioning_engine/v[api]/depots</code></a></h4>
- <div class="paragraph">
- <p>Lists available depots in the system.
- The resources of this list are summaries of depots in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_30"><a class="link" href="#_request_url_path_parameters_30">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_35"><a class="link" href="#_request_headers_35">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_35"><a class="link" href="#_response_headers_35">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_15"><a class="link" href="#_response_body_json_15">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depots.html"><code>p4 -ztag depots</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depots.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "name": "depot",
- "time": "1437690306",
- "type": "local",
- "map": "depot/...",
- "desc": "Default depot"
- },
- {
- "name": "stream-test",
- "time": "1437690307",
- "type": "stream",
- "map": "depot/...",
- "desc": "A test depot\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_21"><a class="link" href="#_ruby_client_21">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#depots-instance_method"><code>HelixWebServicesClient#depots</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_depots"><a class="link" href="#post_helix_versioning_engine_vX_depots"><code>POST /helix_versioning_engine/v[api]/depots</code></a></h4>
- <div class="paragraph">
- <p>Creates a new depot specification, like the <code>p4 depot</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_31"><a class="link" href="#_request_url_path_parameters_31">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_36"><a class="link" href="#_request_headers_36">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_9"><a class="link" href="#_request_body_json_9">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depot.html">p4 depot</a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Depot": "new_depot",
- "Description": "A new depot for stuff",
- "Type": "local",
- "Map": "new_depot/..."
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_36"><a class="link" href="#_response_headers_36">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_22"><a class="link" href="#_ruby_client_22">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_depot-instance_method"><code>HelixWebServicesClient#create_depot</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_depots_depot"><a class="link" href="#get_helix_versioning_engine_vX_depots_depot"><code>GET /helix_versioning_engine/v[api]/depots/[depot]</code></a></h4>
- <div class="paragraph">
- <p>Return depot details, similar to the <code>p4 depot -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_32"><a class="link" href="#_request_url_path_parameters_32">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">depot</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The depot name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_37"><a class="link" href="#_request_headers_37">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_37"><a class="link" href="#_response_headers_37">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_4"><a class="link" href="#_response_data_4">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depot.html"><code>p4 -ztag depot [depot name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_4"><a class="link" href="#_example_json_response_4">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Depot": "depot",
- "Date": "2015/07/23 15:25:06",
- "Description": "Default depot\n",
- "Type": "local",
- "Map": "depot/..."
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_23"><a class="link" href="#_ruby_client_23">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#depot-instance_method"><code>HelixWebServicesClient#depot</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_depots_depot"><a class="link" href="#patch_helix_versioning_engine_vX_depots_depot"><code>PATCH /helix_versioning_engine/v[api]/depots/[depot]</code></a></h4>
- <div class="paragraph">
- <p>Update depot specifications, similar to the <code>p4 depot</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_33"><a class="link" href="#_request_url_path_parameters_33">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">depot</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the depot</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_38"><a class="link" href="#_request_headers_38">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_10"><a class="link" href="#_request_body_json_10">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depot.html"><code>p4 -ztag depot [depot name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_38"><a class="link" href="#_response_headers_38">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body_3"><a class="link" href="#_example_json_request_body_3">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "The updated new-depot description.\n"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_24"><a class="link" href="#_ruby_client_24">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_depot-instance_method"><code>HelixWebServicesClient#update_depot</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_depots_depot"><a class="link" href="#delete_helix_versioning_engine_vX_depots_depot"><code>DELETE /helix_versioning_engine/v[api]/depots/[depot]</code></a></h5>
- <div class="paragraph">
- <p>Removes the depot specification, similar to the <code>p4 depot -d</code> command.</p>
- </div>
- <div class="sect5">
- <h6 id="_request_url_path_parameters_34"><a class="link" href="#_request_url_path_parameters_34">Request URL Path Parameters</a></h6>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">depot</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the depot</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_39"><a class="link" href="#_request_headers_39">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_39"><a class="link" href="#_response_headers_39">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_25"><a class="link" href="#_ruby_client_25">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_depot-instance_method"><code>HelixWebServicesClient#delete_depot</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_files"><a class="link" href="#_helix_versioning_engine_files">Helix Versioning Engine Files</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_files"><a class="link" href="#get_helix_versioning_engine_vX_files"><code>GET /helix_versioning_engine/v[api]/files/[path]</code></a></h4>
- <div class="paragraph">
- <p>Lists file information in the system.
- Responses are a combination of the output of three different common <code>p4</code> commands: <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depots.html"><code>p4 -ztag depots</code></a>, <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_dirs.html"><code>p4 -ztag dirs</code></a>, and <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_files.html"><code>p4 -ztag files</code></a>.
- We only list file information about the <em>latest</em> version of files.
- Files whose latest version is deleted, are not listed in the output.</p>
- </div>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- While you can retrieve the contents of files by specifying files instead of directories with the <code>path</code> parameter, understand this will very likely fail with large files.
- By default, the system is set up with a 60 second timeout, and large files will likely take longer than that to transfer.
- For file operations, especially for large files, you should consider using the P4API, and managing a local Helix Versioning Engine client workspace directly to the Helix Versioning Engine.
- Helix Web Services is intended for metadata-oriented operations.
- </td>
- </tr>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_35"><a class="link" href="#_request_url_path_parameters_35">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>path</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A path-like string to a depot or directory that contains other directories or files.
- Do not include wildcards.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_40"><a class="link" href="#_request_headers_40">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_40"><a class="link" href="#_response_headers_40">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_16"><a class="link" href="#_response_body_json_16">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>Responses are a combination of the output of three different common <code>p4</code> commands: <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_depots.html"><code>p4 -ztag depots</code></a>, <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_dirs.html"><code>p4 -ztag dirs</code></a>, and <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_files.html"><code>p4 -ztag files</code></a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "depotFile": "//depot/dev/Experimental/new_file_RQTWSTFB",
- "rev": "1",
- "change": "190",
- "action": "add",
- "type": "text",
- "time": "1438031186"
- },
- {
- "dir": "//depot/dev/Experimental/subdir"
- }
- ]</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>If you don’t include a path, you’ll end up with a list of depots, which looks like this:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "name": "depot",
- "time": "1437690306",
- "type": "local",
- "map": "depot/...",
- "desc": "Default depot"
- },
- {
- "name": "stream-test",
- "time": "1437690307",
- "type": "stream",
- "map": "depot/...",
- "desc": "A test depot\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_26"><a class="link" href="#_ruby_client_26">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#files-instance_method"><code>HelixWebServicesClient#files</code></a></p>
- </div>
- <div class="paragraph">
- <p>Recall that this method will return an <code>OpenModel</code>, that can assist in matching the different fields:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">results = client.files
- results.concat(client.files('//depot/dir')
-
- names = results.map(&:name_or_dir_or_depot_file)
- .map{ |x| x.split('/').last }</code></pre>
- </div>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_files"><a class="link" href="#patch_helix_versioning_engine_vX_files"><code>PATCH /helix_versioning_engine/v[api]/files/[path]</code></a></h4>
- <div class="paragraph">
- <p>Provides a means for uploading content to a particular file or directory.
- This is a simplification of the <a href="#post_helix_versioning_engine_vX_changes"><code>POST /helix_versioning_engine/v[api]/changes</code></a> method, where action is always <code>upload</code> on all files.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_36"><a class="link" href="#_request_url_path_parameters_36">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>path</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A path-like string to a depot or directory that contains other directories or files.
- Do not include wildcards.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_41"><a class="link" href="#_request_headers_41">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_json_body_6"><a class="link" href="#_request_json_body_6">Request JSON Body</a></h5>
- <div class="paragraph">
- <p>The Request JSON is an object with the following top-level parameters:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Description</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A text field describing the new file changes</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Files</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">For multiple files, this is an array of objects, each containing the same <code>DepotFile</code> and <code>Content</code> data you would use as if this were a single file upload.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>DepotFile</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">If this is a single file upload, this is the file path, relative to the <code>path</code> parameter in the URL.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">If this is a single file upload, this is the base64-encoded content</p></td>
- </tr>
- </tbody>
- </table>
- <div class="paragraph">
- <p>For example, here is a request uploading a single file with no URL <code>path</code> parameter in the request:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "DepotFile": "depot/dir/complete/path",
- "Content": "SSdtIGEgbGl0dGxlIHRlYXBvdAo="
- }</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>And here’a request uploading two files, expecting the <code>path</code> parameter in the request URL to be set to <code>depot/dir/complete</code>:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Files": [
- {
- "DepotFile": "README",
- "Content": "SSdtIGEgbGl0dGxlIHRlYXBvdAo="
- },
- {
- "DepotFile": "test.txt",
- "Content": "SSdtIGEgbGl0dGxlIHRlYXBvdAo="
- }
- ]
- }</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Both of the above requests would upload files to the same directory location.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_41"><a class="link" href="#_response_headers_41">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_json_body_3"><a class="link" href="#_response_json_body_3">Response JSON Body</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_27"><a class="link" href="#_ruby_client_27">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#upload_files-instance_method"><code>HelixWebServicesClient#upload_files</code></a>, or <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#upload_file-instance_method"><code>HelixWebServicesClient#upload_file</code></a>.</p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="delete_helix_versioning_engine_vX_files"><a class="link" href="#delete_helix_versioning_engine_vX_files"><code>DELETE /helix_versioning_engine/v[api]/files/[path]</code></a></h4>
- <div class="paragraph">
- <p>Deletes a file if it exists in the system.
- This will mark the 'head' revision of the file as deleted.
- For more information, see the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_delete.html"><code>p4 delete</code></a> command reference.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_37"><a class="link" href="#_request_url_path_parameters_37">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>path</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A path-like string to a depot or directory that contains other directories or files.
- Do not include wildcards.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_42"><a class="link" href="#_request_headers_42">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_42"><a class="link" href="#_response_headers_42">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_json_body_4"><a class="link" href="#_response_json_body_4">Response JSON Body</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_28"><a class="link" href="#_ruby_client_28">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_file-instance_method"><code>HelixWebServicesClient#delete_file</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_groups"><a class="link" href="#_helix_versioning_engine_groups">Helix Versioning Engine Groups</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_groups"><a class="link" href="#get_helix_versioning_engine_vX_groups"><code>GET /helix_versioning_engine/v[api]/groups</code></a></h4>
- <div class="paragraph">
- <p>Lists available groups in the system.
- The resources of this list are summaries of groups in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_38"><a class="link" href="#_request_url_path_parameters_38">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_43"><a class="link" href="#_request_headers_43">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_43"><a class="link" href="#_response_headers_43">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_17"><a class="link" href="#_response_body_json_17">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_groups.html"><code>p4 -ztag groups</code></a> command.
- The output of this command is quite a bit different from typical listing queries.</p>
- </div>
- <div class="paragraph">
- <p>For example, here’s a listing that includes one group with two users:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "user": "mmustermann",
- "group": "test_MUFFUMMY",
- "isSubGroup": "0",
- "isOwner": "0",
- "isUser": "1",
- "maxResults": "0",
- "maxScanRows": "0",
- "maxLockTime": "0",
- "timeout": "43200",
- "passTimeout": "0"
- },
- {
- "user": "super",
- "group": "test_MUFFUMMY",
- "isSubGroup": "0",
- "isOwner": "0",
- "isUser": "1",
- "maxResults": "0",
- "maxScanRows": "0",
- "maxLockTime": "0",
- "timeout": "43200",
- "passTimeout": "0"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_29"><a class="link" href="#_ruby_client_29">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#groups-instance_method"><code>HelixWebServicesClient#groups</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_groups"><a class="link" href="#post_helix_versioning_engine_vX_groups"><code>POST /helix_versioning_engine/v[api]/groups</code></a></h4>
- <div class="paragraph">
- <p>Creates a new group specification, like the <code>p4 group</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_39"><a class="link" href="#_request_url_path_parameters_39">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_44"><a class="link" href="#_request_headers_44">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_11"><a class="link" href="#_request_body_json_11">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_group.html">p4 group</a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Group": "new_group_id",
- "Users": ["jdoe", "mmustermann"]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_44"><a class="link" href="#_response_headers_44">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_30"><a class="link" href="#_ruby_client_30">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_group-instance_method"><code>HelixWebServicesClient#create_group</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_groups_group"><a class="link" href="#get_helix_versioning_engine_vX_groups_group"><code>GET /helix_versioning_engine/v[api]/groups/[group]</code></a></h4>
- <div class="paragraph">
- <p>Return group details, similar to the <code>p4 group -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_40"><a class="link" href="#_request_url_path_parameters_40">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">group</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The group name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_45"><a class="link" href="#_request_headers_45">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_45"><a class="link" href="#_response_headers_45">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_5"><a class="link" href="#_response_data_5">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_group.html"><code>p4 -ztag group [group name</a></code>] command.
- For more information, see the command reference.</p>
- </div>
- <div class="paragraph">
- <p>Please note that the way 'unset' is described in this output is different from the listing data.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Group": "test_MUFFUMMY",
- "MaxResults": "unset",
- "MaxScanRows": "unset",
- "MaxLockTime": "unset",
- "Timeout": "43200",
- "PasswordTimeout": "unset",
- "Users": [
- "mmustermann",
- "super"
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_31"><a class="link" href="#_ruby_client_31">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#group-instance_method"><code>HelixWebServicesClient#group</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_groups_group"><a class="link" href="#patch_helix_versioning_engine_vX_groups_group"><code>PATCH /helix_versioning_engine/v[api]/groups/[group]</code></a></h4>
- <div class="paragraph">
- <p>Update group specifications, similar to the <code>p4 group</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_41"><a class="link" href="#_request_url_path_parameters_41">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">group</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the group</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_46"><a class="link" href="#_request_headers_46">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_46"><a class="link" href="#_response_headers_46">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_12"><a class="link" href="#_request_body_json_12">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_group.html"><code>p4 -ztag group [group name</a></code>] command.</p>
- </div>
- <div class="paragraph">
- <p>An example updating the list of users:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Users": ["jdoe", "mmustermann", "saustin"]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_32"><a class="link" href="#_ruby_client_32">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_group-instance_method"><code>HelixWebServicesClient#update_group</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_groups_group"><a class="link" href="#delete_helix_versioning_engine_vX_groups_group"><code>DELETE /helix_versioning_engine/v[api]/groups/[group]</code></a></h5>
- <div class="paragraph">
- <p>Removes the group specification, similar to the <code>p4 group -d</code> command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_42"><a class="link" href="#_request_url_path_parameters_42">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">group</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the group</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_47"><a class="link" href="#_request_headers_47">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_47"><a class="link" href="#_response_headers_47">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_33"><a class="link" href="#_ruby_client_33">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_group-instance_method"><code>HelixWebServicesClient#delete_group</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_jobs"><a class="link" href="#_helix_versioning_engine_jobs">Helix Versioning Engine Jobs</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_jobs"><a class="link" href="#get_helix_versioning_engine_vX_jobs"><code>GET /helix_versioning_engine/v[api]/jobs</code></a></h4>
- <div class="paragraph">
- <p>Lists available jobs in the system.
- The resources of this list are summaries of jobs in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_43"><a class="link" href="#_request_url_path_parameters_43">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_48"><a class="link" href="#_request_headers_48">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_48"><a class="link" href="#_response_headers_48">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_18"><a class="link" href="#_response_body_json_18">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_jobs.html"><code>p4 -ztag jobs</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_jobs.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "Job": "job000001",
- "Status": "open",
- "User": "jdoe",
- "Date": "2015/07/28 13:18:20",
- "Description": "Test Job UVUCBXOS\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_34"><a class="link" href="#_ruby_client_34">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#jobs-instance_method"><code>HelixWebServicesClient#jobs</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_jobs"><a class="link" href="#post_helix_versioning_engine_vX_jobs"><code>POST /helix_versioning_engine/v[api]/jobs</code></a></h4>
- <div class="paragraph">
- <p>Creates a new job specification, like the <code>p4 job</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_44"><a class="link" href="#_request_url_path_parameters_44">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_49"><a class="link" href="#_request_headers_49">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_13"><a class="link" href="#_request_body_json_13">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_job.html">p4 job</a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Job": "new",
- "Description": "A new job for stuff",
- "Status": "open"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_49"><a class="link" href="#_response_headers_49">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_35"><a class="link" href="#_ruby_client_35">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_job-instance_method"><code>HelixWebServicesClient#create_job</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_jobs_job"><a class="link" href="#get_helix_versioning_engine_vX_jobs_job"><code>GET /helix_versioning_engine/v[api]/jobs/[job]</code></a></h4>
- <div class="paragraph">
- <p>Return job details, similar to the <code>p4 job -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_45"><a class="link" href="#_request_url_path_parameters_45">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">job</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The job name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_50"><a class="link" href="#_request_headers_50">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_50"><a class="link" href="#_response_headers_50">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_6"><a class="link" href="#_response_data_6">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_job.html"><code>p4 -ztag job [job name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_5"><a class="link" href="#_example_json_response_5">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Job": "job000001",
- "Status": "open",
- "User": "jdoe",
- "Date": "2015/07/28 13:18:20",
- "Description": "Test Job UVUCBXOS\n"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_36"><a class="link" href="#_ruby_client_36">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#job-instance_method"><code>HelixWebServicesClient#job</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_jobs_job"><a class="link" href="#patch_helix_versioning_engine_vX_jobs_job"><code>PATCH /helix_versioning_engine/v[api]/jobs/[job]</code></a></h4>
- <div class="paragraph">
- <p>Update job specifications, similar to the <code>p4 job</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_46"><a class="link" href="#_request_url_path_parameters_46">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">job</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the job</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_51"><a class="link" href="#_request_headers_51">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_14"><a class="link" href="#_request_body_json_14">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_job.html"><code>p4 -ztag job [job name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_51"><a class="link" href="#_response_headers_51">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body_4"><a class="link" href="#_example_json_request_body_4">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "The updated job description.\n"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_37"><a class="link" href="#_ruby_client_37">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_job-instance_method"><code>HelixWebServicesClient#update_job</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_jobs_job"><a class="link" href="#delete_helix_versioning_engine_vX_jobs_job"><code>DELETE /helix_versioning_engine/v[api]/jobs/[job]</code></a></h5>
- <div class="paragraph">
- <p>Removes the job specification, similar to the <code>p4 job -d</code> command.</p>
- </div>
- <div class="sect5">
- <h6 id="_request_url_path_parameters_47"><a class="link" href="#_request_url_path_parameters_47">Request URL Path Parameters</a></h6>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">job</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the job</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_52"><a class="link" href="#_request_headers_52">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_52"><a class="link" href="#_response_headers_52">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_38"><a class="link" href="#_ruby_client_38">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_job-instance_method"><code>HelixWebServicesClient#delete_job</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_labels"><a class="link" href="#_helix_versioning_engine_labels">Helix Versioning Engine Labels</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_labels"><a class="link" href="#get_helix_versioning_engine_vX_labels"><code>GET /helix_versioning_engine/v[api]/labels</code></a></h4>
- <div class="paragraph">
- <p>Lists available labels in the system.
- The resources of this list are summaries of labels in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_48"><a class="link" href="#_request_url_path_parameters_48">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_53"><a class="link" href="#_request_headers_53">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_53"><a class="link" href="#_response_headers_53">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_19"><a class="link" href="#_response_body_json_19">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_labels.html"><code>p4 -ztag labels</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_labels.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "label": "test-label",
- "Update": "1438120994",
- "Access": "1438120994",
- "Owner": "",
- "Options": "unlocked noautoreload",
- "Description": "The label for testing\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_39"><a class="link" href="#_ruby_client_39">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#labels-instance_method"><code>HelixWebServicesClient#labels</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_labels"><a class="link" href="#post_helix_versioning_engine_vX_labels"><code>POST /helix_versioning_engine/v[api]/labels</code></a></h4>
- <div class="paragraph">
- <p>Creates a new label specification, like the <code>p4 label</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_49"><a class="link" href="#_request_url_path_parameters_49">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_54"><a class="link" href="#_request_headers_54">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_15"><a class="link" href="#_request_body_json_15">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_label.html">p4 label</a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Label": "new_label",
- "Description": "A new label for stuff",
- "View": ["//depot/..."]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_54"><a class="link" href="#_response_headers_54">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_40"><a class="link" href="#_ruby_client_40">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_label-instance_method"><code>HelixWebServicesClient#create_label</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_labels_label"><a class="link" href="#get_helix_versioning_engine_vX_labels_label"><code>GET /helix_versioning_engine/v[api]/labels/[label]</code></a></h4>
- <div class="paragraph">
- <p>Return label details, similar to the <code>p4 label -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_50"><a class="link" href="#_request_url_path_parameters_50">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>label</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The label name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_55"><a class="link" href="#_request_headers_55">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_55"><a class="link" href="#_response_headers_55">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_7"><a class="link" href="#_response_data_7">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_label.html"><code>p4 -ztag label [label name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_6"><a class="link" href="#_example_json_response_6">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Label": "test-label",
- "Update": "2015/07/28 15:03:14",
- "Access": "2015/07/28 15:03:14",
- "Description": "The label for testing\n",
- "Options": "unlocked noautoreload",
- "View": [
- "//depot/..."
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_41"><a class="link" href="#_ruby_client_41">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#label-instance_method"><code>HelixWebServicesClient#label</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_labels_label"><a class="link" href="#patch_helix_versioning_engine_vX_labels_label"><code>PATCH /helix_versioning_engine/v[api]/labels/[label]</code></a></h4>
- <div class="paragraph">
- <p>Update label specifications, similar to the <code>p4 label</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_51"><a class="link" href="#_request_url_path_parameters_51">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>label</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the label</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_56"><a class="link" href="#_request_headers_56">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_16"><a class="link" href="#_request_body_json_16">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_label.html"><code>p4 -ztag label [label name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_56"><a class="link" href="#_response_headers_56">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body_5"><a class="link" href="#_example_json_request_body_5">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "The updated new-label description.\n"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_42"><a class="link" href="#_ruby_client_42">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_label-instance_method"><code>HelixWebServicesClient#update_label</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_labels_label"><a class="link" href="#delete_helix_versioning_engine_vX_labels_label"><code>DELETE /helix_versioning_engine/v[api]/labels/[label]</code></a></h5>
- <div class="paragraph">
- <p>Removes the label specification, similar to the <code>p4 label -d</code> command.</p>
- </div>
- <div class="sect5">
- <h6 id="_request_url_path_parameters_52"><a class="link" href="#_request_url_path_parameters_52">Request URL Path Parameters</a></h6>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>label</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the label</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_57"><a class="link" href="#_request_headers_57">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_57"><a class="link" href="#_response_headers_57">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_43"><a class="link" href="#_ruby_client_43">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_label-instance_method"><code>HelixWebServicesClient#delete_label</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_login"><a class="link" href="#_helix_versioning_engine_login">Helix Versioning Engine Login</a></h3>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_login"><a class="link" href="#post_helix_versioning_engine_vX_login"><code>POST /helix_versioning_engine/v[api]/login</code></a></h4>
- <div class="paragraph">
- <p>Generates a host-unlocked Perforce login token for the server.</p>
- </div>
- <div class="paragraph">
- <p>This is useful in cases where the authentication source is not the same as the p4d instance you operate most operations as.
- If you happen to have the same authentication source, you can always run this; you’ll pretty much just get the same ticket.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_58"><a class="link" href="#_request_headers_58">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code>, <code>text/plain</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_17"><a class="link" href="#_request_body_json_17">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object with the following keys</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>user</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine login</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>password</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The password for the particular user</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_58"><a class="link" href="#_response_headers_58">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_2"><a class="link" href="#_response_body_2">Response Body</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>Example response:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "ticket": "16A76F005802E742E834163A22A4DED4"
- }</code></pre>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_protections"><a class="link" href="#_helix_versioning_engine_protections">Helix Versioning Engine Protections</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_protections"><a class="link" href="#get_helix_versioning_engine_vX_protections"><code>GET /helix_versioning_engine/v[api]/protections</code></a></h4>
- <div class="paragraph">
- <p>Lists available protections in the system.
- The resources of this list are summaries of protections in the system.</p>
- </div>
- <div class="paragraph">
- <p>This method likely requires superuser access.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_53"><a class="link" href="#_request_url_path_parameters_53">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_59"><a class="link" href="#_request_headers_59">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_59"><a class="link" href="#_response_headers_59">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_20"><a class="link" href="#_response_body_json_20">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_protect.html"><code>p4 -ztag protect -o</code></a> command.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Protections": [
- "write user * * //...",
- "super user super * //..."
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_44"><a class="link" href="#_ruby_client_44">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#protections-instance_method"><code>HelixWebServicesClient#protections</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_protections"><a class="link" href="#post_helix_versioning_engine_vX_protections"><code>POST /helix_versioning_engine/v[api]/protections</code></a></h4>
- <div class="paragraph">
- <p>Update the protections table.</p>
- </div>
- <div class="paragraph">
- <p>This method likely requires superuser access.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_54"><a class="link" href="#_request_url_path_parameters_54">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_60"><a class="link" href="#_request_headers_60">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_18"><a class="link" href="#_request_body_json_18">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_protect.html"><code>p4 protect</code></a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Protections": [
- "write user * * //...",
- "super user super * //...",
- "super user jdoe * //..."
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_60"><a class="link" href="#_response_headers_60">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_45"><a class="link" href="#_ruby_client_45">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_label-instance_method"><code>HelixWebServicesClient#create_label</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_servers"><a class="link" href="#_helix_versioning_engine_servers">Helix Versioning Engine Servers</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_servers"><a class="link" href="#get_helix_versioning_engine_vX_servers"><code>GET /helix_versioning_engine/v[api]/servers</code></a></h4>
- <div class="paragraph">
- <p>Lists available servers in the system.
- The resources of this list are summaries of servers in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_55"><a class="link" href="#_request_url_path_parameters_55">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_61"><a class="link" href="#_request_headers_61">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_61"><a class="link" href="#_response_headers_61">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_21"><a class="link" href="#_response_body_json_21">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_servers.html"><code>p4 -ztag servers</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_servers.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "ServerID": "master-1666",
- "Name": "master-1666",
- "Address": "",
- "Type": "server",
- "Services": "commit-server",
- "Description": "Created by su-superuser.\n"
- },
- {
- "ServerID": "buildfarm",
- "Name": "buildfarm",
- "Address": "",
- "Type": "server",
- "Services": "db-read,db-replication,bound-clients,file-replication",
- "Description": "Created by su-superuser.\n"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_46"><a class="link" href="#_ruby_client_46">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#servers-instance_method"><code>HelixWebServicesClient#servers</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_servers"><a class="link" href="#post_helix_versioning_engine_vX_servers"><code>POST /helix_versioning_engine/v[api]/servers</code></a></h4>
- <div class="paragraph">
- <p>Creates a new server specification, like the <code>p4 server</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_56"><a class="link" href="#_request_url_path_parameters_56">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_62"><a class="link" href="#_request_headers_62">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_19"><a class="link" href="#_request_body_json_19">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_server.html">p4 server</a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "ServerID": "new_server",
- "Description": "A new server for stuff",
- "Type": "server",
- "Services": "standard"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_62"><a class="link" href="#_response_headers_62">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_47"><a class="link" href="#_ruby_client_47">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_server-instance_method"><code>HelixWebServicesClient#create_server</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_servers_server"><a class="link" href="#get_helix_versioning_engine_vX_servers_server"><code>GET /helix_versioning_engine/v[api]/servers/[server]</code></a></h4>
- <div class="paragraph">
- <p>Return server details, similar to the <code>p4 server -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_57"><a class="link" href="#_request_url_path_parameters_57">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The server name.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_63"><a class="link" href="#_request_headers_63">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_63"><a class="link" href="#_response_headers_63">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_8"><a class="link" href="#_response_data_8">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_server.html"><code>p4 -ztag server [server name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_7"><a class="link" href="#_example_json_response_7">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "ServerID": "master-1666",
- "Type": "server",
- "Name": "master-1666",
- "Services": "commit-server",
- "Description": "Created by su-jsmith.\n"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_48"><a class="link" href="#_ruby_client_48">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#server-instance_method"><code>HelixWebServicesClient#server</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_servers_server"><a class="link" href="#patch_helix_versioning_engine_vX_servers_server"><code>PATCH /helix_versioning_engine/v[api]/servers/[server]</code></a></h4>
- <div class="paragraph">
- <p>Update server specifications, similar to the <code>p4 server</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_58"><a class="link" href="#_request_url_path_parameters_58">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the server</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_64"><a class="link" href="#_request_headers_64">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_20"><a class="link" href="#_request_body_json_20">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_server.html"><code>p4 -ztag server [server name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_64"><a class="link" href="#_response_headers_64">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body_6"><a class="link" href="#_example_json_request_body_6">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "The updated new-server description.\n"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_49"><a class="link" href="#_ruby_client_49">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_server-instance_method"><code>HelixWebServicesClient#update_server</code></a></p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_servers_server"><a class="link" href="#delete_helix_versioning_engine_vX_servers_server"><code>DELETE /helix_versioning_engine/v[api]/servers/[server]</code></a></h5>
- <div class="paragraph">
- <p>Removes the server specification, similar to the <code>p4 server -d</code> command.</p>
- </div>
- <div class="sect5">
- <h6 id="_request_url_path_parameters_59"><a class="link" href="#_request_url_path_parameters_59">Request URL Path Parameters</a></h6>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">server</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The name of the server</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_65"><a class="link" href="#_request_headers_65">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_65"><a class="link" href="#_response_headers_65">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_50"><a class="link" href="#_ruby_client_50">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_server-instance_method"><code>HelixWebServicesClient#delete_server</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_streams"><a class="link" href="#_helix_versioning_engine_streams">Helix Versioning Engine Streams</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_streams"><a class="link" href="#get_helix_versioning_engine_vX_streams"><code>GET /helix_versioning_engine/v[api]/streams</code></a></h4>
- <div class="paragraph">
- <p>Lists available streams in the system.
- The resources of this list are summaries of streams in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_60"><a class="link" href="#_request_url_path_parameters_60">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_66"><a class="link" href="#_request_headers_66">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_66"><a class="link" href="#_response_headers_66">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_22"><a class="link" href="#_response_body_json_22">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_streams.html"><code>p4 -ztag streams</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_streams.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "Stream": "//stream-test/main-TKOMGMSZ",
- "Update": "1437761647",
- "Access": "1437761647",
- "Owner": "jdoe",
- "Name": "main-TKOMGMSZ",
- "Parent": "none",
- "Type": "mainline",
- "desc": "Test stream main-TKOMGMSZ\n",
- "Options": "allsubmit unlocked notoparent nofromparent",
- "firmerThanParent": "n/a",
- "changeFlowsToParent": "false",
- "changeFlowsFromParent": "false",
- "baseParent": "none"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_51"><a class="link" href="#_ruby_client_51">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#streams-instance_method"><code>HelixWebServicesClient#streams</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_streams"><a class="link" href="#post_helix_versioning_engine_vX_streams"><code>POST /helix_versioning_engine/v[api]/streams</code></a></h4>
- <div class="paragraph">
- <p>Creates a new stream specification, like the <code>p4 stream</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_61"><a class="link" href="#_request_url_path_parameters_61">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_67"><a class="link" href="#_request_headers_67">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_21"><a class="link" href="#_request_body_json_21">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_stream.html">p4 stream</a> command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_67"><a class="link" href="#_response_headers_67">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_request_json_2"><a class="link" href="#_example_request_json_2">Example Request JSON</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Stream": "//my-stream-depot/main",
- "Name": "my-stream-depot main",
- "Description": "Mainline of MyStream",
- "Type": "mainline",
- "Parent": "none",
- "Paths": ["share ..."],
- "Owner": "jdoe"
- }</code></pre>
- </div>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_ruby_client_example_2"><a class="link" href="#_ruby_client_example_2">Ruby Client Example</a></h4>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">client.create_stream({
- 'Stream' => '//my-stream-depot/main',
- 'Name' => 'my-stream-depot main',
- 'Description' => "Mainline of MyStream",
- 'Type' => 'mainline',
- 'Parent' => 'none',
- 'Paths' => ['share ...'],
- 'Owner' => 'jdoe'
- })</code></pre>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_52"><a class="link" href="#_ruby_client_52">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_stream-instance_method"><code>HelixWebServicesClient#create_stream</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_streams_stream"><a class="link" href="#get_helix_versioning_engine_vX_streams_stream"><code>GET /helix_versioning_engine/v[api]/streams/[stream]</code></a></h4>
- <div class="paragraph">
- <p>Return stream details, similar to the <code>p4 stream -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_62"><a class="link" href="#_request_url_path_parameters_62">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">stream</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The stream path-like identifier, without the leading <code>//</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_68"><a class="link" href="#_request_headers_68">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_68"><a class="link" href="#_response_headers_68">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_9"><a class="link" href="#_response_data_9">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_stream.html"><code>p4 -ztag stream [stream name</a></code>] command.
- For more information, see the command reference.
- The main difference between the details and list view is the inclusion of the View field.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_example_json_response_8"><a class="link" href="#_example_json_response_8">Example JSON Response</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Stream": "//stream-test/main-TKOMGMSZ",
- "Update": "2015/07/24 11:14:07",
- "Access": "2015/07/24 11:14:07",
- "Owner": "jdoe",
- "Name": "main-TKOMGMSZ",
- "Parent": "none",
- "Type": "mainline",
- "Description": "Test stream main-TKOMGMSZ\n",
- "Options": "allsubmit unlocked notoparent nofromparent",
- "Paths": [
- "share ..."
- ],
- "firmerThanParent": "n/a",
- "baseParent": "none"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_53"><a class="link" href="#_ruby_client_53">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#stream-instance_method"><code>HelixWebServicesClient#stream</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_streams_stream"><a class="link" href="#patch_helix_versioning_engine_vX_streams_stream"><code>PATCH /helix_versioning_engine/v[api]/streams/[stream]</code></a></h4>
- <div class="paragraph">
- <p>Update stream specifications, similar to the <code>p4 stream</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_63"><a class="link" href="#_request_url_path_parameters_63">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">stream</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The stream path-like identifier, without the leading <code>//</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_69"><a class="link" href="#_request_headers_69">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_22"><a class="link" href="#_request_body_json_22">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_stream.html"><code>p4 -ztag stream [stream name</a></code>] command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_69"><a class="link" href="#_response_headers_69">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_example_json_request_body_7"><a class="link" href="#_example_json_request_body_7">Example JSON Request Body</a></h5>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Description": "The updated my-project-main description.\n",
- "Owner": "saustin"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_54"><a class="link" href="#_ruby_client_54">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_stream-instance_method"><code>HelixWebServicesClient#update_stream</code></a></p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">client.update_stream({
- "Stream" => 'my_stream_id',
- "Description" => "The updated my-project-main description.\n",
- "Owner" => "saustin"
- })</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_streams_stream"><a class="link" href="#delete_helix_versioning_engine_vX_streams_stream"><code>DELETE /helix_versioning_engine/v[api]/streams/[stream]</code></a></h5>
- <div class="paragraph">
- <p>Removes the stream specification, similar to the <code>p4 stream -d</code> command.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_64"><a class="link" href="#_request_url_path_parameters_64">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">stream</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The stream path-like identifier, without the leading <code>//</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_70"><a class="link" href="#_request_headers_70">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_70"><a class="link" href="#_response_headers_70">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_55"><a class="link" href="#_ruby_client_55">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_stream-instance_method"><code>HelixWebServicesClient#delete_stream</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_triggers"><a class="link" href="#_helix_versioning_engine_triggers">Helix Versioning Engine Triggers</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_triggers"><a class="link" href="#get_helix_versioning_engine_vX_triggers"><code>GET /helix_versioning_engine/v[api]/triggers</code></a></h4>
- <div class="paragraph">
- <p>Lists available triggers in the system.
- The resources of this list are summaries of triggers in the system.</p>
- </div>
- <div class="paragraph">
- <p>This method likely requires superuser access.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_65"><a class="link" href="#_request_url_path_parameters_65">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_71"><a class="link" href="#_request_headers_71">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_71"><a class="link" href="#_response_headers_71">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_23"><a class="link" href="#_response_body_json_23">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_triggers.html"><code>p4 -ztag triggers -o</code></a> command.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Triggers": [
- "cscheck change-submit //depot/... \"cmd %changelist%\""
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_56"><a class="link" href="#_ruby_client_56">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#triggers-instance_method"><code>HelixWebServicesClient#triggers</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_triggers"><a class="link" href="#post_helix_versioning_engine_vX_triggers"><code>POST /helix_versioning_engine/v[api]/triggers</code></a></h4>
- <div class="paragraph">
- <p>Update the triggers table.</p>
- </div>
- <div class="paragraph">
- <p>This method likely requires superuser access.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_66"><a class="link" href="#_request_url_path_parameters_66">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_72"><a class="link" href="#_request_headers_72">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_23"><a class="link" href="#_request_body_json_23">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_triggers.html"><code>p4 triggers</code></a> command.</p>
- </div>
- <div class="paragraph">
- <p>For example:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Triggers": [
- "cscheck change-submit //depot/... \"cmd %changelist%\""
- ]
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_72"><a class="link" href="#_response_headers_72">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_57"><a class="link" href="#_ruby_client_57">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_triggers-instance_method"><code>HelixWebServicesClient#update_triggers</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_helix_versioning_engine_users"><a class="link" href="#_helix_versioning_engine_users">Helix Versioning Engine Users</a></h3>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_users"><a class="link" href="#get_helix_versioning_engine_vX_users"><code>GET /helix_versioning_engine/v[api]/users</code></a></h4>
- <div class="paragraph">
- <p>Lists available users in the system.
- The resources of this list are summaries of users in the system.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_67"><a class="link" href="#_request_url_path_parameters_67">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_73"><a class="link" href="#_request_headers_73">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_73"><a class="link" href="#_response_headers_73">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_24"><a class="link" href="#_response_body_json_24">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>The values of this method are based on the result of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_users.html"><code>p4 -ztag users</code></a> command.
- For more field information refer to the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_users.html">command reference</a>.</p>
- </div>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>An example response body might look like:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "User": "jdoe",
- "Update": "1437690307",
- "Access": "1438019139",
- "FullName": "John Doe",
- "Email": "jdoe@example.com",
- "Type": "standard",
- "Password": "enabled"
- },
- {
- "User": "mmustermann",
- "Update": "1437690307",
- "Access": "1437690307",
- "FullName": "Max Mustermann",
- "Email": "max_mower_CTODZMDQ@example.com",
- "Type": "standard",
- "Password": "enabled"
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_58"><a class="link" href="#_ruby_client_58">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#users-instance_method"><code>HelixWebServicesClient#users</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="post_helix_versioning_engine_vX_users"><a class="link" href="#post_helix_versioning_engine_vX_users"><code>POST /helix_versioning_engine/v[api]/users</code></a></h4>
- <div class="paragraph">
- <p>Creates a new user specification, like the <code>p4 user</code> command.</p>
- </div>
- <div class="paragraph">
- <p>There are no other parameters to this method.</p>
- </div>
- <div class="paragraph">
- <p>Your server permissions may vary, but this command generally requires super user access.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_68"><a class="link" href="#_request_url_path_parameters_68">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_74"><a class="link" href="#_request_headers_74">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_24"><a class="link" href="#_request_body_json_24">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>Properties of the JSON object are the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_user.html">p4 user</a> command.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "User": "new_user",
- "FullName": "New User",
- "Email": "new_user@example.com"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_74"><a class="link" href="#_response_headers_74">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_sdk_usage"><a class="link" href="#_ruby_client_sdk_usage">Ruby Client SDK Usage</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#create_user-instance_method"><code>HelixWebServicesClient#create_user</code></a></p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">user.create_user({
- "User" => "new_user",
- "FullName" => "New User",
- "Email" => "new_user@example.com"
- })</code></pre>
- </div>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_helix_versioning_engine_vX_users_user"><a class="link" href="#get_helix_versioning_engine_vX_users_user"><code>GET /helix_versioning_engine/v[api]/users/[user]</code></a></h4>
- <div class="paragraph">
- <p>Return user details, similar to the <code>p4 user -o</code> command.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_69"><a class="link" href="#_request_url_path_parameters_69">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">user</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The <code>User</code> property of the user specification (i.e., the login string).</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_75"><a class="link" href="#_request_headers_75">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_75"><a class="link" href="#_response_headers_75">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_data_10"><a class="link" href="#_response_data_10">Response Data</a></h5>
- <div class="paragraph">
- <p>Returns the form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_user.html"><code>p4 -ztag user [user name</a></code>] command.</p>
- </div>
- <div class="paragraph">
- <p>Example JSON response:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "User": "jdoe",
- "Type": "standard",
- "Email": "jdoe@example.com",
- "Update": "2015/07/23 15:25:07",
- "Access": "2015/07/27 10:53:14",
- "FullName": "John Doe",
- "AuthMethod": "perforce",
- "passwordChange": "2015/07/23 15:25:07"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_59"><a class="link" href="#_ruby_client_59">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#user_details-instance_method"><code>HelixWebServicesClient#user_details</code></a></p>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="patch_helix_versioning_engine_vX_users_user"><a class="link" href="#patch_helix_versioning_engine_vX_users_user"><code>PATCH /helix_versioning_engine/v[api]/users/[user]</code></a></h4>
- <div class="paragraph">
- <p>Update user specifications, similar to the <code>p4 user</code> command.
- Only the specified parameters in the body will be changed.</p>
- </div>
- <div class="paragraph">
- <p>Your server permissions may vary, but this command generally requires super user access to operate on a different user than the authenticated account.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_70"><a class="link" href="#_request_url_path_parameters_70">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">user</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The <code>User</code> property of the user specification (i.e., the login string).</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_76"><a class="link" href="#_request_headers_76">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_body_json_25"><a class="link" href="#_request_body_json_25">Request Body JSON</a></h5>
- <div class="paragraph">
- <p>A single JSON object containing form fields of the <a href="http://www.perforce.com/perforce/doc.current/manuals/cmdref/p4_user.html"><code>p4 -ztag user [user name</a></code>] command.</p>
- </div>
- <div class="paragraph">
- <p>For example, to update the user email:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">{
- "Email": "new_email@example.com"
- }</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_76"><a class="link" href="#_response_headers_76">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_60"><a class="link" href="#_ruby_client_60">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#update_user-instance_method"><code>HelixWebServicesClient#update_user</code></a></p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">user.update_user({
- "Email" => "new_email@example.com"
- })</code></pre>
- </div>
- </div>
- </div>
- <div class="sect4">
- <h5 id="delete_helix_versioning_engine_vX_users_user"><a class="link" href="#delete_helix_versioning_engine_vX_users_user"><code>DELETE /helix_versioning_engine/v[api]/users/[user]</code></a></h5>
- <div class="paragraph">
- <p>Removes the user specification, similar to the <code>p4 user -d</code> command.</p>
- </div>
- <div class="paragraph">
- <p>Your server permissions may vary, but this command generally requires super user access.</p>
- </div>
- </div>
- <div class="sect4">
- <h5 id="_request_url_path_parameters_71"><a class="link" href="#_request_url_path_parameters_71">Request URL Path Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>api</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The Helix Versioning Engine API level.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">user</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The <code>User</code> property of the user specification (i.e., the login string).</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_77"><a class="link" href="#_request_headers_77">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Authorization</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#authentication">Authentication</a></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_77"><a class="link" href="#_response_headers_77">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_ruby_client_61"><a class="link" href="#_ruby_client_61">Ruby Client</a></h5>
- <div class="paragraph">
- <p>See <a href="./helix_web_services_client_ruby/HelixWebServicesClient.html#delete_user-instance_method"><code>HelixWebServicesClient#delete_user</code></a></p>
- </div>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_project_methods"><a class="link" href="#_project_methods">Project Methods</a></h3>
- <div class="paragraph">
- <p>These methods provide project JSON defined in <a href="#appendix_project_json">Appendix A: Project JSON</a>.</p>
- </div>
- <div class="paragraph">
- <p>If you are extending Helix Web Services to include your project type, see <a href="#project_extensions">Adding Project Extensions</a>.</p>
- </div>
- <div class="sect3">
- <h4 id="get_projects_v1"><a class="link" href="#get_projects_v1"><code>GET /projects/v1</code></a></h4>
- <div class="paragraph">
- <p>Returns an array of projects accessible to the user.</p>
- </div>
- <div class="paragraph">
- <p>There are two modes available here: details and ID-only.
- When details mode is specified, the return value is an array of complete project JSON objects.
- ID-only mode returns an array of project IDs only.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_uri_query_parameters_2"><a class="link" href="#_request_uri_query_parameters_2">Request URI Query Parameters</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Parameter Key</th>
- <th class="tableblock halign-left valign-top">Description</th>
- <th class="tableblock halign-left valign-top">Default</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>mode</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>details</code> or <code>id</code>.
- If <code>details</code>, you receive entire project JSON.
- Otherwise, the output should be an array of strings.</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>id</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>extension</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Only return projects with the indicated extension type.
- See the extension ID referenced in <a href="#appendix_project_json">Appendix A: Project JSON</a>.
- When empty, will return all projects.</p></td>
- <td class="tableblock halign-left valign-top"></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_78"><a class="link" href="#_request_headers_78">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_78"><a class="link" href="#_response_headers_78">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_json_25"><a class="link" href="#_response_body_json_25">Response Body JSON</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>Returns an array of either project IDs, which will be strings, or project JSON.
- See <a href="#appendix_project_json">Appendix A: Project JSON</a> for project JSON details.</p>
- </div>
- <div class="paragraph">
- <p>Example return of project IDs:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- "alpha",
- "beta",
- "gamma",
- "delta"
- ]</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Truncated example return of project JSON:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-json" data-lang="json">[
- {
- "id": "alpha",
- "name": "Project Alpha",
- ... truncated
- },
- {
- "id": "beta",
- "name": "Beta Project",
- ... truncated
- }
- ]</code></pre>
- </div>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="get_projects_v1_project"><a class="link" href="#get_projects_v1_project"><code>GET /projects/v1/[project]</code></a></h4>
- <div class="paragraph">
- <p>Returns project details for a particular project.</p>
- </div>
- <div class="sect4">
- <h5 id="_request_headers_79"><a class="link" href="#_request_headers_79">Request Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Accept</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>X-Perforce-Helix_Web_Services-*</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">See <a href="#per_request_configuration">Per-Request Configuration</a></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_headers_79"><a class="link" href="#_response_headers_79">Response Headers</a></h5>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Header Name</th>
- <th class="tableblock halign-left valign-top">Notes</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>Content-Type</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>application/json</code></p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect4">
- <h5 id="_response_body_3"><a class="link" href="#_response_body_3">Response Body</a></h5>
- <div class="paragraph">
- <p>See <a href="#error_responses">Error Conventions</a> for the format of failures.</p>
- </div>
- <div class="paragraph">
- <p>Returns the project JSON structure as defined in <a href="#appendix_project_json">Appendix A: Project JSON</a>.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_client_sdk_reference"><a class="link" href="#_client_sdk_reference">Client SDK Reference</a></h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>For Ruby applications, we produce a <code>helix_web_serivces_client</code> gem that can help adjusting to some of the data inconsistency of our core Helix Versioning Engine.</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="./helix_web_services_client_ruby/index.html">Open Ruby Client API</a></p>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_server_programming"><a class="link" href="#_server_programming">Server Programming</a></h2>
- <div class="sectionbody">
- <div class="sect2">
- <h3 id="_including_new_rack_middleware"><a class="link" href="#_including_new_rack_middleware">Including New Rack Middleware</a></h3>
- <div class="paragraph">
- <p>Additional methods can be added as part of the core Helix Web Services server.</p>
- </div>
- <div class="paragraph">
- <p>Adding new HTTP methods to the API should probably be done in a module specific to your extension, which forms a kind of namespace.
- By convention, we create a <code>MyModule::App</code> class that inherits from <code>Sinatra::Base</code>, to define the API to your module.
- Also, by convention, we prefix methods to your module with a simple string path, e.g., <code>my_module</code>.</p>
- </div>
- <div class="paragraph">
- <p>Say we want the ability to fetch "stuff" from your module.
- You would create a Sinatra modular app in a <code>my_module/app.rb</code> file:</p>
- </div>
- <div class="listingblock">
- <div class="title">my_module/app.rb</div>
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">module MyModule
- class App < Sinatra::Base
- get '/my_module/v1/stuff`
- # We use p4, so make sure you have a p4 connection available
- require_p4
-
- # If there's a problem, we'll actually handle exceptions for you
- results = env['p4'].run_print('-o', '//depot/stuff')
-
- # Right now, we only produce JSON.
- results.to_json
- end
- end
- end</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>Typically, you’d reference this in a <code>my_module.rb</code> file, which imports your App, and possibly defines helper methods in your namespace.</p>
- </div>
- <div class="listingblock">
- <div class="title">my_module.rb</div>
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">require 'my_module/app'
-
- module MyModule
- def helper_method
- # do something
- end
- end</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>The final step is to include your modular app in the top level <code>HelixWebServices</code> application.</p>
- </div>
- <div class="listingblock">
- <div class="title">helix_web_services.rb</div>
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby"># ... truncated other things
- require 'my_module'
-
- module HelixWebServices
- class Master < Sinatra::Base
- # ... lots of things are truncated
-
- register_app(MyModule::App)
- end
- end</code></pre>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="_registering_configuration_variables"><a class="link" href="#_registering_configuration_variables">Registering Configuration Variables</a></h3>
- <div class="paragraph">
- <p>If your application requires new configuration, you should:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>Declare your variables in <code>hws_settings.rb</code></p>
- </li>
- <li>
- <p>Document your variables in <code>doc/03_configuration.asc</code></p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>If you follow these steps, your configuration variables will be a part of the <code>env['hws_settings']</code> hashes available to each Sinatra method.</p>
- </div>
- </div>
- <div class="sect2">
- <h3 id="project_extensions"><a class="link" href="#project_extensions">Adding Project Extensions</a></h3>
- <div class="paragraph">
- <p>A project extension is a combination of JSON metadata and logic that can be used for product-specific integrations, or optional features.</p>
- </div>
- <div class="paragraph">
- <p>Creating a project extension involves the following tasks:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>Define the JSON extension, typically by documenting it</p>
- </li>
- <li>
- <p>Assign a simple extension ID and versioned MIME-style content type.</p>
- </li>
- <li>
- <p>Implement logic and assign to callbacks of the <a href="./helix_web_services/Projects/ProjectService.html">ProjectService</a> class</p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>Your extension should probably append handlers to the following methods:</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="./helix_web_services/Projects/ProjectService.html#append_to_list-class_method">Projects::ProjectService.append_to_list</a></p>
- </li>
- <li>
- <p><a href="./helix_web_services/Projects/ProjectService.html#fetch_project-class_method">Projects::ProjectService.fetch_project</a></p>
- </li>
- </ul>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_server_api_reference"><a class="link" href="#_server_api_reference">Server API Reference</a></h2>
- <div class="sectionbody">
- <div class="paragraph">
- <p>The Ruby-based server API reference should help you when generating custom services to be deployed into your own environment.</p>
- </div>
- <div class="ulist">
- <ul>
- <li>
- <p><a href="./helix_web_services/index.html">Open Server API</a></p>
- </li>
- </ul>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_development_guide"><a class="link" href="#_development_guide">Development Guide</a></h2>
- <div class="sectionbody">
- <div class="sect2">
- <h3 id="_basic_development_set_up"><a class="link" href="#_basic_development_set_up">Basic Development Set Up</a></h3>
- <div class="paragraph">
- <p>Helix Web Services runs on Unix-like machines only, typically Linux or OS X.
- If you want to use Windows, you will likely need to find an alternative for unicorn.
- Please understand that Windows is currently not tested or supported.</p>
- </div>
- <div class="paragraph">
- <p>Obtain a copy of the source code from the Perforce Workshop.
- You can preview the source at <a href="https://swarm.workshop.perforce.com/projects/perforce-software-helix-web-services" class="bare">https://swarm.workshop.perforce.com/projects/perforce-software-helix-web-services</a>.
- If you have an account, you can import the code from <code>//guest/perforce_software/helix-web-services/main/…​</code> into your workspace.</p>
- </div>
- <div class="paragraph">
- <p>From there you will need:</p>
- </div>
- <div class="olist arabic">
- <ol class="arabic">
- <li>
- <p>A recent version of Ruby, Ruby 2.2+ from <a href="https://rvm.io/">RVM</a> is recommended.</p>
- </li>
- <li>
- <p><a href="http://bundler.io/">Bundler</a>, typically installed via <code>gem install bundler</code>.</p>
- </li>
- </ol>
- </div>
- <div class="paragraph">
- <p>First, you’ll setup a p4d instance locally that’s been seeded with some test data.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>cd helix_web_services_client
- bundle install
- bundle exec p4util start
- bundle exec p4util init
- cd ..</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>(You can shut this server down with the command <code>bundle exec p4util kill</code> when you’re done.)</p>
- </div>
- <div class="paragraph">
- <p>Next, you’ll launch Helix Web Services running under Unicorn, via the Foreman command:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>cd helix_web_services
- bundle install
- WORKSPACE_DIR=/tmp/clients bundle exec foreman start</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>In case you need methods that generate temporary client workspaces, you’ll need the environment variable set.
- If you don’t set it, it will likely go to a default directory you do not</p>
- </div>
- <div class="paragraph">
- <p>This should launch the application in the foreground.
- Use <code>CTRL+C</code> to kill it.
- This mechanism does not automatically reload all changes.</p>
- </div>
- <div class="paragraph">
- <p>Helix Web Services is a fairly simple Sinatra Rack application.
- It’s entirely possible to launch it via a debugger under a different application server.
- This is typically done in IDEs such as RubyMine.
- Use the <code>config.ru</code> file in the <code>helix_web_services</code> directory and set the <code>WORKSPACE_DIR</code> environment variable.</p>
- </div>
- <div class="sect3">
- <h4 id="_using_the_hws_console_against_a_development_mode_server"><a class="link" href="#_using_the_hws_console_against_a_development_mode_server">Using the hws_console against a development mode server</a></h4>
- <div class="paragraph">
- <p>An <code>hws_console</code> application is available for local use, which can be useful for trying out a few commands.
- Launch it under bundler:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre>cd helix_web_services
- bundle exec ./bin/hws_console</pre>
- </div>
- </div>
- <div class="paragraph">
- <p>This will create a basic PRY interactive console.</p>
- </div>
- <div class="paragraph">
- <p>To create a client instance, you will typically run:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">c = HelixWebServicesClient.new(url: 'http://localhost:9000', user: 'jdoe', password: 'johndoe1A!')</code></pre>
- </div>
- </div>
- <div class="paragraph">
- <p>From there, <code>c</code> is a client instance, you can use to run commands.</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby"># Print the list of depot names as a string
- c.depots.map(&:name).join(", ")</code></pre>
- </div>
- </div>
- </div>
- <div class="sect3">
- <h4 id="_adding_custom_logic_to_your_hws_installation"><a class="link" href="#_adding_custom_logic_to_your_hws_installation">Adding custom logic to your HWS installation</a></h4>
- <div class="paragraph">
- <p>Some custom logic can be used to add or modify functionality of HWS.
- The <code>CUSTOM_SCRIPTS</code> property - see <a href="#system_configuration">Configuration</a> - points to a directory.
- If this directory exists, any ruby files will be required after most of the core application has been installed.
- This is a way to include <em>some</em> logic into the HWS system.</p>
- </div>
- <div class="paragraph">
- <p>Here’s an example custom Ruby script adding methods to HWS via a new Sinatra module:</p>
- </div>
- <div class="listingblock">
- <div class="content">
- <pre class="highlight"><code class="language-ruby" data-lang="ruby">require 'sinatra/base'
-
- class MyApp < Sinatra::Base
-
- get '/my_app' do
- {'custom': true}.to_json
- end
- end
-
- HelixWebServices::Master.register_app(MyApp)</code></pre>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="sect1">
- <h2 id="_appendices"><a class="link" href="#_appendices">Appendices</a></h2>
- <div class="sectionbody">
- <div class="sect2">
- <h3 id="appendix_project_json"><a class="link" href="#appendix_project_json">Appendix A: Project JSON</a></h3>
- <div class="paragraph">
- <p>Projects relate branches of revisions with other structures, like groups, to help create the foundation for general workflows.</p>
- </div>
- <div class="paragraph">
- <p>The content type of the project JSON is <code>application/vnd.perforce.project.v1+json</code>.
- You can specify the content type without the version string, e.g., <code>application/vnd.perforce.project+json</code>.
- This may be useful in cases where you can handle possibly different versions of JSON, say, for migration.</p>
- </div>
- <div class="sect3">
- <h4 id="_json_structure"><a class="link" href="#_json_structure">JSON structure</a></h4>
- <div class="paragraph">
- <p>A project document is a JSON object that contains the following properties.</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>id</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The <code>id</code> should be a unique string.
- It should be safe to put in as a single path element in a URI.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>name</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A string suitable for display of the project.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>server</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">A P4 URL that indicates how to connect to the p4d instance to retrieve the files of the project.
- For example, <code>p4://P4CHARSET=<a href="mailto:auto@perforce.myinstance.com">auto@perforce.myinstance.com</a>:1666</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Extension ID</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">No</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Each extension ID will map to a particular JSON object type defined for each extension.
- For example, there may be a property named <code>helixCloud</code> that maps to the JSON defined in <a href="#appendix_helix_cloud">Appendix C: Helix Cloud</a>.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect3">
- <h4 id="_project_extensions"><a class="link" href="#_project_extensions">Project Extensions</a></h4>
- <div class="paragraph">
- <p>Each project extension should have a simple string ID, e.g., <code>helixCloud</code>, <code>gitFusion</code>.</p>
- </div>
- <div class="paragraph">
- <p>Project extensions should always define a <code>contentType</code> property that is a versioned MIME content type.
- For example, <code>application/vnd.perforce.helixCloud.v1+json</code>.</p>
- </div>
- </div>
- </div>
- <div class="sect2">
- <h3 id="appendix_hve_project_json"><a class="link" href="#appendix_hve_project_json">Appendix B: Helix Versioning Engine Project JSON</a></h3>
- <div class="paragraph">
- <p>Returns projects that are stored in a single Helix Versioning Engine server.</p>
- </div>
- <div class="paragraph">
- <p>If the <code>HVE_PROJECT_PATH</code> setting is specified, this will return all directories under that path as projects.
- The project <code>id</code> is encoded to be a specific part of a URL.
- It is the application’s responsibility to deal with any reconfiguration of the <code>HVE_PROJECT_PATH</code> setting.
- The project <code>id</code> is only valid for the same setting.</p>
- </div>
- <div class="paragraph">
- <p>The project <code>name</code> is also the name of the directory, just not URL-safe.</p>
- </div>
- <div class="paragraph">
- <p>The <code>server</code> property will include the <code>HVE_PROJECT_PATH</code> setting as the URL path.</p>
- </div>
- <div class="paragraph">
- <p>The content type of this JSON is <code>application/vnd.perforce.project.hve.v1+json</code>.
- The simple string ID is <code>hve</code>.</p>
- </div>
- <div class="sect3">
- <h4 id="_json_structure_2"><a class="link" href="#_json_structure_2">JSON Structure</a></h4>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 33%;">
- <col style="width: 33%;">
- <col style="width: 33%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Required</th>
- <th class="tableblock halign-left valign-top">Description</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>depotPath</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Yes</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The absolute depot path to the folder on the server.</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="sect2">
- <h3 id="appendix_helix_cloud"><a class="link" href="#appendix_helix_cloud">Appendix C: Helix Cloud</a></h3>
- <div class="admonitionblock warning">
- <table>
- <tr>
- <td class="icon">
- <div class="title">Warning</div>
- </td>
- <td class="content">
- We do not yet know the JSON structure from Helix Cloud, and exactly what it will need to provide to the Helix Sync client.
- </td>
- </tr>
- </table>
- </div>
- </div>
- <div class="sect2">
- <h3 id="appendix_config_services"><a class="link" href="#appendix_config_services">Appendix D: Service Configuration JSON</a></h3>
- <div class="sect3">
- <h4 id="_json_structure_3"><a class="link" href="#_json_structure_3">JSON Structure</a></h4>
- <div class="paragraph">
- <p>A service configuration document is a JSON array of objects.
- Each object contains the following properties:</p>
- </div>
- <table class="tableblock frame-all grid-all spread">
- <colgroup>
- <col style="width: 50%;">
- <col style="width: 50%;">
- </colgroup>
- <thead>
- <tr>
- <th class="tableblock halign-left valign-top">Property</th>
- <th class="tableblock halign-left valign-top">Type</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>type</code></p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock">String</p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">The type of service available in the system.
- One of <code>p4d</code>, <code>git-swarm</code>, <code>git-fusion</code>, <code>swarm</code>, or <code>commons</code>.</p></td>
- </tr>
- <tr>
- <td class="tableblock halign-left valign-top"><p class="tableblock"><code>uri</code></p></td>
- <td class="tableblock halign-left valign-top"><p class="tableblock">Array</p></td>
- </tr>
- </tbody>
- </table>
- </div>
- <div class="sect3">
- <h4 id="_stored_format"><a class="link" href="#_stored_format">Stored Format</a></h4>
- <div class="paragraph">
- <p>The service configuration JSON is a file pointed to by the <code>SERVICE_CONFIGURATION</code> variable.
- See <a href="#system_configuration">Configuration</a> for details.</p>
- </div>
- <div class="paragraph">
- <p>It is assumed that the configuration is maintained by the system administrator.
- Edits to files should be coordinated across all HWS instances.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div id="footer">
- <div id="footer-text">
- Version 2015.1.alpha<br>
- Last updated 2015-09-14 21:34:36 UTC
- </div>
- </div>
- </body>
- </html>