jdcargile / ms-teams-notification

GitHub Action to send a Microsoft Teams notification
MIT License
70 stars 76 forks source link

TypeError: Cannot read property 'avatar_url' or null #4

Open mpconte opened 4 years ago

mpconte commented 4 years ago

Hello,

I can't reproduce this all the time, but maybe every other time I get the following error:

`TypeError: Cannot read property 'avatar_url' of null at Object.createMessageCard (C:\Users\rdbot\Desktop\action-runners\pdp_utils_work_actions\jdcargile\ms-teams-notification\v1.2\dist\index.js:2341:39) at C:\Users\rdbot\Desktop\action-runners\pdp_utils_work_actions\jdcargile\ms-teams-notification\v1.2\dist\index.js:2959:54 at Generator.next () at fulfilled (C:\Users\rdbot\Desktop\action-runners\pdp_utils_work_actions\jdcargile\ms-teams-notification\v1.2\dist\index.js:2906:58) at processTicksAndRejections (internal/process/task_queues.js:93:5)

[error]Cannot read property 'avatar_url' of null`

jdcargile commented 4 years ago

@mpconte, do you have a user that is making commits that doesn't have an avatar? I can test this myself, but curious whether you're seeing any consistency from the users who commit who are seeing this issue?

mpconte commented 4 years ago

Yes, I'm performing the commit and I don't have an avatar in Microsoft Teams and I think someone else makes commits too but does have one. Does an avatar have to be necessary?

jdcargile commented 4 years ago

Thanks! I will take a look at this before the end of the week.

jdcargile commented 4 years ago

@mpconte, this is referencing the author of the commit in GitHub. I can see that you have an avatar in GitHub. Do you have an automated task that is creating the commits for you when it fails?

mpconte commented 4 years ago

@jdcargile My gihub workflow using this action doesn't run on commits (sorry), I have it set as a workflow_dispatch to checkout changes, build and package it and notify microsoft teams at the end if the previous steps succeed.

vtrusevich-incomm commented 4 years ago

It looks like the issue is reproduced, when the last commit is made by the user, whose email is not registered in GitHub

vtrusevich-incomm commented 4 years ago

@jdcargile , I see, that the author is taken from commit here https://github.com/jdcargile/ms-teams-notification/blob/a94290dd26cfcbe65dee7b4fbb171401d060ceef/dist/index.js#L2958. Looks like it is needed to add some checks on author existence before building the card

dnepusb2 commented 3 years ago

Hey, I am running into the same issue....any good news?

tsposato commented 3 years ago

I'm also running into this issue, is there any progress on a fix? Error is here: TypeError: Cannot read property 'avatar_url' of null at Object.createMessageCard (/home/runner/work/_actions/jdcargile/ms-teams-notification/v1.2/dist/index.js:2341:39) at /home/runner/work/_actions/jdcargile/ms-teams-notification/v1.2/dist/index.js:2959:54 at Generator.next () at fulfilled (/home/runner/work/_actions/jdcargile/ms-teams-notification/v1.2/dist/index.js:2906:58) at processTicksAndRejections (internal/process/task_queues.js:93:5) Error: Cannot read property 'avatar_url' of null

jdcargile commented 3 years ago

Thank you all for your comments and questions. What would you suggest we use for the author if it is not found? Should I do a default avatar image or omit the image altogether?

dnepusb2 commented 3 years ago

He JD, Thanks for the quick follow up. From my perspective:

Cheers and thanks again!

tsposato commented 3 years ago

Sounds good to me.

jdcargile commented 3 years ago

This is fixed in #7. To pick up the new version, update your action version to use v1.3. See snippet below for more information.

uses: jdcargile/ms-teams-notification@v1.3

tsposato commented 3 years ago

I updated to 1.3 but I still received the same error.

jdcargile commented 3 years ago

I updated to 1.3 but I still received the same error.

@tsposato, can you try using uses: jdcargile/ms-teams-notification (don't provide the version so it grabs master)? If that works I will create another release. I just pushed what I think will fix this finally.

tsposato commented 3 years ago

@tsposato, can you try using uses: jdcargile/ms-teams-notification (don't provide the version so it grabs master)? If that works I will create another release. I just pushed what I think will fix this finally.

Will do. Not sure I'll get to test this until Monday as 5pm has rolled around but I'll let you know the outcome as soon as I can.

tsposato commented 3 years ago

The other weird thing is that the person in question does actually have an avatar set. Unless I'm misunderstanding the way it retrieves an avatar. Is there something strange about how GitHub does things avatar wise I'm not getting?

jdcargile commented 3 years ago

This might not be fixed then. Perhaps I need to query the user directly before trying to grab their information. I can look into this more tomorrow.

tsposato commented 3 years ago

Slightly different error when using master now @jdcargile :

TypeError: Cannot read property 'login' of null at Object.createMessageCard (/home/runner/work/_actions/jdcargile/ms-teams-notification/master/dist/index.js:2461:85) at /home/runner/work/_actions/jdcargile/ms-teams-notification/master/dist/index.js:3090:54 at Generator.next () at fulfilled (/home/runner/work/_actions/jdcargile/ms-teams-notification/master/dist/index.js:3044:58) at processTicksAndRejections (internal/process/task_queues.js:93:5) Error: Cannot read property 'login' of null

tsposato commented 3 years ago

Ok, so after some more digging it turns out the user had incorrectly spelt their email in their git user.email settings on one of their clients, hence why the user isn't being linked to their github account correctly. I think it should still probably be 'caught' instead of just failing completely though. Maybe just grab the name from the commit message and use that default avatar.

akshata-kenchanagudd commented 3 years ago

Hi @jdcargile,

Getting the below error when using "uses: jdcargile/ms-teams-notification" instead of uses: jdcargile/ms-teams-notification@v1.3. Kindly suggest. The workflow is not valid. .github/workflows/terraform-validate.yml (Line: 182, Col: 17): Expected format {org}/{repo}[/path]@ref. Actual 'jdcargile/ms-teams-notification' Input string was not in a correct format.

stuartforrest-infinity commented 3 years ago

@jdcargile can you release a v1.4 that includes this commit - https://github.com/jdcargile/ms-teams-notification/commit/3e536e08814945d8518044475b58e52e01881d02?

gspindev commented 3 years ago

@jdcargile facing same issue - using v1.3

TypeError: Cannot read property 'avatar_url' of null at Object.createMessageCard (/home/runner/work/_actions/jdcargile/ms-teams-notification/v1.3/dist/index.js:2446:16) at /home/runner/work/_actions/jdcargile/ms-teams-notification/v1.3/dist/index.js:3088:54 at Generator.next () at fulfilled (/home/runner/work/_actions/jdcargile/ms-teams-notification/v1.3/dist/index.js:3042:58) at processTicksAndRejections (internal/process/task_queues.js:93:5) Error: Cannot read property 'avatar_url' of null

rwetzeler commented 3 years ago

The other weird thing is that the person in question does actually have an avatar set. Unless I'm misunderstanding the way it retrieves an avatar. Is there something strange about how GitHub does things avatar wise I'm not getting?

We experienced this exact problem. When I dug in further, it appears that the author, was different than who committed... that author wasn't registered in GitHub from Name and email, but SSH keys are.. so he is a valid contributor on the repository, but GitHub doesn't recognize the email he committed with (because he didn't add that in his profile), yet his SSH key's re valid to commit.

I propose that if avatar_url fails, you put in a default avatar image, instead of failing the job.

image

825i commented 3 years ago

The other weird thing is that the person in question does actually have an avatar set. Unless I'm misunderstanding the way it retrieves an avatar. Is there something strange about how GitHub does things avatar wise I'm not getting?

We experienced this exact problem. When I dug in further, it appears that the author, was different than who committed... that author wasn't registered in GitHub from Name and email, but SSH keys are.. so he is a valid contributor on the repository, but GitHub doesn't recognize the email he committed with (because he didn't add that in his profile), yet his SSH key's re valid to commit.

I propose that if avatar_url fails, you put in a default avatar image, instead of failing the job.

image

Hi mate, have you got a pull request that shows how to fix this? Most of our users do not have avatars.

mariam-alexander commented 2 years ago

Is there a fix for this issue yet ?

lumos94 commented 2 years ago

same here, started having this issue since yesterday! all was good until suddenly it stopped! the weird thing is that this happens only to 1 of my projects. in the other projects it works fine!

dennisgroisman commented 2 years ago

Having this issue since last week. Looks like 3e536e0 fixes it @jdcargile ?

EvgeniyRub commented 2 years ago

anibody fixed this issue already?

bfernandes-d commented 2 years ago

Any news on this bug ?

dimitar-cp commented 2 years ago

This started appearing today. Any news on the fix?

LeonSnajdr commented 2 years ago

I looked at the forks and searched for a fix, one fixed the bug in this pre-release https://github.com/TBCTSystems/ms-teams-notification/releases/tag/v1.3.1

LeonSnajdr commented 2 years ago

Maybe someone can create a pull request if it works for you too.

silveiratalita commented 2 years ago

try this, for me it works! Only this, and remove other parameters.

elubikowski commented 2 years ago

You have to have git user configured globally. I was using custom configuration without global settings. Adding as follows fixed the issue. Obviously provide your values between double-quotes ;)

git config --global user.name "your_username" git config --global user.email "your@email.com"

gfrid commented 1 year ago

this is still not fixed in 1.3 getting the same error, i think the owner of code does not continue to support this code i will move to another one

TypeError: Cannot read property 'avatar_url' of null at Object.createMessageCard (/runner/_work/_actions/jdcargile/ms-teams-notification/v1.3/dist/index.js:2446:16) at /runner/_work/_actions/jdcargile/ms-teams-notification/v1.3/dist/index.js:3088:54 at Generator.next () at fulfilled (/runner/_work/_actions/jdcargile/ms-teams-notification/v1.3/dist/index.js:3042:58) at processTicksAndRejections (internal/process/task_queues.js:97:5) Error: Cannot read property 'avatar_url' of null

bkagan98 commented 8 months ago

Was this avatar_url issue ever fixed? We're still getting this error with v1.3...

kimbalabhay commented 6 months ago

Was this avatar_url issue ever fixed? We're still getting this error with v1.3...

same here

nmacri commented 1 week ago

@bkagan98 @kimbalabhay Confirming that we are seeing the avatar_url issue fixed on v1.4