GitHub v6.7.3 published on Thursday, Jul 24, 2025 by Pulumi
github.getUsers
Use this data source to retrieve information about multiple GitHub users at once.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as github from "@pulumi/github";
// Retrieve information about multiple GitHub users.
const example = github.getUsers({
usernames: [
"example1",
"example2",
"example3",
],
});
export const validUsers = example.then(example => example.logins);
export const invalidUsers = example.then(example => example.unknownLogins);
import pulumi
import pulumi_github as github
# Retrieve information about multiple GitHub users.
example = github.get_users(usernames=[
"example1",
"example2",
"example3",
])
pulumi.export("validUsers", example.logins)
pulumi.export("invalidUsers", example.unknown_logins)
package main
import (
"github.com/pulumi/pulumi-github/sdk/v6/go/github"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Retrieve information about multiple GitHub users.
example, err := github.GetUsers(ctx, &github.GetUsersArgs{
Usernames: []string{
"example1",
"example2",
"example3",
},
}, nil)
if err != nil {
return err
}
ctx.Export("validUsers", example.Logins)
ctx.Export("invalidUsers", example.UnknownLogins)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Github = Pulumi.Github;
return await Deployment.RunAsync(() =>
{
// Retrieve information about multiple GitHub users.
var example = Github.GetUsers.Invoke(new()
{
Usernames = new[]
{
"example1",
"example2",
"example3",
},
});
return new Dictionary<string, object?>
{
["validUsers"] = example.Apply(getUsersResult => getUsersResult.Logins),
["invalidUsers"] = example.Apply(getUsersResult => getUsersResult.UnknownLogins),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.github.GithubFunctions;
import com.pulumi.github.inputs.GetUsersArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Retrieve information about multiple GitHub users.
final var example = GithubFunctions.getUsers(GetUsersArgs.builder()
.usernames(
"example1",
"example2",
"example3")
.build());
ctx.export("validUsers", example.logins());
ctx.export("invalidUsers", example.unknownLogins());
}
}
variables:
# Retrieve information about multiple GitHub users.
example:
fn::invoke:
function: github:getUsers
arguments:
usernames:
- example1
- example2
- example3
outputs:
validUsers: ${example.logins}
invalidUsers: ${example.unknownLogins}
Using getUsers
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getUsers(args: GetUsersArgs, opts?: InvokeOptions): Promise<GetUsersResult>
function getUsersOutput(args: GetUsersOutputArgs, opts?: InvokeOptions): Output<GetUsersResult>
def get_users(usernames: Optional[Sequence[str]] = None,
opts: Optional[InvokeOptions] = None) -> GetUsersResult
def get_users_output(usernames: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetUsersResult]
func GetUsers(ctx *Context, args *GetUsersArgs, opts ...InvokeOption) (*GetUsersResult, error)
func GetUsersOutput(ctx *Context, args *GetUsersOutputArgs, opts ...InvokeOption) GetUsersResultOutput
> Note: This function is named GetUsers
in the Go SDK.
public static class GetUsers
{
public static Task<GetUsersResult> InvokeAsync(GetUsersArgs args, InvokeOptions? opts = null)
public static Output<GetUsersResult> Invoke(GetUsersInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options)
public static Output<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options)
fn::invoke:
function: github:index/getUsers:getUsers
arguments:
# arguments dictionary
The following arguments are supported:
- Usernames List<string>
- List of usernames.
- Usernames []string
- List of usernames.
- usernames List<String>
- List of usernames.
- usernames string[]
- List of usernames.
- usernames Sequence[str]
- List of usernames.
- usernames List<String>
- List of usernames.
getUsers Result
The following output properties are available:
- Emails List<string>
- list of the user's publicly visible profile email (will be empty string in case if user decided not to show it).
- Id string
- The provider-assigned unique ID for this managed resource.
- Logins List<string>
- list of logins of users that could be found.
- Node
Ids List<string> - list of Node IDs of users that could be found.
- Unknown
Logins List<string> - list of logins without matching user.
- Usernames List<string>
- Emails []string
- list of the user's publicly visible profile email (will be empty string in case if user decided not to show it).
- Id string
- The provider-assigned unique ID for this managed resource.
- Logins []string
- list of logins of users that could be found.
- Node
Ids []string - list of Node IDs of users that could be found.
- Unknown
Logins []string - list of logins without matching user.
- Usernames []string
- emails List<String>
- list of the user's publicly visible profile email (will be empty string in case if user decided not to show it).
- id String
- The provider-assigned unique ID for this managed resource.
- logins List<String>
- list of logins of users that could be found.
- node
Ids List<String> - list of Node IDs of users that could be found.
- unknown
Logins List<String> - list of logins without matching user.
- usernames List<String>
- emails string[]
- list of the user's publicly visible profile email (will be empty string in case if user decided not to show it).
- id string
- The provider-assigned unique ID for this managed resource.
- logins string[]
- list of logins of users that could be found.
- node
Ids string[] - list of Node IDs of users that could be found.
- unknown
Logins string[] - list of logins without matching user.
- usernames string[]
- emails Sequence[str]
- list of the user's publicly visible profile email (will be empty string in case if user decided not to show it).
- id str
- The provider-assigned unique ID for this managed resource.
- logins Sequence[str]
- list of logins of users that could be found.
- node_
ids Sequence[str] - list of Node IDs of users that could be found.
- unknown_
logins Sequence[str] - list of logins without matching user.
- usernames Sequence[str]
- emails List<String>
- list of the user's publicly visible profile email (will be empty string in case if user decided not to show it).
- id String
- The provider-assigned unique ID for this managed resource.
- logins List<String>
- list of logins of users that could be found.
- node
Ids List<String> - list of Node IDs of users that could be found.
- unknown
Logins List<String> - list of logins without matching user.
- usernames List<String>
Package Details
- Repository
- GitHub pulumi/pulumi-github
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
github
Terraform Provider.