appveyor / ci

AppVeyor community support repository
https://www.appveyor.com
344 stars 65 forks source link

Account issue. Integration & Authorization between GitHub/GitLab/Bitbucket/Email #2811

Open 3F opened 5 years ago

3F commented 5 years ago

Hi AppVeyor team,

I'm a little bit confused, so please explain me what to do, or please fix my problem below :(

how did it begin

Since 2013 I have the same named accounts for GitHub, GitLab, and Bitbucket. Meet @3F I joined AppVeyor in ~ 2014/2015 when I was using Bitbucket as the main place.

However, my account has been registered as 3Fs in that period to avoid any 3rd accessing to my private repositories on Bitbucket.

So, I have this:

Then, I finally migrated to primary use GitHub in the end of 2016. And before this, I was also trying to change 'BitBucket repositories' to similar repo from github. Here's conversation with Feodor Fitsner:

https://help.appveyor.com/discussions/questions/1983-how-to-change-bitbucket-repository-on-similar-repo-from-github

today

Today, I noticed a warning when I was trying to change my email address:

A user with specified email already exists.

After resetting password and login in via this email, I noticed my empty an 3F account:

However, when I use oauth via GitHub my login is 3Fs that I mentioned above.

Of course I can try to change e-mail from both account manually, but I have other problems:

Continuous integration has not been set up 

For example: https://github.com/3F/LuNari/pull/3

The build of this PR: https://ci.appveyor.com/project/3Fs/lunari/build/build-32 p.s.: Ignore build error, I just forgot to change to modern compiler from VS2017

There I have configured event for PRs. Here's not: https://github.com/3F/hMSBuild/pull/6

Thus, this probably because of 3F & 3Fs accounts between oauth GitHub and via email authorization. Or I don't know what is going on.

Maybe there's also my old oauth Bitbucket, I don't remember.

As you can see, webhooks works well (see for example build-32 above).

The question is

How to combine this accounts? or just fix PR's CI has not been set up ?

But! The most important note:

I have lot of links to 3Fs build logs, for example:

So I need at least redirect 3Fs -> 3F if it will.

Or any other solutions / clarifications for this case o_o

Thanks,

IlyaFinkelshteyn commented 5 years ago

@3F :

3F commented 5 years ago

@IlyaFinkelshteyn Thanks for the reply, Ilya

navigate to GitHub, revoke access and authorize GitHub again.

I've already tried before. Therefore, I'll try this again after removing other account.

Because when I use oauth via GitHub my login is 3Fs. But my @3F email (see my GitHub profile) has been configured exactly in empty 3F (AppVeyor). That is, vice versa and more probably this is main reason.

We can delete 3F account for you, but we need email request from that account owner email (to team at appveyor.com).

No problem, but before this please clarify more about renaming 3Fs to 3F.

After that you can rename 3Fs account

Is it similar to renaming projects on GitHub? I mean, can I still link to old addresses when it will be renamed?

To be sure, the following links below points to one place:

So what about AppVeyor for https://ci.appveyor.com/project/3Fs/vssolutionbuildevent/build/build-178 (etc) after changing account name?

IlyaFinkelshteyn commented 5 years ago

If you rename the account, account part in URL will be changed, old URL will not work.

3F commented 5 years ago

Is this possible to add some redirects for existing projects specially for 3Fs -> 3F ?

If not, more probably I will leave an old 3Fs name because of lot of media resources that already points to this. Moreover, someone may just use this deleted account name later as I understand.

I need to think.

On 15.01.2019 1:39, Ilya Finkelshteyn wrote:

If you rename the account, account part in URL will be changed, old URL will not work.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/appveyor/ci/issues/2811#issuecomment-454188798, or mute the thread https://github.com/notifications/unsubscribe-auth/ADGJ_TZd1OJu-H4DZqL0LZ-ZyF-2cnbVks5vDQcsgaJpZM4Z-r3z.

IlyaFinkelshteyn commented 5 years ago

Sorry, we cannot set redirects you asking for. If you decide to leave 3F, but still what to login to 3Fs with that email, you an add that user as a Collaborator.

3F commented 5 years ago

I see.

Well, I think to continue use 3Fs and just delete empty 3F (auto registered from GitHub oauth svc).

Without considering the inconvenience, the current renaming feature even unsafe because anyone may fake this data including artefacts (each 6 month, just provide the same builds with infected binaries for old urls) etc. I'm exaggerating, but ... it might work.

Okay, then I just need to fix PR's integration problem.

I sent the request via that email.

[ The letter's content ]
Hi AppVeyor team, I continue request from https://github.com/appveyor/ci/issues/2811 Please delete my automatically created an empty 3F account: https://ci.appveyor.com/project/3F/ To finally fix oauth GitHub problems that was described in #2811. Thanks,

After removing 3F, I'll change email for 3Fs, then revoke access, and will try authorize again via oauth GitHub.
IlyaFinkelshteyn commented 5 years ago

OK, we deleted it. Please keep us in touch with your other issues.

3F commented 5 years ago

Now I also see AppVeyor CI from [Authorized OAuth Apps]. Before, only AppVeyor !

And now I also see list of projects from GitHub in "Select repository" (AppVeyor)

However, it seems I need to convert my current projects from generic type to GitHub (I'm still watching "Continuous integration has not been set up")

Can you change type for all existing? Or where I can do it myself ?

Like it was for bitbucket issue. Without losing data of course.

IlyaFinkelshteyn commented 5 years ago

@3F It is much cleaner to create them from the scratch. If by data you mean build history, we can move it from old ones to the new per your request.

3F commented 5 years ago

Ilya,

I need to save all configured settings (Env, Build, Scripts, Artefacts, Deployments, ...), Build logs, and related info about unit tests. The binary files (artifacts, cache, etc) are not so important.

15 projects. It would be nice to see some Import/Export/Clone for projects in AppVeyor. I only see Export to YAML (to use as appveyor.yml from repo)

Also, don't forget about Auth/API tokens, Badges status Id that I need to update for each Readme.md and other places! This is really difficult.

we can move it from old ones to the new per your request.

In past, Feodor could just update type from Bitbucket to GitHub:

I've updated that project's type to GitHub.

By the way, I think we all need to have some feature for changing an project type by itself:

I don't know, I think I will just ignore not full integration with GitHub. Because this all works at least for webhooks. The other actions "from the scratch" requires lot of updating, including src.

But anyway, for some day it may be problem again, when for example, I can migrate to other service like GitLab. hmmm

IlyaFinkelshteyn commented 5 years ago

With proper GitHub projects you can store configuration in appveyor.yml. So you can export everything with Export YAML button, save the file in your repo and newly created GitHub project will use it.

Not sure I understand what Auth/API tokens are you about. If they are for some other services and you store them as environment variables, you simple press "lock" near them to make them encrypted. So they will be exported to the appveyor.yml in encrypted form which is totally safe. AppVeyor API tokens are account-wide and unrelated to project. Changing badge is matter of copying new badge URL from the project's Badges tab.

Switching project from Git to GitHub will require comparable amount of manual work. I would recommend to try it for some single project and see how it goes.

3F commented 5 years ago

appveyor.yml

To be sure, to import settings I need as follows:

Right?

Changing badge is matter of copying new badge URL from the project's Badges tab.

For each project, I need to update all related files where an old url is already used: readme files, web sites-documentation, other release services like sourceforge for my vssbe, etc.

Well, I'll think about this. Thanks.

3F commented 5 years ago

I've received notice from GitHub:

bug

Do you know what is it, or what I should to do ? Because I can't click this button anyway. I did not change anything after this - https://github.com/appveyor/ci/issues/2811#issuecomment-454494225

upd: I mean, does it related to anything from this issue?

IlyaFinkelshteyn commented 5 years ago

Regarding this GitHub notice. You probably started setting up AppVeyor with GitHub marketplace some day. Not sure why it was needed as your AppVeyor account is set up already.

Regarding links to the project. If you worry about changed project slug (last part of URL), it can be renamed with API (sample) after original project deleted, or it's slug renamed.