tag:help.appveyor.com,2012-11-13:/discussions/problems/370-cant-access-visual-studio-onlineAppVeyor: Discussion 2018-08-25T01:45:36Ztag:help.appveyor.com,2012-11-13:Comment/332254132014-06-02T13:51:52Z2014-06-02T13:51:52ZCant access Visual Studio Online <div><p>Hi Adam,</p>
<p>I will take a look into it. Thanks for your report.</p>
<ul>
<li>Feodor</li>
</ul></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/332254132014-06-02T18:32:00Z2014-06-02T18:32:00ZCant access Visual Studio Online <div><p>If you open developer tools in browser (F12) do you see any
error while requesting the list of VSO repositories from API?</p>
<p>How many VSO accounts and GIT repositories do you have?</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/332254132014-06-02T20:22:28Z2014-06-02T20:22:30ZCant access Visual Studio Online <div><p>I have the same issue. I created the account using VS Online
credentials but cant connect to repo</p>
<p>Jay</p></div>Jaytag:help.appveyor.com,2012-11-13:Comment/332254132014-06-02T20:33:53Z2014-06-02T20:33:53ZCant access Visual Studio Online <div><p>clicking on add project:- GET <a href=
"https://ci.appveyor.com/api/repositories/gitHub">https://ci.appveyor.com/api/repositories/gitHub</a>
403 (Forbidden)
app-js?v=ntaLT11MsBuGHy31QDDq_gZqR4yosLM2FIMqrpF9WgQ1:1</p>
<p>clicking on VSO I don't get any error messages on the console.
The SignalR connection gets logged but that is all. I have 13
project in my repository all running as tfs not git. Some of the
project have several branches in.</p>
<p>Adam Clifford</p></div>Adam Cliffordtag:help.appveyor.com,2012-11-13:Comment/332254132014-06-02T20:41:59Z2014-06-02T20:41:59ZCant access Visual Studio Online <div><p>Ah, I see. AppVeyor is looking for Git projects only and
returning empty list keeps displaying it "loading" behavior.</p>
<p>Do you guys both have TFS repos only?</p>
<p>I'd love to explore a possibility of supporting TFS
repositories, besides we have an API for that: <a href=
"http://www.visualstudio.com/integrate/reference/reference-vso-version-control-overview-vsi">
http://www.visualstudio.com/integrate/reference/reference-vso-versi...</a>.</p>
<p>Let me know if you want to become early-adopters of this
feature.</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/332254132014-06-03T07:36:36Z2014-06-03T07:36:37ZCant access Visual Studio Online <div><p>Yes I have just TFS repositories, as it fits in with the way
that we develop our products.<br>
I would love to be an early adopter to try to help.</p>
<p>Adam Clifford</p></div>Adam Cliffordtag:help.appveyor.com,2012-11-13:Comment/332254132014-06-03T16:42:28Z2014-06-03T16:42:28ZCant access Visual Studio Online <div><p>Great, I'll keep you posted!</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/332254132014-06-05T13:22:26Z2014-06-05T13:22:28ZCant access Visual Studio Online <div><p>I'm very interested in it as well since I'm using TFS online as
well. Yes, early-adopter, please!<br>
:-)</p></div>maarten.oosterhofftag:help.appveyor.com,2012-11-13:Comment/332254132014-06-05T16:26:53Z2014-06-05T16:26:53ZCant access Visual Studio Online <div><p>Very well! :) Will publish an RFC for TFVC integration
today.</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/332254132014-06-05T19:28:33Z2014-06-05T19:28:33ZCant access Visual Studio Online <div><p>OK, this is how we think TFVC integration could be done in
AppVeyor:</p>
<h1><a href="#adding-a-new-project" class="anchor" name=
"adding-a-new-project" id="adding-a-new-project"></a>Adding a new
project</h1>
<p><strong>Selecting repository</strong></p>
<p>TFVC does not have a notion of "repository", but it's
hierarchical structure where the project root can be on any level
of the tree. AppVeyor UI will be presenting expandable tree to
select any path beneath <code>$/</code> that will be a
<strong>project path</strong>:</p>
<pre>
<code>- $/MyTeamProject
- Projects
+ ProjectA <-- we select this folder
+ ProjectA-dev-branch <-- this is a branch
+ $/AnotherTeamProject</code>
</pre>
<p>For the example above we select "ProjectA" folder which will
setup a new project with
<code>$/MyTeamProject/Projects/ProjectA</code> as "Project
repository" and <code>master</code> as "Default branch" (both on
General tab of project settings).</p>
<p>To specify a custom "Default branch" you can put either the last
part of branch's path or the full path to a branch, for our example
it's <code>ProjectA-dev-branch</code> or
<code>$/MyTeamProject/Projects/ProjectA-dev-branch</code>
respectively.</p>
<p><strong>Setting up webhook</strong></p>
<p>AppVeyor will automatically configure a new VSO webhook for TFVC
check-in event with "Under path" value of
<code>$/MyTeamProject</code> (root folder) to be able to catch
check-ins into project branches.</p>
<h1><a href="#starting-a-build-from-ui" class="anchor" name=
"starting-a-build-from-ui" id=
"starting-a-build-from-ui"></a>Starting a build from UI</h1>
<p>This is how it will work when you click "New build" button on
UI:</p>
<ol>
<li>AppVeyor will query
<code>$/MyTeamProject/Projects/ProjectA</code> path for the
<strong>last changeset</strong> - this will be shown as "commit" on
AppVeyor UI.<br></li>
<li>If "Default branch" is not <code>master</code> AppVeyor will
query TFVC for the list of all branches for
<code>$/MyTeamProject/Projects/ProjectA</code> path and will try to
match "Default branch" value against the list. If configured
"Default branch" is not found an error will be thrown; otherwise
branch's path will be used to download project sources.<br></li>
</ol>
<h1><a href="#starting-a-build-for-every-check-in" class="anchor"
name="starting-a-build-for-every-check-in" id=
"starting-a-build-for-every-check-in"></a>Starting a build for
every check-in</h1>
<p>Every check-in to TFVC repository will trigger webhook and pass
webhook ID and <strong>changeset</strong> of your check-in to
AppVeyor.<br>
Using webhook ID AppVeyor will locate a project and its TFVC path,
in our example it's
<code>$/MyTeamProject/Projects/ProjectA</code>.</p>
<blockquote>
<p>A principal difference here from Git or Mercurial is that a
single TFVC check-in can contain changes to multiple projects and
branches across repository, so <em>AppVeyor will analyze all
changes</em> of the changeset to understand an "affected area".</p>
</blockquote>
<p>Suppose, in a single check-in we made some changes below
<code>$/MyTeamProject/Projects/ProjectA</code> (main branch) and
<code>$/MyTeamProject/Projects/ProjectA-dev-branch</code> (branch)
nodes of our repository. First, AppVeyor will make sure that
<code>$/MyTeamProject/Projects/ProjectA-dev-branch</code> is in the
list of <code>ProjectA</code> branches and if this is the case it
will start two builds: one for
<code>$/MyTeamProject/Projects/ProjectA</code> project and the
second for
<code>$/MyTeamProject/Projects/ProjectA-dev-branch</code> branch.
If there were changes in other areas of TFVC repository that are
not beneath project path or one of its branches those changes won't
trigger a new build. Other words, a <strong>single check-in to TFVC
could start more than one build in AppVeyor</strong>.</p>
<p>Let us know if you have any questions or comments.</p></div>Feodor Fitsnertag:help.appveyor.com,2012-11-13:Comment/332254132014-06-18T04:15:50Z2014-06-18T04:15:50ZCant access Visual Studio Online <div><p>We've just deployed AppVeyor update with TFVC support and you
are welcome to give it a try!</p>
<p>Setup is pretty straightforward - go to New project, expand TFVC
node down to a project folder and click Add on it.</p>
<p>Let me know if you have any questions!</p></div>Feodor Fitsner