List all contributors and their languages in one org #24735
-
How can I get a organization’s all contributors and languages they have used in all the repos they have contributed to? purpose is to build a skill pool for all team members who have contributed in the same organization. Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
If I’m not mistaken, this is not directly possible with GraphQL. You may need to separate query all the developers, then all the commits they made, and then infer a language that was used for that file. Note that this query only sounds simple, as long as you don’t consider all the edge cases. For example, there might be cases when one file corresponds to different languages (the most typical example is SQL in source files of other languages, HTML in JS, etc). Or some files may be code-generated, formatted in that commit, etc. At the end you will have to specify what all those factors mean for your specific use case by writing the code that resolves them. |
Beta Was this translation helpful? Give feedback.
-
Thank you for the reply! there seems a limit for nodes, when the organization has many commits, may not able to query all of them. not sure any idea to get the whole list. |
Beta Was this translation helpful? Give feedback.
-
There’s definitely a limit on the nodes returned from a single query, so you may need to paginate using cursors (see example here). |
Beta Was this translation helpful? Give feedback.
If I’m not mistaken, this is not directly possible with GraphQL.
You may need to separate query all the developers, then all the commits they made, and then infer a language that was used for that file.
Note that this query only sounds simple, as long as you don’t consider all the edge cases.
For example, there might be cases when one file corresponds to different languages (the most typical example is SQL in source files of other languages, HTML in JS, etc). Or some files may be code-generated, formatted in that commit, etc.
At the end you will have to specify what all those factors mean for your specific use case by writing the code that resolves them.